ساخت ساعت هوشمند با آردوینو و ماژول بلوتوث

سلام. آموزش کامل پروژه ساعت هوشمند با آردوینو با ماژول بلوتوث HC05 / HC06 را آماده کردم. فیلم عملکرد مدار را ببینید !
آموزش کامل پروژه ساعت هوشمند با آردوینو
بیشتر پروژه های آردوینو سایت آیرنکس از ال سی دی کاراکتری 16*2 به عنوان صفحه نمایش استفاده کردیم. LCD کاراکتری ها بسیار محبوب هستند زیرا قیمت خوب و کاربرد فراوان دارند. اما این ال سی دی ها محدودیت فراوانی دارند. به همین دلیل در این پروژه ما از نمایشگر OLED استفاده میکنیم تا اطلاعات گوشی اندروید مانند ساعت ، تاریخ ، سیگنال آنتن و میزان شارژ باتری را در آن نمایش دهیم. این پروژه ایده و چهارچوب اساسی برای ساخت یک ساعت هوشمند مبتنی بر Arduino را فراهم میکند. شما میتوانید با گسترش این پروژه میتوانید تماس های دریافتی ، پیام ها و … را نمایش دهید.
در این پروژه آردوینو ما با استفاده از برنامه اندروید اطلاعات را از تلفن همراه به ماژول بلوتوث ارسال میکنیم و سپس توسط آردوینو اطلاعات را مدیریت کرده و جهت نمایش به نمایشگر OLED میفرستیم. در این پروژه میتوانید از ماژول بلوتوث HC-05 یا HC-06 استفاده کنید. در برنامه Android ، داده ها از تلفن همراه گرفته می شوند و به صورت Aring به Arduino ارسال می شوند. اکنون پس از دریافت داده ها ، Arduino رشته ورودی را رمزگشایی می کند و آن را در متغیرهای موقتی قرار می دهد تا در صفحه نمایش OLED نمایش داده شود.
مدار پروژه ساعت هوشمند با آردوینو

در این پروژه ما از برد آردوینو Pro Mini استفاده کرده ایم. دلیل انتخاب این برد این است که میتواند با منبع تغذیه 3.3 ولت کار کند. ماژول 4 پین OLED و ماژول بلوتوث HC-06 هم میتوانند روی ولتاژ 3.3 ولت کار کنند. بنابراین تمام این موارد را میتوانیم با استفاده از باتری 3.7 ولت تغذیه کنیم. باتری لیتیوم یون کم حجم و کم وزن است و برای گجت های پوشیدنی مناسب است. حالا یک سؤال در مورد منبع تغذیه ایجاد می شود این است که در اینجا همه ماژول ها روی 3.3 ولت کار می کنند اما باتری لیتیوم یون 3.7 ولت دارد که ممکن است به ماژول ها آسیب برساند. برای حل این مشکل ، ما باتری 3.7 ولت باتری را به یک پین خام Arduino Pro mini متصل کرده ایم که می تواند آن ولتاژ را به 3.3 ولت تبدیل کند.
قطعات مورد نیاز پروژه
- ماژول نمایشگر OLED SSD1306 64*128
- برد آردوینو Uno (یا هر برد دیگری ما در این پروژه از آردوینو Pro Mini استفاده کردیم.)
- ماژول بلوتوث HC-05 یا HC-06
- باتری لیتیوم یون 3.7 ولت
توضیحات ماژول نمایشگر OLED SSD1306 64*128
اصطلاح OLED مخفف Organic Light emitting diode است به معنی دیود تابش نور ارگانیک. این نوع صفحه نمایشگر ها از همان فناوری استفاده شده در بیشتر تلویزیون ها استفاده میکنند اما نسبت به آنها پیکسل های کمتری دارند. استفاده از این نمایشگر ها باعث جذاب تر شدن پروژه های ما میشود. در اینجا ، ما از یک صفحه نمایش OLED تک رنگ 4 پین SSD1306 سایز 0.96 اینچ استفاده می کنیم. این صفحه نمایش فقط می تواند در حالت I2C کار کند.

توضیحات پین های نمایشگر 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 :

به تصویر بالا نگاه کنید و سپس توضیحات کد را در قسمت پایین بخوانید تا کاملا متوجه شوید :
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 :

به تصویر بالا نگاه کنید و سپس توضیحات کد را در قسمت پایین بخوانید تا کاملا متوجه شوید :
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 :

به تصویر بالا نگاه کنید و سپس توضیحات کد را در قسمت پایین بخوانید تا کاملا متوجه شوید :
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); // کد خط های آنتن
... برای دانلود فایل ها باید حساب کاربری داشته باشید ثبت نام / ورود








سلام ببخشید الان این پروژه که ما ساعت رو ساختیم چه گونه شارژ میشود ؟؟؟
سلام من این کد: #include رو میزنم اشکال میگیره لطفا راهنمایی کنید
سلام وقت بخیر اگه بتونید رو امکاناتش بیشتر کار کنید بهتره به نطر من لازم نیست اطلاعات رو گوشی نشون بده بهتر بود به جای این ارتفاع سنج یا شیب سنج یا گام شمار و از همه بهتر اینفرارد نصب میسد تا وسایل رو باهاش کنترل میکردیم کاربردی تر بود یا همه ی اینها آپشن باهم داشت بهتر بود…با تشکر
سلام عزیز
شما با مشاهده دوره آردوینو میتونید تغییرات مورد نیازتون رو در پروژه ها بوجود بیارید
سلام وقت بخیر ممنون از سایت خوبتان ببخشید چه چیز هایی را میتوانیم در نمایشگر نمایش دهیم؟؟؟؟
سلام لطفا کد کامل رو بدین ممنونم
سلام عزیز
کد کامل در فایل دانلودی انتهای صفحه قرار داده شده
سلام ببخشید برای این پروژه از چه برنامه جایگزین میتونم استفاده کنم باید تو گوگل چی سرچ کنم.ممنون
سلام عزیز، smart watch arduino رو سرچ کنید
سلام و خسته نباشید
ببخشید برنامه نصب نمیشه ؛ چیکار کنیم؟؟؟؟؟
میشه درستش کنید؟؟
و ینکه از هر ماژول بلوتوث دیگه ای هم میشه استفاده کرد؟؟؟ به غیر از HC-05 و HC-06
سلام عزیز، این پروژه به احتمال زیاد منسوخ شده است.
سلام برنامه ای که گفتید نصب نمیشه و من الان گیربرنامه هستم میشه درستش کنید