Բովանդակություն:

Sunrise rmարթուցիչ LCD էկրանով և Bluetooth հավելվածով ՝ 8 քայլ
Sunrise rmարթուցիչ LCD էկրանով և Bluetooth հավելվածով ՝ 8 քայլ

Video: Sunrise rmարթուցիչ LCD էկրանով և Bluetooth հավելվածով ՝ 8 քայլ

Video: Sunrise rmարթուցիչ LCD էկրանով և Bluetooth հավելվածով ՝ 8 քայլ
Video: Xantesha - SUNRISE (Slowed + Reverb) 2024, Հուլիսի
Anonim
Sunrise rmարթուցիչ LCD էկրանով և Bluetooth հավելվածով
Sunrise rmարթուցիչ LCD էկրանով և Bluetooth հավելվածով
Sunrise rmարթուցիչ LCD էկրանով և Bluetooth հավելվածով
Sunrise rmարթուցիչ LCD էկրանով և Bluetooth հավելվածով

Ձմեռը կարող է տխուր լինել: Դուք արթնանում եք, մութ է, և դուք պետք է վեր կենաք անկողնուց: Վերջին բանը, որ ցանկանում եք լսել, ձեր զարթուցիչի նյարդայնացնող ձայնն է: Եթե դուք, ինչպես և ես, դժվարանում եք առավոտյան արթնանալ, ապա այս զարթուցիչը հենց այն է, ինչ ձեզ հարկավոր է:

Այս ձեռնարկում մենք պատրաստվում ենք կառուցել Արևածագի զարթուցիչ: Դա զարթուցիչ է, ինչպես ցանկացած այլ ժամացույց, որով կարող եք սահմանել արթնանալու ժամը և րոպեն, բայց եթե օգտվեք լույսից, ձեր ննջասենյակը լուսավորելու համար որոշ ժամանակ արևածագի պես ձեզ արթնացնելու համար `անհանգստացնողի փոխարեն: բզզոց!

Մենք նաև կօգտագործենք bluetooth մոդուլ ՝ ծրագիր ստեղծելու համար, որը թույլ կտա ձեզ զարթուցիչը տեղադրել ձեր հեռախոսի միջոցով ժամացույցի վրա: LCD էկրանը կցուցադրի ժամը, շաբաթը և օրը: Արևածագի լամպերը շուկայում կան, բայց դրանք կարող են լինել թանկ (Google- ի արագ որոնումը 100 եվրոյի ապրանքներ է վերադարձնում), փխրուն և բավականին կլինիկական տեսք ունեն: Ահա թե ինչու ես որոշեցի ինքս պատրաստել Arduino դպրոցական նախագծի համար: Բոլոր մասերը կցուցադրվեն հաջորդ քայլին: Կոդը կարելի է ներբեռնել իմ Github repo sunrise-alarm-clock- ից: Եկեք սկսենք:)

բոլոր ծածկագրերը կարելի է գտնել ՝

Քայլ 1: Մասերի հավաքում

Մասերի հավաքում
Մասերի հավաքում
Մասերի հավաքում
Մասերի հավաքում
Մասերի հավաքում
Մասերի հավաքում

Մենք որպես ժամացույց օգտագործելու ենք ժամացույց, իսկ որպես ելք ՝ ծայրահեղ լուսավոր LED ՝ մեր արևածագը նմանակելու համար:

Շղթան կառուցելու համար մեզ պետք է.

- Arduino Uno- clockmodule RTC DS3231 - լույսի պայծառությունը վերահսկելու MOSFET - գերապայծառ լուսադիոդ (ես գնել եմ 2, մեկ տաք, մեկ ցուրտ) - 9 Վ մարտկոց ՝ LED- ը սնուցելու համար - տախտակ - LCD էկրան (16 ՝ 2)- Bluetooth ադապտեր hc-05, որպեսզի մենք կարողանանք ազդանշանը տեղադրելու համար օգտագործել ծրագիր:

Այն ամենը, ինչ ձեզ հարկավոր է, կարելի է գնել www.martoparts.nl կայքում

Քայլ 2. Շրջանի հավաքում

Շրջանի հավաքում
Շրջանի հավաքում
Շրջանի հավաքում
Շրջանի հավաքում

Դուք կարող եք անդրադառնալ իմ սխեմայի ուրվագծին, դժբախտաբար, ես ծրագրում չգտա RTC DS3231- ը, այնպես որ ես ստիպված էի անել այս մեկը: Իրականում կապերը մի փոքր այլ են, ահա կապերը: (bluetooth մոդուլը ուրվագծում չկա, բայց ես կբացատրեմ, թե ինչպես է այն աշխատում ներքևում, ինչը բավականին բարդ է դարձնում)

RTC DS3231GND- ը arduino- ով անցնում է GND- ին

VCC- ն անցնում է 5v- ին

SDA- ն անցնում է arduino- ին

SCL- ն անցնում է arduino- ին: Մենք չենք օգտագործի SQW և 32KMOSFET

Gate pin- ը Arduino Uno- ում անցնում է ~ 9-ի, քանի որ դա PWM է: Drain pin- ը անցնում է LED- ի աղբյուրի բացասական կողմին Arduino- ում գնում է GND:

VCC- ն arduino- ով անցնում է A4- ին arduino- ով անցնում է A5- ը `arduino- ով անցնում է A5- գնում է mosfet+ գնում է 5v9v մարտկոցին Դուք կարող եք գնել 9 վ մարտկոց ցանկացած տեղական խանութում, միացրեք arduino- ին միակցիչ ժապավենով:

Bluetooth մոդուլ hc-055V- ն arduino- ից անցնում է 5V- ի

GND- ն գնում է GND arduino- ով

Այժմ կա ևս 2 մուտք, բայց այստեղ գալիս է բարդ մասը, մենք պետք է միացնենք այդ 2-ի հակառակ մուտքերը arduinoTX- ից hc-05- ից arduinoRX- ից RX- ին arcino- ից RX- ից arduino- ից TX- ից:

Կարևոր. Համոզվեք, որ ԱՐCԱՆՈՄ ԵՔ TX & RX- ը HC-05- ից, երբ ձեր arduino- ում կոդ եք վերբեռնում, կամ սխալ կստանաք `նշելով, որ« սխալ է տեղի ունեցել ծածկագիրը վերբեռնելիս »:

Քայլ 3: LCD էկրանը և ժամացույցը կարգավորելը

LCD էկրանը և ժամացույցը կարգավորելը
LCD էկրանը և ժամացույցը կարգավորելը
LCD էկրանը և ժամացույցը կարգավորելը
LCD էկրանը և ժամացույցը կարգավորելը

LCD էկրանին օգտագործվող գրադարանը հեղուկ բյուրեղ է և կարելի է գտնել հետևյալ հասցեով ՝

Գրադարանը, որը ես օգտագործում եմ ժամացույցը գործարկելու համար, կարելի է գտնել Rinky-Dinky Electronics- ում ՝ https://www.rinkydinkelectronics.com/library.php?id=73 և համոզվեք, որ դուք գտնվում եք DS3231 էջում: Ներբեռնեք zip ֆայլը, պահեք այն և տեղադրեք ձեր Arduino- ի գրադարանների պանակում:

Ժամանակը

Ձեր arduino կոդի մեջ ներառեք գրադարանը DS3231 կամ DS1307

Comամը սահմանելու համար մեկնաբանության այս երեք տողերից դուրս գրեք.

// rtc.setDOW (երկուշաբթի); // Շաբաթվա օրը սահմանել ԿԻՐԱԿԻ // rtc.setTime (23, 57, 0); // Setամանակը սահմանեք 12:00:00 (24 ժամ ձևաչափ) // rtc.setDate (14, 1, 2019); // Ամսաթիվը սահմանել 2014 թվականի հունվարի 1 -ը

LCD էկրան

Ձեր arduino ծածկագրում ներառեք liqduicrystal_i2c գրադարանը

LCD էկրանին տպելու համար օգտագործեք

lcd.setCursor (col, row) // տպագրված տեքստի դիրքը lcd.print (~) // տպագրված տեքստ

Քայլ 4: Կոդավորում

Կոդավորում
Կոդավորում

Ներբեռնեք կոդը ՝ github:

Ձեր LCD էկրանին ժամացույցը կարգավորելու համար մի մեկնաբանեք այս 3 տողերը.

// rtc.setDOW (երկուշաբթի); // Շաբաթվա օրը սահմանել ԿԻՐԱԿԻ // rtc.setTime (23, 57, 0); // Setամանակը սահմանեք 12:00:00 (24 ժամ ձևաչափ) // rtc.setDate (14, 1, 2019); // Ամսաթիվը սահմանել 2014 թվականի հունվարի 1 -ը

Օգտագործեք lcd.setCuros (col, row); ցուցադրման տեքստի դիրքը սահմանելու համար

lcd.setCursor (0, 2);

և տպել () ՝ էկրանին ինչ -որ բան տպելու համար

lcd.print (rtc.getDateStr ());

Changeանկության դեպքում փոխեք այս փոփոխականները

int fadeTime = 1; // Որքա՞ն ժամանակ լույսը կվերանա մինչև maxint setHour = 02; // Արթնացնելու ժամեր սահմանեք (ռազմական ժամ) int setMin = 49; // Սահմանել րոպե արթնանալու համար uled = 9; // Սահմանել pinout- ը PWM- ի հետ

Bluetooth մոդուլի կոդ

String firstHalf = getValue (մուտքագրում, ':', 0); // ստուգեք առաջին մուտքը մինչև ":"

String secondHalf = getValue (մուտքագրում, ':', 1); // ստուգեք երկրորդ մուտքը «:» - ից հետո:

// օգտագործեք այս ծածկագիրը, եթե չեք օգտագործում bluetooth մոդուլը

// // if (t.hour == setHour && t.min == setMin) // Ստուգեք, արդյոք արթնանալու ժամանակն է: // {// սկսել (); //}

// ստուգեք առաջին 2 թվանշանի մուտքերը, ապա ստուգեք մուտքի երկրորդ 2 թվանշանները

եթե (t.hour == firstHalf.toInt () && t.min == secondHalf.toInt ()) {սկսել (); }}

// տրամաբանությունը տողերն առանձնացնելու համար

String getValue (Լարային տվյալներ, char անջատիչ, int ինդեքս) {int found = 0; int strIndex = {0, -1}; int maxIndex = data.length () - 1;

for (int i = 0; i <= maxIndex && found <= index; i ++) {if (data.charAt (i) == separator || i == maxIndex) {found ++; strIndex [0] = strIndex [1] + 1; strIndex [1] = (i == maxIndex)? i+1: i; }} վերադարձը գտնվեց> ինդեքս? data.substring (strIndex [0], strIndex [1]) ՝ ""; }

Քայլ 5: Փորձարկման ժամանակը:

Կազմեք ձեր կոդը և փորձարկեք, եթե բաղադրիչներն աշխատում են:

Քայլ 6: Bluetooth հավելվածի կարգավորում

Bluetooth հավելվածի կարգավորում
Bluetooth հավելվածի կարգավորում
Bluetooth հավելվածի կարգավորում
Bluetooth հավելվածի կարգավորում
Bluetooth հավելվածի կարգավորում
Bluetooth հավելվածի կարգավորում

Քանի որ ինձ անհանգստացնող էր կոդի մեջ փորփրելը ամեն անգամ, երբ ուզում էի ահազանգ տեղադրել, ես ուզում էի ստեղծել մի ծրագիր, որը կարող էր ազդանշանը դնել, ինչը շատ ավելի հեշտ է:

Գնացեք https://ai2.appinventor.mit.ed, որտեղ մենք կարող ենք պատրաստել մի պարզ ծրագիր, որը թույլ է տալիս մեզ ահազանգել, ես ներառել եմ դիզայնի պարզ կարգավորումը (սա միշտ կարող եք շտկել հետագայում) և դրա համար օգտագործվող ծածկագիրը: bluetooth միացում: Այնուհետև կարող եք հրապարակել ձեր ծրագիրը և միանալ դրան ձեր հեռախոսում ՝ օգտագործելով QR կոդ կամ ուղղակիորեն ներբեռնելով ծրագիրը ձեր համակարգչում, այնուհետև այն տեղափոխելով ձեր հեռախոսի մալուխով: (սքրինշոթ)

Քայլ 7: Գործի կառուցում

Գործի կառուցում
Գործի կառուցում
Գործի կառուցում
Գործի կառուցում
Գործի կառուցում
Գործի կառուցում

Ձեր arduino ժամացույցի շուրջ միշտ կարող եք կառուցել այլ պատյան: Ես օգտագործել եմ փայտ և փայլատ պլեքսիգլաս `իմ սեփական զարթուցիչի պատյանը կառուցելու համար: Ես ընտրեցի փայլատ պլեքսիգլաս, այնպես որ դուք կարող եք տեսնել, որ լույսը հստակ փայլում է պատյանով, բայց դուք չեք կարող տեսնել ժամացույցի ներսը:

Քայլ 8: Ավարտվեց:

Ավարտվեց
Ավարտվեց
Ավարտվեց
Ավարտվեց
Ավարտվեց
Ավարտվեց

Այժմ, երբ դուք վերբեռնել եք կոդը ձեր arduino- ում, կառուցեք պատյանն ու ստուգեք, թե արդյոք դուք ճիշտ հավաքել եք ձեր ժամացույցը, կարող եք ահազանգ տեղադրել Bluetooth հավելվածի վրա և սկսել ավելի բնական արթնանալ::)

Խորհուրդ ենք տալիս: