پروژه الکترونیکپروژه های آردوینوپروژه های بازی و سرگرمیپروژه های بلوتوثپروژه های تاریخپروژه های ساعت

آموزش کامل پروژه ساعت هوشمند با آردوینو با ماژول بلوتوث HC05 / HC06

سلام. آموزش کامل پروژه ساعت هوشمند با آردوینو با ماژول بلوتوث HC05 / HC06 را آماده کردم. فیلم عملکرد مدار را ببینید !

آموزش کامل پروژه ساعت هوشمند با آردوینو

آموزش کامل پروژه ساعت هوشمند با آردوینو

بیشتر پروژه های آردوینو سایت آیرنکس از ال سی دی کاراکتری 16*2 به عنوان صفحه نمایش استفاده کردیم. LCD کاراکتری ها بسیار محبوب هستند زیرا قیمت خوب و کاربرد فراوان دارند. اما این ال سی دی ها محدودیت فراوانی دارند. به همین دلیل در این پروژه ما از نمایشگر OLED استفاده میکنیم تا اطلاعات گوشی اندروید مانند ساعت ، تاریخ ، سیگنال آنتن و میزان شارژ باتری را در آن نمایش دهیم. این پروژه ایده و چهارچوب اساسی برای ساخت یک ساعت هوشمند مبتنی بر Arduino را فراهم میکند. شما میتوانید با گسترش این پروژه میتوانید تماس های دریافتی ، پیام ها و … را نمایش دهید.

در این پروژه آردوینو ما با استفاده از برنامه اندروید اطلاعات را از تلفن همراه به ماژول بلوتوث ارسال میکنیم و سپس توسط آردوینو اطلاعات را مدیریت کرده و جهت نمایش به نمایشگر OLED میفرستیم. در این پروژه میتوانید از ماژول بلوتوث HC-05 یا HC-06 استفاده کنید. در برنامه Android ، داده ها از تلفن همراه گرفته می شوند و به صورت Aring به Arduino ارسال می شوند. اکنون پس از دریافت داده ها ، Arduino رشته ورودی را رمزگشایی می کند و آن را در متغیرهای موقتی قرار می دهد تا در صفحه نمایش OLED نمایش داده شود.

قطعات مورد نیاز پروژه

  • ماژول نمایشگر OLED SSD1306 64*128
  • برد آردوینو Uno (یا هر برد دیگری ما در این پروژه از آردوینو Pro Mini استفاده کردیم.)
  • ماژول بلوتوث HC-05 یا HC-06
  • باتری لیتیوم یون 3.7 ولت

توضیحات قطعات استفاده شده

در این پروژه ما از برد آردوینو Pro Mini استفاده کرده ایم. دلیل انتخاب این برد این است که میتواند با منبع تغذیه 3.3 ولت کار کند. ماژول 4 پین OLED و ماژول بلوتوث HC-06 هم میتوانند روی ولتاژ 3.3 ولت کار کنند. بنابراین تمام این موارد را میتوانیم با استفاده از باتری 3.7 ولت تغذیه کنیم. باتری لیتیوم یون کم حجم و کم وزن است و برای گجت های پوشیدنی مناسب است. حالا یک سؤال در مورد منبع تغذیه ایجاد می شود این است که در اینجا همه ماژول ها روی 3.3 ولت کار می کنند اما باتری لیتیوم یون 3.7 ولت دارد که ممکن است به ماژول ها آسیب برساند. برای حل این مشکل ، ما باتری 3.7 ولت باتری را به یک پین خام Arduino Pro mini متصل کرده ایم که می تواند آن ولتاژ را به 3.3 ولت تبدیل کند.

حتما ببینید :  پروژه ربات دنبال کننده خط با آردوینو (آموزش کامل ساخت مسیریاب Arduino)

توضیحات ماژول نمایشگر OLED SSD1306 64*128

اصطلاح OLED مخفف Organic Light emitting diode است به معنی دیود تابش نور ارگانیک. این نوع صفحه نمایشگر ها از همان فناوری استفاده شده در بیشتر تلویزیون ها استفاده میکنند اما نسبت به آنها پیکسل های کمتری دارند. استفاده از این نمایشگر ها باعث جذاب تر شدن پروژه های ما میشود. در اینجا ، ما از یک صفحه نمایش OLED تک رنگ 4 پین SSD1306 سایز 0.96 اینچ استفاده می کنیم. این صفحه نمایش فقط می تواند در حالت I2C کار کند.

ماژول نمایشگر OLED SSD1306 64*128
 توضیحات پین های نمایشگر OLED :

  • VCC = ولتاژ 3.3
  • GND = GND
  • SDA = پین فیزیکی 3 (SDA)
  • SCL = پین فیزیکی 5 (SCL)

ما در این پروژه از کتابخانه گرافیکی Adafruit_SSD1306 استفاده کردیم که میتوانید آن را از این لینک دانلود کنید : دانلود کتابخانه های ماژول نمایشگر OLED SSD1306 64*128 + مشخصات

نرم افزار اندروید برای ارسال اطلاعات به آردوینو

برای این ساعت هوشمند مبتنی بر Arduino، یک برنامه Android را در Android Studio ایجاد کرده ایم. برای دانلود این نرم افزار کلیک کنید !

بنابراین کافیست این برنامه را در تلفن اندروید هوشمند خود بارگیری و نصب کنید و سپس بلوتوث را فعال کرده و ماژول HC-06 را با تلفن خود جفت کنید. ممکن است برای جفت کردن ماژول بلوتوث HC-06 از شما رمز عبور بخواهد ، کد پیش فرض پیش فرض 1234 یا 0000 است.

اکنون برنامه را را باز کرده و دستگاه Bluetooth متصل شده به گوشیتان یعنی Bluetooth HC-06 را مطابق تصویر زیر انتخاب کنید :

نرم افزار اندروید برای ارسال اطلاعات به آردوینو

اکنون برنامه OLED داده های گرفته شده از تلفن Android را مطابق شکل زیر نمایش می دهد :

اطلاعات نمایشی روی ساعت هوشمند آردوینو

توضیحات کد دستبند هوشمند Arduino

در خط اول کد زیر ما پین های Software Serial را مشخص کنیم یعنی پین RXD و RXT ماژول بلوتوث را به پین 10 و 11 باید متصل کنیم. و در چهار خط دیگر کتابخانه های مورد نیاز را فراخوانی میکنیم.

SoftwareSerial Serial1(10, 11);
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include "Adafruit_SSD1306.h"

توضیحات کد نمایش ساعت و تاریخ در ماژول نمایشگر OLED : 

نمایش ساعت در ماژول نمایشگر OLED

به تصویر بالا نگاه کنید و سپس توضیحات کد را در قسمت پایین بخوانید تا کاملا متوجه شوید :

void digitalClock()
{
  display.setTextSize(1); // سایز متن را برای تاریخ روی 1 قرار میدهیم
  display.setTextColor(WHITE); //رنگ متن را سفید انتخاب میکنیم.
  display.setCursor(60, 20); // مکان تاریخ را در این قسمت انتخاب میکنیم.
  display.println(dmy); // کد فراخوانی روز و ماه و سال تاریخ
  display.setTextSize(2); // سایز متن را برای ساعت روی 2 قرار میدهیم
  display.setCursor(60, 30); // مکان نمایش ساعت را در این قسمت انتخاب میکنیم.
  display.println(time); // کد فراخوانی ساعت
  display.display();
  delay(2000); // برای 2 ثانیه ساعت و تاریخ نمایش داده شود.
}

توضیحات کد نمایش میزان باتری موبایل در صفحه نمایش OLED :

حتما ببینید :  پروژه اتمل استودیو RFID (آرفید Atmel Studio)

کد نمایش میزان باتری موبایل در صفحه نمایش OLED

به تصویر بالا نگاه کنید و سپس توضیحات کد را در قسمت پایین بخوانید تا کاملا متوجه شوید :

void Battery()
{
  display.clearDisplay(); // دستور پاک سازی صفحه نمایشگر
  display.setTextSize(2); // سایز متن برای نمایش درصد باتری
  display.setTextColor(WHITE); // رنگ متن را سفید انتخاب میکنیم
  display.setCursor(20, 0); // مکان نمایش درصد باتری
  display.print("Bat:"); // نمایش کلمه Bat:
  display.print(battery); // درصد باتری را فراخوانی میکنیم
  display.print("%"); // نمایش علامت درصد
  display.drawRect(14, 20, 80, 40, WHITE); // مربوط به نمایش تصویر باتری 
  display.drawRect(94, 30, 10, 20, WHITE); // مربوط به نمایش تصویر باتری 
  display.fillRect(14, 20, (int)(8 * (battery.toInt()) / 10), 40, WHITE); 
  display.display();
  delay(2000); // برای 2 ثانیه درصد باتری نمایش داده شود.
}

توضیحات کد نمایش میزان سیگنال آنتن موبایل در صفحه نمایش OLED :

کد نمایش میزان سیگنال آنتن موبایل در صفحه نمایش OLED

به تصویر بالا نگاه کنید و سپس توضیحات کد را در قسمت پایین بخوانید تا کاملا متوجه شوید :

void Network()
{
  display.clearDisplay(); // دستور پاک سازی نمایشگر را صادر میکنیم
  display.drawLine(5, 15, 25, 15, WHITE); // کد خط های آنتن
  display.drawLine(5, 15, 14, 30, WHITE); // کد خط های آنتن
  display.drawLine(25, 15, 17, 30, WHITE); // کد خط های آنتن
  display.fillRect(14, 15, 4, 40, WHITE); // کد خط های آنتن
...

فیلم عملکرد مدار : کلیک کنید !

موارد موجود در فایل : شماتیک ، فایل Hex ، فایل آردوینو ، و …
برای دانلود فایل های پروژه ثبت نام کنید، تنها چند ثانیه زمان لازم است. از طریق فرم زیر اقدام کنید.

ایمیل خود را وارد کنید

close
امیدوارم این مطلب برای شما مفید بوده باشد. نظرات ، مشکلات و پیشنهادات خود را در پایین صفحه اعلام کنید مشاهده لیست پروژه های آردوینو
برچسب ها

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را برای شما قرار دهم تا استفاده کنید. خوشحال میشوم نظرات و پیشنهادات شما را بشنوم و مشکلاتتان را پاسخگو باشم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا
بستن
بستن