پروژه یا مدار الکترونیکی کنترل لوازم خانگی با بلوتوث، تفاوت اصلی خانه های هوشمند با خانه های معمولی در این است که همه ی وسایل در خانه های هوشمند به یکدیگر متصل هستند و با یک دستگاه مرکزی کنترل می شوند. کنترل آب و هوا، چراغ ها، لوازم، قفل ها و انواع مختلفی از دوربین ها و مانتیورهایی که می توانند به خانه های هوشمند و خودکار اضافه شوند از هر جای خانه و حتی دور از خانه قابل کنترل می باشند.
ایجاد این اتصالات از روش گوناگون قابل انجام است. سیستم های اختصاصی ای وجود دارند که ویژه ی خانه های هوشمند ساخته شده اند مانند Z-Wave Zigbee ،KNX و Control4 .
ما می توانیم از طریق وای فای و روی بستر اینترنت، این وسایل را کنترل کنیم. همچنین برخی از آن ها ممکن است با بلوتوث هم قابل کنترل باشند؛ در این شرایط حتی می توان بدون استفاده از اینترنت هم آنها را کنترل کرد.
فیلم عملکرد مدار
طرز کار مدار کنترل لوازم خانگی با بلوتوث
هدف از این مدار راه اندازی وسایل برقی و الکتریکی خانگی مانند پنکه ، کولر ، لامپ ها و… با بلوتوث گوشی می باشد. بدین منظور از ماژول بلوتوث که با خروجی سریال می باشد به عنوان رابط بین کاربر و میکرو به صورت بی سیم استفاده می شود و دستور های کاربر توسط گوشی اندروید به میکرو و در نتیجه به رله ها مخابره می گردد. رله ها به عنوان کلید عمل قطع و وصل را به عهده دارند که با توجه به تعداد رله ها ، همان تعداد دستگاه را می توان راه اندازی نمود. ال ای دی های وضعیت نشانگر ارتباط ماژول با کاربر می باشد که بدین ترتیب یک سیستم مرکزی هوشمند ایجاد شده است.
قطعات و اجزای مورد استفاده در پروژه
میکروکنترلر ATmega8 ، ماژول بلوتوث HC-05 ، نرم افزار اندروید BT Device Control ، رگولاتور LF33ABV ، ترانزیستور 2N2222 ، دیود 1N4007 ، رله 5 ولت ، ال ای دی، سلف، مقاومت، سوئیچ، ترمینال و…
میکروکنترلر ATmega8
ATmega8 یک میکروکنترلر 8 بیتی CMOS با توان مصرفی پایین بر مبنای ساختار AVR RISC می باشد. با استفاده از اجرای ساختار های قدرتمند در یک دوره ی Single Clock ، ATmega8 به حد اکثر عملکرد 1 MIPS در هر مگاهرتز می رسد که اجازه می دهد طراح سیستم اجازه می دهد مصرف انرژی را بازای افزایش سرعت پردازش بهینه سازی نماید
ویژگی ها و اطلاعات بیشتر در مورد میکروکنترلر ATMEGA8
هسته Atmel®AVR® ترکیبی از یک ساختار قدرتمند با مجموعه ای از 32 هدف جامع رجیستر فرآیند می باشد. همه 32 رجیستر به طور مستقیم به واحد حساب و منطق (ALU) متصل است که اجازه می دهد دو رجیستر مستقل به یک ساختار اجرا شده در یک سیکل زمانی دسترسی داشته باشند. ساختار حاصل شده زمانی کارآمدتر می باشد که حداکثر ظرفیت تا ده برابر سریع تر از میکروکنترلرهای CISC مرسوم می باشد.
- دو تایمر /کانتر 8 بیتی با Prescaler جدا ، یک حالت مقایسه COMPARE
- یک تایمر/کانتر 16 بیتی با Prescaler جدا، مقایسه نحوه COMPARE، و CAPTURE
- نوسان ساز زمان واقعی کانتر RTC -REAL TIME CLOCK
- سه کانال PWM
- 8کانال مبدل آنالوگ به دیجیتال دربسته بندی TQFP و MLF
- شش کانال با دقت 10 بیتی
- دو کانال با دقت 8 بیتی
- 6 کانال مبدل آنالوگ به دیجیتال در بسته بندی PDIP
- چهار کانال با دقت 10 بیتی
- دو کانال با دقت 8 بیتی
- بایت گرا دو سیم رابط سریال
- قابلیت برنامه ریزی USART
- قابلیت برنامه ریزی با تایمر WATCHDOG جدا بر روی چیپ نوسان ساز
- یک مقایسه کننده آنالوگ داخلی
ولتاژهای عامل (کاری)
- 2.7 تا 5.5 ولت ATmega8L
- 4.5 تا 5.5 ولت ATMEGA8
• فرکانس های کاری
- 8 – 0 مگاهرتز ATmega8L
- 0 – 16 مگاهرتز ATmega8
ماژول بلوتوث HC-05
ماژول بلوتوث HC-05 یک ماژول استاندارد Bluetooth با خروجی سریال می باشد. این ماژول برای ارتباط بین میکروکنترلر و موبایل و تبلت و نیز دو میکرو با یکدیگر با سرعت بالا انتخاب خوبی به شمار می رود. همچنین میتوان با استفاده از این ماژول بین پروژه های ساخته شده با میکرو و lap top های دارای پورت USB و PC های دارای دانگل بلوتوث نیز یک لینک ارتباطی بیسیم از نوع ارتباط سریال برقرار کرد.
نکته مهم::
بعضی از ماژول ها کلاک کاریشون فرق میکنه بعضی ها 38400 هستن و بعضی ها 9600 که توی کد پیش فرض روی 9600 گذاشتم ولی اگر کار نکرد تیکه کد بالاش که کانمتش کردم را فعال و پایینی را غیر فعال کنید.
برای 38400 :
//// USART initialization //// Communication Parameters: 8 Data, 1 Stop, No Parity //// USART Receiver: On //// USART Transmitter: On //// USART Mode: Asynchronous //// USART Baud Rate: 38400 //UCSRA=0x00; //UCSRB=0x98; //UCSRC=0x86; //UBRRH=0x00; //UBRRL=0x0C;
برای 9600 :
// USART initialization // Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On // USART Transmitter: On // USART0 Mode: Asynchronous // USART Baud Rate: 9600 UCSR0A=0x00; UCSR0B=0x98; UCSR0C=0x06; UBRR0H=0x00; UBRR0L=0x33;
ورژن 2 رله ای با ماژول HC05 از نوع برد آماده
خیلی از دوستان درخواست داشتن که این برد را با ماژول HC05 با هدربرد آماده اجرا کنیم تا لحیم کاری پروژه سریع تر باشه و این اتفاق خوشبختانه با کمک یکی از دوستان افتاد و شما میتوانید سورس پروژه جدید را نیز استفاده کنید.
یکسری تغییرات در این مدل اتفاق افتاده ولی خیلی هم تغییر ندادیم که با سورس قبلی سازگار باشه، 2تا رله 2 عدد LED گذاشتیم و مدل ماژول را از SMD به حالت هدر آماده ( هر چی شما اسمشو بذارین) تغییر دادیم و البته میکروکنترلر را بنا به درخواست مجبور شدیم ATMEGA32A بذاریم. میدونم کار درستی نیست ولی حق انتخاب نداشتیم. از این بابت دوستان حرفه ای ببخشن. مدار بازم طبق معمول خیلی ساده است. و شما میتونین حتی با تغییر سورس آن را خیلی کوچولو بسازین میدونین که از این بابت ما مشکلی نداریم.
میکروکنترلر روی فرکانس 8مگاهرتز داخلی تنظیم شده ( قابل تغییر است از داخل نرم افزار کدویژن و بعد از تغییر دوباره کامپایلش کنید.). میدونین که برای تغییر کلاک کاری باید فیوز بیت ها را تغییر بدید. برای دیدن و تغییر فرکانس کاری میکروکنترلر، پروژه را در نرم افزار کدویژن باز کنید و از منو Project گزینه configure را انتخاب کنید و در صفحه ظاهر شده میتونید ببینید. نمونه فیوز بیت های میکروکنترلر تنظیم شده روی 8مگاهرتز داخلی با نرم افزار progisp را در شکل زیر میبینید:
نکته مهم: سورس پروژه 2 رله ای فقط برای گزینه دوم قابل دسترسی است. در ضمن پروژه 2 رله ای توضیحات ندارد. و تقریبا شبیه 4 رله است. پروژه 2 رله ای شامل : سورس برنامه نویسی، شماتیک مدار بصورت فایل PDF با کیفیت، فایل PCB مدار طراحی شده در آلتیوم دیزاینر است. برنامه اندریدی هر دو پروژه یکی است. هر سوالی داشتین در قسمت نظرات مطرح کنید.
دانلود:
توضیحات کامل در داخل فایل توضیحات مدار هستش و همچنین فایل های زیر :
- فایل توضیحات کامل مدار
- فایل شماتیک با کیفیت مدار
- فایل سورس برنامه نویسی
- فایل apk برنامه اندرویدی
- فایل PCB مدار
اگر سوالی داشتین در قسمت کامنت ها ⇓ مطرح کنید.
اگر این نوشته برایتان مفید بود لطفا کامنت بنویسید.
مرسی از پروژه خوبتون
زبان برنامه نویسی این پروژه چیه؟
سلام زبان سی در نرم افزار کدویژن
سلام ایا سورس برنامه اندروید را هم دارید؟
سلام نه سورس برنامه اندرویدی را نداریم در لینک زیر نحوه نوشتن برنامه اندرویدی را میتوانید مشاهده کنید. در داخل فایل یک برنامه آماده برای نصب روی گوشی اندویدی وجود دارد.
https://goo.gl/ad8VMo
سلام خسته نباشید
من مدارمو بستم ماژول بلوتوثم وصله و مانند فیلم عملکرد فلاش میزنه.
ولی رله ها عمل نمیکنه
امکان داره مشکل از برنامه باشه؟؟
سلام . در مورد برنامه که ده ها بار خودم مدار را بستم فقط دو نکته بنظرم میرسه یکی اینکه درست پرگرام نمیشه و دوم اینکه ماژول در مد درست نیست.اگر میتونید بغل ماژول پین هدر گذاشتم برای usart تا ماژول به سیستم وصل بشه … اگر مبدل usb به سریال دارید ماژول را به کامپیوتر وصل کنید و توسط برنامه زیر چک کنید ببیند خروجی usart درست هست یا نه ؟!
http://bit.ly/2kGFALQ
سلام
من پروژه رو دانلود کردم اما فایل کدویژن باز نمیشه error میده مشکل کجاس؟
سلام فایل را چک کردم مشکلی نداشت . احتمالا مشکل از طرف کدویژن شما باشه . بازم از قسمت تماس با ما تماس بگیرید باهم حلش کنیم.
بله مشکل از کدویژن بود نمیدونم فایل برنامه نویسی برنامه فقط در دسکتاپ باز میشه
شرمنده لیست قطعات این پروژه رو برام میفرستین ؟
سلام.وقت بخیر.من پروژه رو خریداری کردم.باید اول روی برد برد میبستم تا …. .طبق شماتیک روی برد برد بستم ولی به جای رله و ترانزیستور ،led گذاشتم با مقاومت.با کلاک های 1 و 2 و 4 و8 مگا آیسی رو پروگرم کردم .ماژول رو هم کانفیگ کردم با ترمینال.گوشی با ماژول ارتباط میگیره چون سرعت چشمک تغییر میکنه ولی هیچ کدوم از خروجی ها روشن نمیشن.گفتم شاید active low باشن ولی وقتی برنامه رو دیدم ،فهمیدم با یک روشن میشه.
اول اینکه بفرمایید با چه کلاکی پروگرام کنم چون فک میکنم روی baudrate تاثیر گذاره.
دوم اینکه مشکل از کجا میتونه باشه.تغذیه میکرو 5 و تغذیه ماژول هم 3.3 رعایت شده.تقسیم ولتاژمقاومتی برای پایه ی سریال ماژول هم درسته.جابه جا ام نزدم.با ولتمتر هم تغذیه و خروجی ها رو چک کردم
سلام . بعضی از ماژول ها کلاک کاریشون فرق میکنه بعضی ها 38400 هستن و بعضی ها 9600 که توی کد پیش فرض روی 9600 کذاشتم ولی اگر کار نکرد تیکه کد بالاش که کانمتش کردم را فعال و پایینی را غیر فعال کنید.
برای 38400 :
//// USART initialization
//// Communication Parameters: 8 Data, 1 Stop, No Parity
//// USART Receiver: On
//// USART Transmitter: On
//// USART Mode: Asynchronous
//// USART Baud Rate: 38400
//UCSRA=0x00;
//UCSRB=0x98;
//UCSRC=0x86;
//UBRRH=0x00;
//UBRRL=0x0C;
برای 9600 :
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART0 Mode: Asynchronous
// USART Baud Rate: 9600
UCSR0A=0x00;
UCSR0B=0x98;
UCSR0C=0x06;
UBRR0H=0x00;
UBRR0L=0x33;
سلام استاد عزیز خسته نباشید.لطفا یک شماره موبایل لطف کنید .من کارتون دارم ممنون
لطفا از طریق قسمت تماس با ما اقدام کنید.
سلام لیست دقیق قطعاتی که استفاده کردید تو فایل خریداری شده هست ممنون میشم جواب بدید
سلام، فایل شماتیک مدار را ببینید تمامی قطعات هستش و عکس مدار را هم دقت کنید که با لیست تطابق داشته باشه از نظر اندازه و نوع پکیج قطعه…بازم سوالی در مورد مدار و قطعات بود بپرسین در خدمتون هستم.
چرا نمیشه فایل رو خریداری کرد
سلام، احتمالا کش مرورگرتون را پاک کنید درست بشه. الان چک کردم مشکلی نداشت. اگر داشت اطلاع بدید بررسی بشه.
سلام
چه تغییراتی باید بدیم برای اینکه بشه برای اتمگا ۸ استفاده کرد؟
سلام، روش ساده این است که کد مدل 4 رله ای را ویرایش کنید و 2 رله ای کنید. روش دیگرش اینکه که میکروکنترلر ATMEGA8 را جایگزین کنید در شماتیک و پایه هایش را توی کد تغییر بدید و کلا تنظیمات پروژه در کدویژن را تغییر بدید در مورد رجیسترهای میکروکنترلر الان یادم نمیاد نیازه یا نه ولی یکبار اگر میتونید مجدد کد رجیسترها را با CodeWizard تولید کنید.
با عرض سلام ایا می شه در این مدار از ماژول های بلوتوث بالاتر یعنی HC_05 یا HC_08 استفاده کنیم
سلام، من با ماژول HC-08 کار نکردم و روی این پروژه هم تست نکردم. ولی اگر از نظر پایهها و کامندها یکسان باشند مشکلی نداره.