Turinys:
- 1 žingsnis: Surinkite dalis
- 2 žingsnis: grandinės surinkimas
- 3 veiksmas: LCD ekrano ir laikrodžio nustatymas
- 4 žingsnis: kodavimas
- 5 žingsnis: laikas išbandyti
- 6 veiksmas: „Bluetooth“programos sąranka
- 7 žingsnis: korpuso kūrimas
- 8 žingsnis: baigta
Video: Saulėtekio žadintuvas su LCD ekranu ir „Bluetooth“programa: 8 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Žiema gali būti liūdna. Tu pabundi, tamsu ir turi išlipti iš lovos. Paskutinis dalykas, kurį norite išgirsti, yra erzinantis žadintuvo garsas. Jei jums, kaip ir man, sunku pabusti ryte, šis žadintuvas yra būtent tai, ko jums reikia.
Šioje pamokoje mes sukursime saulėtekio žadintuvą. Tai žadintuvas, kaip ir bet kuris kitas, nes galite nustatyti valandą ir minutę, kurią norite pabusti, bet naudodamiesi šviesa, kad per tam tikrą laikotarpį apšviestumėte savo miegamąjį, kaip saulėtekis, kad pažadintumėte, o ne erzinate švilpukas!
Mes taip pat naudosime „Bluetooth“modulį kurdami programą, kuri leis jums nustatyti žadintuvą telefonu pagal laikrodį. LCD ekrane bus rodomas laikas, data ir savaitės diena. Saulėtekio lempos yra rinkoje, tačiau jos gali būti brangios (greita paieška „Google“pateikia 100 eurų asortimento produktus), trapios ir gana klinikinės išvaizdos. Štai kodėl aš nusprendžiau sukurti savo „Arduino“mokyklos projektą. Visos dalys bus išvardytos kitame žingsnyje. Kodą galima atsisiųsti iš mano „Github“repo saulėtekio žadintuvo. Pradėkime:)
visą kodą galite rasti:
1 žingsnis: Surinkite dalis
Mes naudosime laikrodį kaip įvestį ir itin ryškų šviesos diodą kaip išvestį, kad imituotume saulėtekį.
Norėdami sukurti grandinę, mums reikės:
- „Arduino Uno clockmodule RTC DS3231“- MOSFET, reguliuojantis šviesos ryškumą - itin ryškus šviesos diodas (aš nusipirkau 2, vieną šiltą, vieną šaltą) - 9 V baterija, skirta LED maitinti - duonos lenta - LCD ekranas (16: 2)- „Bluetooth“adapteris hc-05, kad galėtume naudoti programą žadintuvui nustatyti.
Visko, ko jums reikia, galite nusipirkti www.martoparts.nl
2 žingsnis: grandinės surinkimas
Galite kreiptis į mano grandinės eskizą, deja, aš negalėjau rasti RTC DS3231 programoje, todėl turėjau tai padaryti. Ryšiai iš tikrųjų šiek tiek skiriasi, čia yra jungtys. („Bluetooth“modulis nėra eskize, bet toliau paaiškinsiu, kaip jis veikia, todėl tai gana sudėtinga)
RTC DS3231GND eina į arnino GND
VCC pereina prie 5v
SDA eina į arduino
SCL eina į arduino. Mes nenaudosime SQW ir 32KMOSFET
Vartų kaištis eina į „Arduino Uno“kaištį ~ 9, nes tai yra PWM. Išleidimo kaištis eina į neigiamą šviesos diodo šaltinio kaiščio pusę ir eina į „Arduino“GND
VCC eina į 5VSDA eina į A4 ant arduinoSKL eina į A5 ant arduinoLED- eina į mosfet+ eina į 5v9v bateriją Galite nusipirkti 9v bateriją bet kurioje vietinėje parduotuvėje, prijunkite prie arduino su jungties juosta.
„Bluetooth“modulis hc-055V pereina prie 5 V iš „arduino“
GND eina į GND ant arduino
Dabar yra dar 2 įėjimai, bet čia yra sudėtinga dalis, mes turime prijungti priešingus tų 2 įėjimus į arduino. TX iš „hc-05“eina į „RX“naudojant „arduino“.
Svarbu: įsitikinkite, kad atjungėte TX ir RX iš HC-05, kai įkeliate kodą į savo arduino, arba kompiliavimo kompiuteryje pasirodys klaida, sakanti „kažkas nepavyko įkeliant kodą“.
3 veiksmas: LCD ekrano ir laikrodžio nustatymas
Skystųjų kristalų ekranui naudojama biblioteka yra skystųjų kristalų, ją galima rasti adresu: https://github.com/fdebrabander/Arduino-LiquidCrys… Atsisiųskite zip failą, išsaugokite jį ir įdėkite į aplanką „Arduino“
Biblioteką, kurią naudoju laikrodžiui paleisti, rasite „Rinky-Dinky Electronics“https://www.rinkydinkelectronics.com/library.php?id=73 ir įsitikinkite, kad esate DS3231 puslapyje. Atsisiųskite ZIP failą, išsaugokite jį ir įdėkite į savo „Arduino“bibliotekų aplanką.
Laikas
Į savo arduino kodą įtraukite biblioteką DS3231 arba DS1307
Norėdami nustatyti laiką, ištrinkite šias 3 kodo eilutes:
// rtc.setDOW (PIRMADIENIS); // Nustatykite savaitės dieną į SUNDAY // rtc.setTime (23, 57, 0); // Nustatykite laiką iki 12:00:00 (24 val. Formatas) // rtc.setDate (14, 1, 2019); // Nustatykite datą į 2014 m. Sausio 1 d
LCD ekranas
Į savo arduino kodą įtraukite biblioteką liqduicrystal_i2c
Norėdami spausdinti naudodami LCD ekraną, naudokite
lcd.setCursor (kolona, eilutė) // atspausdinto teksto padėtis lcd.print (~) // spausdintas tekstas
4 žingsnis: kodavimas
Atsisiųskite kodą: github:
Norėdami nustatyti laikrodį savo LCD ekrane, atmeskite šias 3 eilutes:
// rtc.setDOW (PIRMADIENIS); // Nustatykite savaitės dieną į SUNDAY // rtc.setTime (23, 57, 0); // Nustatykite laiką iki 12:00:00 (24 val. Formatas) // rtc.setDate (14, 1, 2019); // Nustatykite datą į 2014 m. Sausio 1 d
Naudokite lcd.setCuros (stulpelis, eilutė); norėdami nustatyti rodomo teksto padėtį
lcd.setCursor (0, 2);
ir spausdinkite (), kad ką nors atspausdintumėte ekrane
lcd.print (rtc.getDateStr ());
Jei norite, pakeiskite šiuos kintamuosius
int fadeTime = 1; // Kiek laiko šviesa išnyks iki maxint setHour = 02; // Nustatykite pabudimo valandas (karinis laikas) int setMin = 49; // Nustatyti pabudimo minutę int uled = 9; // Nustatyti pinout naudojant PWM
„Bluetooth“modulio kodas
Styga firstHalf = getValue (įvestis, ':', 0); // patikrinkite pirmąjį įvestį iki ":"
Eilutė secondHalf = getValue (įvestis, ':', 1); // patikrinkite antrąjį įvestį po ":"
// naudokite šį kodą, jei nenaudojate „Bluetooth“modulio
// // if (t.hour == setHour && t.min == setMin) // Patikrinkite, ar jau laikas pabusti! // {// start (); //}
// patikrinkite pirmuosius 2 skaitmenų įvestis, tada patikrinkite antrus 2 įvesties skaitmenis
if (t.hour == firstHalf.toInt () && t.min == secondHalf.toInt ()) {start (); }}
// logika atskiroms eilutėms
Styga getValue (eilutės duomenys, simbolių separatorius, int indeksas) {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) {rasta ++; strIndex [0] = strIndex [1] + 1; strIndex [1] = (i == maxIndex)? i+1: i; }} grąžinti rasti> indeksas? data.substring (strIndex [0], strIndex [1]): ""; }
5 žingsnis: laikas išbandyti
Sudarykite savo kodą ir patikrinkite, ar komponentai veikia!
6 veiksmas: „Bluetooth“programos sąranka
Kadangi man buvo erzina kasti kodą kiekvieną kartą, kai norėjau nustatyti žadintuvą, norėjau sukurti programą, kuri nustatytų žadintuvą, o tai yra daug lengviau.
Eikite į https://ai2.appinventor.mit.edu „Bluetooth“ryšį. Tada galite paskelbti savo programą ir prisijungti prie jos naudodami savo telefoną naudodami QR kodą arba tiesiogiai atsisiųsdami programą į savo kompiuterį, tada perkelkite ją savo telefono kabeliu. (ekrano kopija)
7 žingsnis: korpuso kūrimas
Visada galite sukurti kitą dėklą aplink savo arduino laikrodį. Savo medinio žadintuvo dėklo gamybai naudojau medinį ir matinį organinį stiklą. Aš pasirinkau matinį organinį stiklą, kad galėtum matyti, jog pro korpusą aiškiai sklinda šviesa, bet nematai laikrodžio vidinės pusės.
8 žingsnis: baigta
Dabar, kai įkėlėte kodą į savo arduino, sukūrėte dėklą ir patikrinote, ar tinkamai surinkote laikrodį, galite nustatyti žadintuvą „Bluetooth“programoje ir pradėti žadinti natūraliau!:)
Rekomenduojamas:
Išmanusis žadintuvas: išmanusis žadintuvas, pagamintas naudojant „Raspberry Pi“: 10 žingsnių (su nuotraukomis)
Išmanusis žadintuvas: išmanusis žadintuvas, pagamintas naudojant „Raspberry Pi“: ar kada nors norėjote išmaniojo laikrodžio? Jei taip, tai yra sprendimas jums! Aš sukūriau išmanųjį žadintuvą, tai laikrodis, kuriuo galite pakeisti žadintuvo laiką pagal svetainę. Kai žadintuvas išsijungs, pasigirs garsas (švilpukas) ir 2 lemputės
Saulėtekio žadintuvas (pagerinti ryto budrumą): 13 žingsnių
Saulėtekio žadintuvas (pagerinti ryto budrumą): suplanuokite savo asmeninį saulėtekį, pagerina ryto pabudimą Paskutinis atsitiktinis išradimas, suplanuokite savo saulėtekį! Dienos metu mėlyna saulės šviesa padidina mūsų dėmesį, atmintį, energijos lygį, reakcijos laiką ir bendrą nuotaiką . Mėlyna šviesa
LED saulėtekio žadintuvas: 5 žingsniai (su nuotraukomis)
LED saulėtekio žadintuvas: sunku atsikelti ryte? Nekenčiate aštraus žadinančio aliarmo garso? Ar verčiau pats pasigaminsite ką nors, ką galėtumėte nusipirkti už mažiau pinigų ir laiko? Tada patikrinkite šį LED saulėtekio žadintuvą! Saulėtekio žadintuvai sukurti
Saulėtekio žadintuvas su „Arduino“: 9 žingsniai (su nuotraukomis)
Saulėtekio žadintuvas su „Arduino“: žiema gali būti liūdna. Tu pabundi, tamsu ir turi išlipti iš lovos. Paskutinis dalykas, kurį norite išgirsti, yra triukšmingas žadintuvo garsas. Gyvenu Londone ir man sunku pabusti ryte. Be to, pasiilgau pabusti
LED saulėtekio žadintuvas su pritaikomu dainos žadintuvu: 7 žingsniai (su nuotraukomis)
LED saulėtekio žadintuvas su pritaikomu dainos žadintuvu: mano motyvacija Šią žiemą mano mergina turėjo daug problemų atsikeldama ryte ir atrodė, kad kenčia nuo SAD (sezoninio afektinio sutrikimo). Aš net pastebiu, kaip daug sunkiau pabusti žiemą, nes saulė dar neatėjo