Բովանդակություն:
- Քայլ 1. Մտածեք գաղափարի մասին
- Քայլ 2: Էսքիզ և նյութեր
- Քայլ 3: Արտաքին պատյան ստեղծելը
- Քայլ 4: Արտաքին պատյանների լազերային կտրում
- Քայլ 5: Միավորել այն
- Քայլ 6: Կոդ
- Քայլ 7: Էլեկտրոնիկա
- Քայլ 8: Վերջնական
Video: Առավոտ ընկեր: 8 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:49
Ոմանք շատ զբաղված գրաֆիկ ունեն, ինչը հեշտացնում է մեկ -երկու բան մոռանալը: Այս զարթուցիչի օգնությամբ դուք կարող եք մի քանի ահազանգ տեղադրել `ժամանակացույցի վրա պահելու համար: Theամացույցը գործում է 24-ժամյա ռեժիմով, և մնում է միայն ծրագրել, որ այն անջատվի օրվա տարբեր ժամերին, որոնք համապատասխանում են ձեր ժամանակացույցին: Երբ դա անում եք, ձեր սահմանած ժամանակները կհայտնվեն LCD էկրանին, այնպես որ կարող եք ստուգել `համոզվելու համար, որ դրանք ճիշտ են և ծառայում են որպես լրացուցիչ հիշեցում:
Քայլ 1. Մտածեք գաղափարի մասին
Երբ մենք փորձում էինք լուծել հարցը, մենք ձկնորսության մեթոդով գաղափար ստեղծեցինք և արդյունքում ստացանք մեր զարթուցիչը:
Քայլ 2: Էսքիզ և նյութեր
Այս քայլի ընթացքում մենք փորձեցինք կազմել այն բոլոր իրերի ցուցակը, որոնք մենք կարծում էինք, որ մեզ անհրաժեշտ կլինեն էլեկտրոնիկայի և արտաքին պատյանների համար: Հետո մենք եկանք մի ուրվագծով, թե ինչպիսին ենք ուզում լինել զարթուցիչը և ինչպես ենք հավաքելու դրա արտաքին պատյանը:
Քայլ 3: Արտաքին պատյան ստեղծելը
Առաջին նախատիպի համար ես պարզապես ուզում էի տեսնել, թե ինչպես են մատների հոդերը տեղավորվում միմյանց հետ, ուստի ես օգտագործեցի կոշիկի տուփ և չկիրառեցի ճշգրիտ չափումներ:
Քայլ 4: Արտաքին պատյանների լազերային կտրում
Երկրորդ նախատիպի համար ես ուզում էի ճշգրիտ չափումներ ստանալ և ստիպված էի ստեղծել pdf ՝ լազերային դանակին ուղարկելու համար: Որպեսզի դա անեմ, ես օգտագործեցի տուփեր ստեղծող հավելվածների կայք ՝ https://boxdesigner.connectionlab.org: Այդ կայքում ես այնուհետև մուտքագրեցի տուփի եռաչափ չափերը, մեր նյութի հաստությունը, չափման միավորները և այն, թե ինչ տեսակի ֆայլ եմ ուզում ստեղծել: Տուփերի չափսերն էին 7,5 x 3 x 5 դյույմ, և ես օգտագործեցի 1/8 հաստ ակրիլային նյութ: Այնուհետև մատների հոդերի չափումների չափումները ինքնաբերաբար կազմաձևվեցին 0,46875 դյույմ: Ես ընտրեցի pdf տարբերակը, որովհետև դա ֆայլի այն տեսակն է, որը կարդում է լազերային դանակը, և ես ուզում էի որոշ փոփոխություններ կատարել ֆայլում adobe- ում: Գծի գույները փոխեցի կարմիրի, որպեսզի լազերային կտրիչը իմանա դրանք կտրել ՝ ձևը փորագրելու փոխարեն, և ավելացրեցի ուղղանկյուն տուփ ՝ 3.92 դյույմ չափերով ՝ 1.56 դյույմով, այն, ինչ լինելու էր առջևի հատվածը: տուփ: Ես նաև ավելացրեցի ուղղանկյուն, որը կտրված էր 1 դյույմ ՝ 0.5 դյույմ, ներքևի աջ կողմում, որպեսզի ծառայեր որպես զարթուցիչին միացված լարի բաց: Վերջում ես երեք շրջանաձև բացվածք ավելացրի վերևում ՝ երկու բզզոցների և կոճակի համար: Zխի բացվածքների տրամագիծը 0.5 դյույմ էր, իսկ կոճակի բացումը `0.375 դյույմ:
Քայլ 5: Միավորել այն
Երբ բոլոր կտորները կտրվեցին, ես ներարկիչով և ակրիլային սոսինձով ամրացրեցի այն: Ես կտորները միասին պահեցի և սոսինձը կաթեցի ակոսների միջև ՝ կողքերը միասին կազմելու համար, բայց վերևը սոսնձված չէր:
Քայլ 6: Կոդ
Ներածություն:
Այս նախագիծը կոդավորված է ՝ օգտագործելով Arduino IDE ծրագրաշարի c ++ լեզուն: Օգտագործված միկրոհսկիչը NodeMCU- ն էր ESP8266- ով: Այս նախագծի համար մեզ անհրաժեշտ կլինի ժամանակը ճշգրիտ պահելու միջոց, ազդանշանի ձայն, ազդանշանային համակարգի ազդանշանային ազդանշանի ազդանշանային համակարգ, և էկրան `ամբողջ ժամանակը և տագնապի ժամերը ցուցադրելու համար: Ամբողջական ծածկագրի համար տե՛ս այս հղումը ՝
Գրադարանների ներմուծում
Առաջին հերթին, մենք պետք է ներմուծենք անհրաժեշտ գրադարանները:
#ներառել «RTClib.h»
#ներառել «Wire.h» #ներառել #ներառել #ներառել #ներառել
Փոփոխականների նախաձեռնում
Հաջորդը, մենք պետք է փոփոխականներ գործարկենք հետագայում, նշանակենք ազդանշանային կոճակների քորոցների դասավորությունը, կարգավորենք RTC- ը և LCD էկրանին I2C հասցեն սահմանենք:
LiquidCrystal_I2C LCD (0x27, 20, 4);
const int buzzer1 = 12; const int buzzer2 = 0; const int կոճակ = 2; RTC_DS3231 rtc; char daysOfTheWeek [7] [12] = {"կիրակի", "երկուշաբթի", "երեքշաբթի", "չորեքշաբթի", "հինգշաբթի", "ուրբաթ", "շաբաթ"} int starttime; int ակտիվ ժամանակ; int նախընտրական ժամանակ = 0; char ahours1 [3]; char amins1 [3]; int ժամ 1 = 0; int min1 = 0; char ahours2 [3]; char amins2 [3]; int ժամ 2 = 0; int min2 = 0; char ahours3 [3]; char amins3 [3]; int ժամ 3 = 0; int min3 = 0; int ահազանգ = 0; int ByteReceived; char recainedChar; const բայթ numChars = 32; char ստացվեց Chars [numChars];
Կարգավորում
Հաջորդը, մենք պետք է ունենանք գործառույթ, որը սկսում է բոլոր անհրաժեշտ գործընթացները: Այս գործառույթում մենք պետք է գործարկենք LCD- ն և տպենք սկզբնական ժամանակները, կատարենք ավելի փոքր գործառույթ, որը տալիս է RTC- ին իրական ժամանակ, եթե այն արդեն չունի, և գործարկենք սերիական մոնիտորը:
void setup () {
#ifndef ESP8266 իսկ (! Սերիա); #endif if (! rtc.begin ()) {Serial.println ("Չհաջողվեց գտնել RTC"); մինչդեռ (1); } if (rtc.lostPower ()) {Serial.println («RTC- ն կորցրեց էներգիան, թույլ տվեք սահմանել ժամանակը»); rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_)))} lcd.init (); lcd. լուսարձակը (); // դարձնում է Baklight ON- ը: lcd. հստակ (); // Մաքրում է LCD lcd.print- ը («00:00»); // ցուցադրել LCD- ով կոդի վերբեռնումից հետո lcd.setCursor (10, 0); lcd.print («00:00»); lcd.setCursor (0, 1); lcd.print («"ամանակ»); lcd.setCursor (10, 1); lcd.print («rmարթուցիչ 1»); lcd.setCursor (0, 3); lcd.print («rmարթուցիչ 2»); lcd.setCursor (0, 2); lcd.print («00:00»); lcd.setCursor (10, 3); lcd.print («Alaարթուցիչ 3»); lcd.setCursor (10, 2); lcd.print («00:00»); rtc.begin (); pinMode (կոճակ, Մուտք); // Սահմանել քորոց լռության կոճակի համար pinMode (buzzer1, OUTPUT); // սահմանել քորոց ազդանշանային ելքային pinMode- ի համար (buzzer2, OUTPUT); // նշիչ դնել ազդանշանային թողարկման համար Serial.begin (9600); Serial.println («Ահազանգերի մուտքագրման ժամանակը HHMM ձևաչափով ՝ առանց ահազանգերի միջև տարածության»); մեկնարկ = millis ()/1000; }
Տվյալների ստացում
Այժմ մենք պետք է կարողանանք ստանալ ահազանգի ժամերը: Դա անելու համար մենք ստեղծեցինք գործառույթ ՝ սերիալային մոնիտորից տվյալները ստանալու և դրանք զանգվածում պահելու համար:
void recvWithEndMarker () {
ստատիկ int ndx = 0; String timein = Serial.readString (); համար (ndx = 0; timein [ndx]; ndx ++) {Ստացված Chars [ndx] = timein [ndx]; } Ստացված մրցանակներ [ndx] = '\ 0'; Serial.print (ստացել է Chars); }
Alaարթուցիչների կարգավորում
Հաջորդ քայլը ահազանգեր տեղադրելն է: Ահա ահազանգի ծածկագիրը 1. 2 -րդ և 3 -րդ ահազանգերի դեպքում նույն գործընթացը կրկնվեց մի քանի թվային փոփոխություններով:
/* Rmարթուցիչ 1*/
recvWithEndMarker (); int h, m; (h = 0; h <2; h ++) {aours 1 [h] = ստացված Chars [h]; } (m = 2; m <4; m ++) {amins1 [m-2] = ստացվել է Chars [m]; } ahours1 [h] = '\ 0'; ամիններ 1 [մ -2] = '\ 0'; Serial.print (ahours1); Serial.print (amins1); ժամ 1 = ատոյ (ժամ 1); min1 = ատոյ (ամիններ 1); Serial.print (ժամ 1); Serial.print (min1);
Buzzer/կոճակ
Ավարտելով դա, մենք պետք է ստիպենք ազդանշանը անջատել, երբ իրական ժամանակի և ահազանգի ժամանակը հավասար են: Նաև այս քայլում մենք կատարում ենք snooze- ի նման կոճակ, որը դադարեցնում է ազդանշանը, մինչ այն պահում եք:
/ * Լռության կոճակ */
ներքին լռություն; int բ; b = digitalRead (2); if (b == LOW) {լռություն = 1; } else {լռություն = 0; } / * Startարթուցիչ սկսել * / եթե (ժամ == ժամ 1 && րոպե == րոպե 1) {ահազանգ = 1; } else if (ժամ == ժամ 2 && րոպե == րոպե 2) {ահազանգ = 1; } else if (ժամ == ժամ 3 && րոպե == րոպե 3) {ահազանգ = 1; } else {ահազանգ = 0; լռություն = 0; } if (տագնապ == 1 && լռություն == 0) {տոն (ազդանշան 1, 4000, 1000); հնչերանգ (buzzer2, 4000, 1000); ուշացում (1000); noTone (buzzer1); noTone (buzzer2); ուշացում (1000); }
Տպագրական ժամանակներ
Ի վերջո, մենք պետք է տագնապի ժամերը և իրական ժամանակը տպենք LCD էկրանին:
DateTime now = rtc.now ();
int ժամ = (այժմ. ժամ ()); int mins = (այժմ. րոպե ()); / * Rmարթուցիչ ժամը 00:00 ձևաչափով */ lcd.setCursor (10, 0); lcd.print (ahours1); lcd.setCursor (13, 0); lcd.print (amins1); lcd.setCursor (0, 2); lcd.print (ahours2); lcd.setCursor (3, 2); lcd.print (amins2); lcd.setCursor (10, 2); lcd.print (ahours3); lcd.setCursor (13, 2); lcd.print (amins3); / * Displayուցադրման ժամանակը RTC- ից */ lcd.setCursor (0, 0); lcd.print (ժամ); lcd.print (":"); lcd.print (րոպե);
Քայլ 7: Էլեկտրոնիկա
Այս նախագծի էլեկտրոնիկայի մեջ կան բազմաթիվ կտորներ, ինչպես երևում է նյութերի օրինագծում: Առաջին պատկերը նախագծերի վերջնական էլեկտրոնիկայի սխեմատիկ պատկերն է: Երկրորդ պատկերը մեր վերջնական էլեկտրոնային ձևավորումն է: Երրորդ պատկերը մեր նախագծի երկրորդ նախատիպի արանքում է:
Սկսելու համար ամրացրեք ձեր NodeMCU- ն ձեր տախտակի ծայրին: Այնուհետև ձեզ հարկավոր կլինի ձեր մյուս բոլոր էլեկտրոնիկան միացնել NodeMCU- ին և տախտակին: Սկսեք `ձեր LCD էկրանը միացնելով SC1- ի համար D1 և SDA- ի համար D2 կապումներին: LCD- ն թույլ կտա օգտվողին տեսնել ընթացիկ ժամը և ազդանշանի սահմանված ժամերը: Այժմ մետաղալարով միացրեք ձեր ազդանշանները D3 և D6 կապումներին: Բզզոցները թույլ կտան ահազանգին զգուշացնել օգտվողին, երբ սահմանված ժամանակը հասնի: Այժմ դուք պետք է կցեք մի կոճակ, որը թույլ կտա ազդանշանը դադարեցնել: Կցեք այս կոճակը D4 ամրացմանը: Այժմ դուք կցեք ձեր իրական ժամանակի ժամացույցը հացատախտակին: Միացրեք իրական ժամանակի ժամացույցը, որպեսզի այն օգտագործի նույն SDA և SCL կապերը, որոնք օգտագործվում են LCD էկրանին:
Քայլ 8: Վերջնական
Եթե հետևել եք տրված տեղեկատվությանը, ձեր նախագիծը կարող է նմանվել վերը նշված պատկերին: Մաղթում ենք ձեզ հաջողություն այս նախագիծը վերստեղծելու ձեր փորձերում, և երբ ավարտեք ձեր նախագիծը, մենք խրախուսում ենք ձեզ կիսվել նկարներով և դիտողություններով մեզ հետ մեկնաբանություններում: Շնորհակալություն և հաջողություն ընկերներ:
Խորհուրդ ենք տալիս:
Ուսումնական ընկեր. 10 քայլ
Ուսումնական ընկեր. Սա ուսանելի է բացատրում, թե ինչպես ստեղծել ընկեր ընկեր: Այս ուսումնասիրող ընկերոջ գործառույթն է օգնել 14 -ից 18 տարեկան դեռահասներին սովորել ծրագրել և սովորել: Նպատակն այն է, որ ռոբոտը կարողանա սովորել ուսանողների հետ: Կազմը ներկված է
ShW Welcome Box: the երբեմն ընկեր. 8 քայլ
ShW Welcome Box: the երբեմն ընկեր. Դուք ընկերություն եք փնտրու՞մ:
Բարի գալուստ ընկեր: 10 քայլ
Բարի գալուստ ընկեր: Նախագիծ ստեղծեց ՝ Քրիս Քանգը, Դեյվիդ Կալմանը, Ռիկ Շուտը և Միշա Գլիվնին
Կառուցեք 3D տպված Arduino սոցիալական ռոբոտի ընկեր. 9 քայլ
Կառուցելով 3D տպված Arduino սոցիալական ռոբոտ Buddy: Buddy- ն 3D տպված arduino սոցիալական ռոբոտ է: Նա շփվում է աշխարհի հետ ՝ օգտագործելով ուլտրաձայնային տվիչ ՝ իր անմիջական տարածքը քարտեզագրելու համար: Երբ ինչ -որ բան փոխվում է իր միջավայրում, նա արձագանքում է: Նա կարող է զարմանալ կամ հետաքրքրասեր լինել և երբեմն մի փոքր ագրեսիվ լինել
Առավոտ և գիշեր լույս ՝ 4 քայլ
Առավոտ և գիշեր լույս. Սա ինքնաշեն թղթե լույս է, որն օգտագործվում է ինչպես առավոտյան, այնպես էլ գիշերվա համար