جدول المحتويات:

ساعة منبه شروق الشمس مع شاشة LCD وتطبيق بلوتوث: 8 خطوات
ساعة منبه شروق الشمس مع شاشة LCD وتطبيق بلوتوث: 8 خطوات

فيديو: ساعة منبه شروق الشمس مع شاشة LCD وتطبيق بلوتوث: 8 خطوات

فيديو: ساعة منبه شروق الشمس مع شاشة LCD وتطبيق بلوتوث: 8 خطوات
فيديو: انتبه من ساعة آبل لهذا السبب 2024, يوليو
Anonim
منبه شروق الشمس مع شاشة LCD وتطبيق بلوتوث
منبه شروق الشمس مع شاشة LCD وتطبيق بلوتوث
منبه شروق الشمس مع شاشة LCD وتطبيق بلوتوث
منبه شروق الشمس مع شاشة LCD وتطبيق بلوتوث

يمكن أن يكون فصل الشتاء حزينًا. تستيقظ ، الجو مظلم وعليك النهوض من السرير. آخر شيء تريد سماعه هو الصوت المزعج لساعة المنبه. إذا كنت ، مثلي ، تواجه مشكلة في الاستيقاظ في الصباح ، فإن هذا المنبه هو فقط ما تحتاجه.

في هذا البرنامج التعليمي ، سنقوم ببناء Sunrise Alarm Clock. إنها منبه مثل أي ساعة أخرى حيث يمكنك ضبط الساعة والدقيقة التي تريد أن تستيقظ فيها ، ولكن مع الاستفادة من استخدام الضوء لإضاءة غرفة نومك على مدار فترة زمنية مثل شروق الشمس لإيقاظك بدلاً من أن يكون مزعجًا صفارة!

سنستخدم أيضًا وحدة بلوتوث لإنشاء تطبيق يتيح لك ضبط المنبه عبر هاتفك على الساعة. ستعرض شاشة LCD الوقت والتاريخ واليوم من الأسبوع. توجد مصابيح شروق الشمس في السوق ولكنها قد تكون باهظة الثمن (البحث السريع على Google يعرض المنتجات في نطاق 100 يورو) وهشة ومظهر سريري تمامًا. لهذا السبب قررت أن أصنع مشروعًا خاصًا بي لمشروع مدرسة Arduino. سيتم سرد جميع الأجزاء في الخطوة التالية. يمكن تنزيل الكود من Github repo sunrise-alarm-clock. هيا نبدأ:)

يمكن العثور على جميع التعليمات البرمجية على:

الخطوة 1: تجميع الأجزاء

تجميع الأجزاء
تجميع الأجزاء
تجميع الأجزاء
تجميع الأجزاء
تجميع الأجزاء
تجميع الأجزاء

سنستخدم ساعة كمدخلات لدينا ومصباح LED فائق السطوع كمخرجنا لمحاكاة شروق الشمس لدينا.

لبناء الدائرة سوف نحتاج:

- Arduino Uno- Clockmodule RTC DS3231 - MOSFET للتحكم في سطوع الضوء - مصباح LED فائق السطوع (اشتريت 2 ، واحد دافئ ، واحد بارد) - بطارية 9 فولت لتشغيل مؤشر LED - لوحة توصيل - شاشة LCD (16: 2) - محول بلوتوث hc-05 حتى نتمكن من استخدام تطبيق لضبط المنبه.

كل ما تحتاجه يمكن شراؤه على www.martoparts.nl

الخطوة 2: تجميع الدائرة

تجميع الدائرة
تجميع الدائرة
تجميع الدائرة
تجميع الدائرة

يمكنك الرجوع إلى الرسم التخطيطي لدارتي ، فمن المؤسف أنني لم أجد RTC DS3231 في البرنامج لذلك كان علي أن أفعل هذا. الاتصالات مختلفة قليلاً في الواقع ، ها هي الاتصالات. (وحدة البلوتوث ليست في الرسم ولكن سأشرح كيف تعمل أدناه لأنها صعبة نوعًا ما)

يذهب RTC DS3231GND إلى GND على اردوينو

يذهب VCC إلى 5v

يذهب SDA إلى اردوينو

SCL يذهب إلى arduino لن نستخدم SQW & 32KMOSFET

يذهب دبوس البوابة إلى دبوس ~ 9 على Arduino Uno لأنه ينتقل دبوس PWMDrain إلى الجانب السلبي من دبوس مصدر LED يذهب إلى GND على Arduino

يذهب VCC إلى 5VSDA يذهب إلى A4 على arduinoSKL يذهب إلى A5 على arduinoLED- يذهب إلى mosfet + ينتقل إلى بطارية 5v9v يمكنك شراء بطارية 9v في أي متجر محلي ، قم بتوصيلها بـ arduino بشريط موصل.

وحدة بلوتوث hc-055V تذهب إلى 5 فولت من اردوينو

يذهب GND إلى GND على اردوينو

يوجد الآن مدخلين إضافيين ولكن هنا يأتي الجزء الصعب ، علينا توصيل المدخلات المعاكسة لهذين النوعين على arduinoTX من hc-05 يذهب إلى RX على arduinoRX من hc-05 يذهب إلى TX على اردوينو

هام: تأكد من فصل TX & RX عن HC-05 عندما تقوم بتحميل كود على اردوينو الخاص بك وإلا ستظهر لك رسالة خطأ تقول "حدث خطأ ما في تحميل الكود" في المترجم.

الخطوة 3: ضبط شاشة LCD والساعة

ضبط شاشة LCD والساعة
ضبط شاشة LCD والساعة
ضبط شاشة LCD والساعة
ضبط شاشة LCD والساعة

المكتبة المستخدمة لشاشة LCD عبارة عن بلور سائل ويمكن العثور عليها على: https://github.com/fdebrabander/Arduino-L LiquidCrys… قم بتنزيل الملف المضغوط وحفظه ووضعه في مجلد Arduino / libraries

يمكن العثور على المكتبة التي أستخدمها لتشغيل الساعة في Rinky-Dinky Electronics https://www.rinkydinkelectronics.com/library.php؟id=73 وتأكد من أنك على صفحة DS3231. قم بتنزيل الملف المضغوط وحفظه ووضعه في مجلد مكتبات Arduino.

زمن

قم بتضمين المكتبة DS3231 أو DS1307 في كود اردوينو الخاص بك

قم بإلغاء تعليق هذه الأسطر الثلاثة من التعليمات البرمجية لضبط الوقت:

// rtc.setDOW (الاثنين) ؛ // تعيين يوم من الأسبوع على الأحد // rtc.setTime (23 ، 57 ، 0) ؛ // اضبط الوقت على 12:00:00 (تنسيق 24 ساعة) // rtc.setDate (14 ، 1 ، 2019) ؛ // تعيين التاريخ على 1 يناير 2014

عرض شاشات الكريستال السائل

قم بتضمين المكتبة liqduicrystal_i2c في كود اردوينو الخاص بك

للطباعة على شاشة LCD ، استخدم

lcd.setCursor (عمود ، صف) // موضع النص المطبوع ccd.print (~) // نص مطبوع

الخطوة 4: التشفير

الترميز
الترميز

قم بتنزيل الكود على: github:

قم بإلغاء تعليق هذه الأسطر الثلاثة لضبط الساعة على شاشة LCD الخاصة بك:

// rtc.setDOW (الاثنين) ؛ // تعيين يوم من الأسبوع على الأحد // rtc.setTime (23 ، 57 ، 0) ؛ // اضبط الوقت على 12:00:00 (تنسيق 24 ساعة) // rtc.setDate (14 ، 1 ، 2019) ؛ // تعيين التاريخ على 1 يناير 2014

استخدم lcd.setCuros (عمود ، صف) ؛ لتعيين موضع النص على الشاشة

lcd.setCursor (0 ، 2) ؛

وطباعة () لطباعة شيء ما على الشاشة

lcd.print (rtc.getDateStr ()) ؛

قم بتغيير هذه المتغيرات إذا كنت تريد ذلك

int fadeTime = 1 ؛ // كم من الوقت سوف يتلاشى الضوء إلى maxint setHour = 02 ؛ // تعيين ساعات للاستيقاظ (الوقت العسكري) int setMin = 49 ؛ // تعيين دقيقة للاستيقاظ int uled = 9 ؛ // تعيين pinout مع PWM

كود وحدة بلوتوث

String firstHalf = getValue (input، ':'، 0)؛ // تحقق من الإدخال الأول حتى ":"

String secondHalf = getValue (input، ':'، 1)؛ // تحقق من الإدخال الثاني بعد ":"

// استخدم هذا الرمز إذا كنت لا تستخدم وحدة البلوتوث

// // إذا (t.hour == setHour && t.min == setMin) // تحقق مما إذا كان وقت الاستيقاظ قد حان! // { // بداية()؛ //}

// تحقق من المدخلات المكونة من رقمين ، ثم تحقق من الرقمين الثانيين للإدخال

إذا (t.hour == firstHalf.toInt () && t.min == secondHalf.toInt ()) {start ()؛ }}

// المنطق لفصل السلاسل

سلسلة getValue (سلسلة البيانات ، فاصل الأحرف ، فهرس int) {int found = 0 ؛ int strIndex = {0، -1} ، int maxIndex = data.length () - 1 ؛

لـ (int i = 0؛ i <= maxIndex && found <= index؛ i ++) {if (data.charAt (i) ==eparator || i == maxIndex) {found ++؛ strIndex [0] = strIndex [1] + 1 ، strIndex [1] = (i == maxIndex)؟ أنا + 1: أنا ؛ }} تم العثور على الإرجاع> الفهرس؟ data.substring (strIndex [0]، strIndex [1]): ""؛ }

الخطوة الخامسة: حان وقت الاختبار

قم بتجميع التعليمات البرمجية الخاصة بك واختبر ما إذا كانت المكونات تعمل!

الخطوة 6: إعداد تطبيق Bluetooth

إعداد تطبيق بلوتوث
إعداد تطبيق بلوتوث
إعداد تطبيق بلوتوث
إعداد تطبيق بلوتوث
إعداد تطبيق بلوتوث
إعداد تطبيق بلوتوث

نظرًا لأنني وجدت أنه من المزعج البحث في الكود في كل مرة كنت أرغب في ضبط منبه ، فقد أردت إنشاء تطبيق من شأنه ضبط المنبه ، وهو أمر أسهل بكثير.

انتقل إلى https://ai2.appinventor.mit.edu حيث يمكننا إنشاء تطبيق بسيط يتيح لنا ضبط المنبه ، وقد قمت بتضمين إعداد التصميم البسيط (يمكنك دائمًا تعديل هذا لاحقًا) والرمز المستخدم لـ اتصال البلوتوث: يمكنك بعد ذلك نشر التطبيق الخاص بك والاتصال به على هاتفك باستخدام رمز الاستجابة السريعة أو تنزيل التطبيق مباشرة على جهاز الكمبيوتر الخاص بك ، ثم نقله باستخدام كابل على هاتفك. (لقطة شاشة)

الخطوة السابعة: بناء القضية

بناء القضية
بناء القضية
بناء القضية
بناء القضية
بناء القضية
بناء القضية

يمكنك دائمًا بناء حالة مختلفة حول ساعة اردوينو الخاصة بك. لقد استخدمت الخشب والزجاج الشبكي غير اللامع لبناء حالة المنبه الخاصة بي. لقد اخترت زجاج شبكي غير لامع حتى تتمكن من رؤية الضوء يتألق بوضوح من خلال العلبة ولكن لا يمكنك رؤية الجزء الداخلي من الساعة.

الخطوة 8: انتهى

تم الانتهاء من!
تم الانتهاء من!
تم الانتهاء من!
تم الانتهاء من!
تم الانتهاء من!
تم الانتهاء من!

الآن بعد أن قمت بتحميل الكود إلى اردوينو الخاص بك ، قم ببناء العلبة والتحقق مما إذا كنت قد قمت بتجميع ساعتك بشكل صحيح ، يمكنك ضبط منبه على تطبيق البلوتوث والبدء في الاستيقاظ بشكل طبيعي!:)

موصى به: