Përmbajtje:
- Hapi 1: Brainstorming Ideja
- Hapi 2: Skicimi dhe materialet
- Hapi 3: Krijimi i kutisë së jashtme
- Hapi 4: Prerja e zorrës së jashtme me lazer
- Hapi 5: Vendosja së bashku
- Hapi 6: Kodi
- Hapi 7: Elektronikë
- Hapi 8: Përfundimtar
Video: Shoku i mëngjesit: 8 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:22
Disa njerëz kanë orare shumë të ngarkuara, gjë që e bën të lehtë të harrosh një ose dy gjëra. Me këtë orë me zile mund të vendosni alarme të shumta për t'ju mbajtur në orar. Ora funksionon 24 orë dhe gjithçka që duhet të bëni është të programoni që ajo të fiket në periudha të ndryshme të ditës që i përshtaten orarit tuaj. Kur e bëni këtë, kohët që keni caktuar do të shfaqen në ekranin LCD, në mënyrë që të kontrolloni që të siguroheni që ata kanë të drejtë dhe të shërbejnë si një kujtesë shtesë.
Hapi 1: Brainstorming Ideja
Kur po përpiqeshim të zgjidhnim çështjen, ne përdorëm metodën e kockës së peshkut për të dalë me një ide dhe rezultoi me orën tonë të alarmit.
Hapi 2: Skicimi dhe materialet
Gjatë këtij hapi ne u përpoqëm të bënim një listë të të gjitha gjërave që mendonim se do të na duheshin për pajisjet elektronike dhe shtresën e jashtme. Pastaj dolëm me një skicë të asaj që donim të dukej ora e alarmit dhe se si do të montonim veshjen e saj të jashtme.
Hapi 3: Krijimi i kutisë së jashtme
Për prototipin e parë thjesht doja të shihja se si nyjet e gishtërinjve do të përshtaten së bashku, kështu që unë përdor një kuti këpucësh dhe nuk përdor matje të sakta.
Hapi 4: Prerja e zorrës së jashtme me lazer
Për prototipin e dytë doja të merrja matjet e sakta dhe duhej të krijoja një pdf për ta dërguar te prestari lazer. Për ta bërë këtë, unë përdor një faqe në internet të aplikacionit të krijuesit të kutive, https://boxdesigner.connectionlab.org. Në atë faqe interneti unë pastaj futa dimensionet 3-D të kutisë, trashësinë e materialit tonë, njësitë matëse dhe çfarë lloj skedari doja të krijonte. Dimensionet e kutive ishin 7.5 në x 3 në x 5 in dhe unë kam përdorur një 1/8 në material të trashë akrilik. Matjet e nyjeve të gishtit u konfiguruan automatikisht të ishin 0.46875 inç. Zgjodha versionin pdf sepse ky është lloji i skedarit që lexon një prestar lazer dhe doja të bëja disa ndryshime në adobe në skedar. Ndryshova ngjyrat e linjës në të kuqe, në mënyrë që prerësja lazer të dijë t'i prerë ato në vend që të gdhendë formën, dhe shtova një kuti drejtkëndëshe me dimensione 3.92 in me 1.56 in në atë që do të ishte pjesa e përparme e kuti Shtova gjithashtu një drejtkëndësh të prerë me dimensione 1 inç në 0.5 in në pjesën e djathtë në pjesën e poshtme për të shërbyer si një hapje për kordonin e lidhur me orën e alarmit. Së fundi shtova tre hapje rrethore në krye për dy gumëzhitësit dhe butonin. Hapjet e ziles kishin një diametër prej 0.5 inç dhe hapja e butonit ishte 0.375 inç.
Hapi 5: Vendosja së bashku
Kur të gjitha pjesët u prenë, unë përdor një shiringë dhe ngjitës akrilik për ta mbyllur atë së bashku. I mbajta pjesët së bashku dhe i hodha ngjitësin në mes të vrimave për të bërë anët së bashku, por pjesa e sipërme nuk ishte ngjitur poshtë.
Hapi 6: Kodi
Prezantimi:
Ky projekt u kodua duke përdorur gjuhën c ++ në softuerin Arduino IDE. Mikrokontrolluesi i përdorur ishte NodeMCU me ESP8266. Për këtë projekt do të kishim nevojë për një mënyrë për të mbajtur me saktësi kohën, një zile që të tingëllojë, një sistem alarmi që shkakton zhurmën e alarmit dhe një ekran për të shfaqur të gjithë kohën dhe orët e alarmit. Për kodin e plotë referojuni kësaj lidhjeje
Importimi i bibliotekave
Para së gjithash, ne duhet të importojmë bibliotekat e nevojshme.
#përfshi "RTClib.h"
#përfshi "Wire.h" #Include #Include #Include #Include
Inicimi i Variablave
Tjetra ne duhet të fillojmë ndryshoret për më vonë, të caktojmë paraqitjen e kunjave për butonat e ziles, të vendosim RTC dhe të vendosim adresën I2C të ekranit LCD.
LiquidCrystal_I2C LCD (0x27, 20, 4);
const int buzzer1 = 12; const int buzzer2 = 0; butoni const int = 2; RTC_DS3231 rtc; char daysOfTheWeek [7] [12] = {"E Diel", "E Hënë", "E Martë", "E Mërkurë", "E Enjte", "E Premte", "E Shtunë"} në fillim; int aktive; int paraprake = 0; char ahours1 [3]; aminet char1 [3]; int orë1 = 0; int min1 = 0; char ahours2 [3]; aminat char2 [3]; int orë2 = 0; int min2 = 0; char ahours3 [3]; aminat char3 [3]; int orë3 = 0; int min3 = 0; int alarm = 0; int ByteReceptuar; char marreChar; const byte numChars = 32; char moriChars [numChars];
Konfigurimi
Tjetra, ne duhet të kemi një funksion që fillon të gjitha proceset e nevojshme. Në këtë funksion, ne duhet të fillojmë ekranin LCD dhe të printojmë kohët fillestare, të bëjmë një funksion më të vogël që i jep RTC kohë reale nëse nuk e ka atë dhe të fillojmë monitorin serik.
void setup () {
#ifndef ESP8266 ndërsa (! Serial); #endif if (! rtc.begin ()) {Serial.println ("Nuk mund të gjej RTC"); ndërsa (1); } if (rtc.lostPower ()) {Serial.println ("RTC humbi fuqinë, lejon të caktojmë kohën!"); rtc.adjust (DataTime (F (_ DATE_), F (_ TIME_)))} lcd.init (); lcd. backlight (); // e bën Baklight ON. lcd.qartë (); // Pastron LCD lcd.print ("00:00"); // shfaqja në LCD pas ngarkimit të kodit lcd.setCursor (10, 0); lcd.print ("00:00"); lcd.setCursor (0, 1); lcd.print ("Koha"); lcd.setCursor (10, 1); lcd.print ("Alarm 1"); lcd.setCursor (0, 3); lcd.print ("Alarm 2"); lcd.setCursor (0, 2); lcd.print ("00:00"); lcd.setCursor (10, 3); lcd.print ("Alarmi 3"); lcd.setCursor (10, 2); lcd.print ("00:00"); rtc.filloj (); pinMode (butoni, INPUT); // Vendosni një kunj për butonin e heshtjes pinMode (buzzer1, OUTPUT); // vendosni një kunj për daljen e sinjalit pinMode (buzzer2, OUTPUT); // vendosni një kunj për daljen e ziles Serial.begin (9600); Serial.println ("Koha e futjes së alarmeve në formatin HHMM pa hapësirë midis alarmeve"); koha e fillimit = millis ()/1000; }
Marrja e të dhënave
Tani, ne duhet të jemi në gjendje të marrim kohën e alarmit. Për ta bërë këtë, ne krijuam një funksion për të marrë të dhënat nga monitori serik dhe për t'i ruajtur ato në një grup.
void recvWithEndMarker () {
statike int ndx = 0; String timein = Serial.readString (); për (ndx = 0; timein [ndx]; ndx ++) {marrëChars [ndx] = timein [ndx]; } moriChars [ndx] = '\ 0'; Serial.print (marrëChars); }
Vendosja e alarmeve
Hapi tjetër është aftësia për të vendosur alarme. Këtu është kodi për alarmin 1. Për alarmin 2 dhe 3 i njëjti proces u përsërit me disa ndryshime në numër.
/* Alarm 1*/
recvWithEndMarker (); int h, m; për (h = 0; h <2; h ++) {orë 1 [h] = marrëChars [h]; } për (m = 2; m <4; m ++) {amina1 [m-2] = marrëChars [m]; } ahours1 [h] = '\ 0'; aminat1 [m-2] = '\ 0'; Serial.print (ahours1); Serial.print (amins1); orë1 = atoi (ahours1); min1 = atoi (amins1); Serial.print (orë 1); Serial.print (min1);
Zile/Buton
Me të bërë këtë, ne duhet ta bëjmë zilen të fiket kur koha reale dhe koha e alarmit janë të barabarta. Gjithashtu në këtë hap ne bëjmë një buton snooze like që ndalon zilen ndërsa ju e mbani atë.
/ * Butoni i heshtjes */
int heshtje; int b; b = digitalRead (2); nëse (b == LOW) {heshtje = 1; } else {heshtje = 0; } / * Fillo Alarmin * / nëse (orë == orë1 && mins == min1) {alarm = 1; } tjetër nëse (orë == orë2 && mins == min2) {alarm = 1; } tjetër nëse (orë == orë3 && mins == min3) {alarm = 1; } else {alarm = 0; heshtje = 0; } if (alarm == 1 && heshtje == 0) {ton (zile 1, 4000, 1000); toni (zile 2, 4000, 1000); vonesa (1000); noTone (zile 1); noTone (zile2); vonesa (1000); }
Kohët e Shtypjes
Së fundi, ne duhet të printojmë kohën e alarmit dhe kohën reale në ekranin LCD.
DataTime tani = rtc.now ();
orë int = (tani. orë ()); int mins = (tani.minute ()); / * Koha e alarmit në formatin 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 (aminat2); lcd.setCursor (10, 2); lcd.print (ahours3); lcd.setCursor (13, 2); lcd.print (amins3); / * Koha e shfaqjes nga RTC */ lcd.setCursor (0, 0); lcd.print (orë); lcd.print (":"); lcd.print (mins);
Hapi 7: Elektronikë
Ka pjesë të shumta në elektronikën e këtij projekti, siç shihet në faturën e materialeve. Imazhi i Parë është një skemë e elektronikës përfundimtare të projekteve. Imazhi i dytë është dizajni ynë elektronik përfundimtar. Imazhi i Tretë është i projektit tonë në mes të prototipit të dytë.
Për të filluar bashkëngjitni NodeMCU -në tuaj në skajin e skajit tuaj të bukës. Atëherë do t'ju duhet të lidhni të gjitha pajisjet tuaja elektronike me NodeMCU dhe tabelën e bukës. Filloni duke e lidhur ekranin tuaj LCD me kunjat D1 për SCL dhe D2 për SDA. LCD do t'i lejojë përdoruesit të shohë kohën aktuale dhe orët e caktuara të alarmit. Tani keni një tel që lidh buzzers tuaj me kunjat D3 dhe D6. Gumëzhitësit do të lejojnë që alarmi të paralajmërojë përdoruesin kur të ketë arritur koha e caktuar. Tani duhet të bashkëngjitni një buton për të lejuar që alarmi të ndalet. Bashkangjiteni këtë buton në kunjin D4. Tani do ta lidhni orën tuaj në kohë reale në tryezën e bukës. Lidhni orën në kohë reale në mënyrë që të përdorë të njëjtat kunja SDA dhe SCL të përdorura për ekranin LCD.
Hapi 8: Përfundimtar
Nëse keni ndjekur informacionin e dhënë projekti juaj mund të duket si imazhi i mësipërm. Ne ju dëshirojmë fat në përpjekjet tuaja për të rikrijuar këtë projekt dhe kur të keni përfunduar projektin tuaj ju inkurajojmë të ndani fotografi dhe vërejtje me ne në komente. Faleminderit dhe suksese shokët krijues.
Recommended:
Shoku i studimit: 10 hapa
Study Buddy: Ky udhëzues shpjegon se si të krijoni një shok studimi Funksioni i këtij shoku studimi është të ndihmojë adoleshentët midis moshës 14 dhe 18 vjeç të mësojnë se si të planifikojnë dhe studiojnë. Qëllimi është që roboti të mësojë me studentët. Kopertina është pikturuar në një
Rutina e mëngjesit e larjes së fytyrës (për fëmijë): 7 hapa
Rutina e mëngjesit e larjes së fytyrës (për Fëmijët): Gjatë fundjavës, kushëriri im i vogël qëndroi në shtëpinë tonë pasi prindërit e tij nuk ishin në shtëpi, pasi jetova me të për dy ditë, vura re se ai e kishte pak të vështirë të mbante mend çdo hap kur lahej fytyrën e tij pasi zgjohet. Kështu që vendosa ta ndërtoj atë
Ndërtimi i një shoku të robotit Arduino të printuar 3D: 9 hapa
Ndërtimi i Robotit Social Arduino të Shtypur 3D Buddy: Buddy është një robot social arduino i printuar 3D. Ai bashkëvepron me botën duke përdorur një sensor tejzanor për të hartuar zonën e tij të afërt. Kur diçka ndryshon në mjedisin e tij ai reagon. Ai mund të jetë i befasuar ose kureshtar dhe ndonjëherë edhe pak agresiv
Drita e mëngjesit dhe e natës: 4 hapa
Drita e mëngjesit dhe natës: Kjo është një dritë letre e bërë vetë, e përdorur si për mëngjes ashtu edhe për mbrëmje
Makina e mëngjesit: 5 hapa (me fotografi)
Makina e mëngjesit: A jeni zgjuar ndonjëherë në mëngjes me alarmin tuaj të bezdisshëm dhe më pas keni ecur deri në kuzhinë vetëm për të kaluar përpjekjen për të derdhur pijen tuaj. Epo mos shiko më tej! Ky udhëzues do t'ju mësojë se si të bëni një makinë që nuk mund të