Obsah:
- Krok 1: Zhromažďovanie dielov
- Krok 2: Zostavenie obvodu
- Krok 3: Nastavenie LCD displeja a hodín
- Krok 4: Kódovanie
- Krok 5: Čas na testovanie
- Krok 6: Nastavenie aplikácie Bluetooth
- Krok 7: Zostavenie puzdra
- Krok 8: Hotovo
Video: Budík Sunrise s LCD displejom a aplikáciou Bluetooth: 8 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Zima môže byť smutná. Zobudíte sa, je tma a musíte vstať z postele. Posledná vec, ktorú chcete počuť, je nepríjemný zvuk budíka. Ak máte, rovnako ako ja, problémy s ranným vstávaním, tento budík je práve to, čo potrebujete.
V tomto návode postavíme budík Sunrise. Je to budík ako každý iný v tom, že si môžete nastaviť hodinu a minútu, kedy sa chcete prebudiť, ale s výhodou použitia svetla na rozžiarenie vašej spálne na určitý čas, ako je východ slnka, aby vás zobudil namiesto otravného bzučiak!
Modul bluetooth tiež použijeme na vytvorenie aplikácie, ktorá vám umožní nastaviť budík pomocou telefónu na hodiny. LCD displej zobrazí čas, dátum a deň v týždni. Svietidlá Sunrise na trhu existujú, ale môžu byť drahé (rýchle vyhľadávanie na stránkach Google vracia výrobky v rozmedzí 100 EUR), krehké a majú klinický vzhľad. Preto som sa rozhodol vytvoriť si vlastný pre svoj školský projekt Arduino. V nasledujúcom kroku budú uvedené všetky diely. Kód je možné stiahnuť z môjho Github repo východu slnka-budíka. Poďme začať:)
všetok kód nájdete na:
Krok 1: Zhromažďovanie dielov
Na simuláciu východu slnka použijeme ako vstup hodiny a ultra jasnú diódu LED.
Na stavbu obvodu budeme potrebovať:
- Arduino Uno- clockmodule RTC DS3231 - MOSFET na ovládanie jasu svetla - super jasná LED (kúpil som 2, jednu teplú, jednu studenú) - 9V batériu na napájanie LED - nepájivú dosku - LCD displej (16: 2)- Bluetooth adaptér hc-05, aby sme na nastavenie budíka mohli použiť aplikáciu.
Všetko potrebné nájdete na www.martoparts.nl
Krok 2: Zostavenie obvodu
Môžete sa pozrieť na náčrt môjho obvodu, bohužiaľ som v programe nenašiel RTC DS3231, takže som musel urobiť s týmto. Pripojenia sú v skutočnosti trochu odlišné, tu sú spojenia. (modul bluetooth nie je v náčrte, ale ako to funguje, vysvetlím nižšie, pretože je to dosť zložité)
RTC DS3231GND prechádza na arduino k GND
VCC ide na 5v
SDA ide do arduina
SCL prechádza na arduino Nebudeme používať SQW a 32KMOSFET
Kolík brány ide na pin ~ 9 na Arduino Uno, pretože je to PWMDrain pin ide na negatívnu stranu LED Zdrojový pin ide na GND na ArduinoLCD-displejGND ide na GND na arduino
VCC ide na 5VSDA ide na A4 na arduinoSKL ide na A5 na arduinoLED- ide na mosfet+ ide na 5v9v batériu 9v batériu si môžete kúpiť v každom miestnom obchode, zapojte do arduina pomocou konektorovej lišty.
Modul Bluetooth hc-055V ide z arduina na 5V
GND ide na GND na arduine
Teraz sú tu ešte 2 vstupy, ale tu prichádza tá chúlostivá časť, musíme pripojiť opačné vstupy ako tieto 2 na arduinoTX od hc-05 ide k RX na arduinoRX od hc-05 ide k TX na arduino
Dôležité: Uistite sa, že pri odosielaní kódu na arduino ODPOJTE TX & RX od HC-05, inak sa v kompilátore zobrazí chyba „niečo sa pokazilo s nahraním kódu“.
Krok 3: Nastavenie LCD displeja a hodín
Knižnica používaná pre LCD displej je z tekutých kryštálov a nájdete ju na: https://github.com/fdebrabander/Arduino-LiquidCrys… Stiahnite si súbor zip, uložte ho a umiestnite do priečinka Arduino/knižnice
Knižnicu, ktorú používam na prevádzkovanie hodín, nájdete na stránke Rinky-Dinky Electronics https://www.rinkydinkelectronics.com/library.php?id=73 a uistite sa, že ste na stránke DS3231. Stiahnite si súbor zip, uložte ho a umiestnite do priečinka s knižnicami Arduino.
Čas
Zahrňte do arduino kódu knižnicu DS3231 alebo DS1307
Na nastavenie času odkomentujte tieto 3 riadky kódu:
// rtc.setDOW (PONDELOK); // Nastavte deň v týždni na NEDEĽU // rtc.setTime (23, 57, 0); // Nastavte čas na 12:00:00 (formát 24 hodín) // rtc.setDate (14, 1, 2019); // Nastavte dátum na 1. január 2014
Displej LCD
Zahrňte do svojho arduino kódu knižnicu liqduicrystal_i2c
Na tlač na LCD displeji použite
lcd.setCursor (stĺpček, riadok) // poloha vytlačeného textu lcd.print (~) // vytlačený text
Krok 4: Kódovanie
Stiahnite si kód na: github:
Ak chcete nastaviť hodiny na LCD displeji, odkomentujte tieto tri riadky:
// rtc.setDOW (PONDELOK); // Nastavte deň v týždni na NEDEĽU // rtc.setTime (23, 57, 0); // Nastavte čas na 12:00:00 (formát 24 hodín) // rtc.setDate (14, 1, 2019); // Nastavte dátum na 1. január 2014
Použite lcd.setCuros (stĺpček, riadok); na nastavenie polohy textu na displeji
lcd.setCursor (0, 2);
a print () vytlačí niečo na displej
lcd.print (rtc.getDateStr ());
Ak chcete, zmeňte tieto premenné
int fadeTime = 1; // Ako dlho bude svetlo slabnúť na maxint setHour = 02; // Nastavenie hodín na prebudenie (vojenský čas) int setMin = 49; // Nastaviť minútu prebudenia = 9; // Nastavte výstup pomocou PWM
Kód modulu Bluetooth
Reťazec firstHalf = getValue (vstup, ':', 0); // skontrolujte prvý vstup, kým ":"
Reťazec secondHalf = getValue (vstup, ':', 1); // skontrolujte druhý vstup za ":"
// tento kód použite, ak nepoužívate modul bluetooth
// // if (t.hour == setHour && t.min == setMin) // Skontrolujte, či je čas sa zobudiť! // {// start (); //}
// skontrolujte prvé 2 číslice vstupov, potom skontrolujte druhé 2 číslice vstupu
if (t.hour == firstHalf.toInt () && t.min == secondHalf.toInt ()) {start (); }}
// logika na oddelenie reťazcov
Reťazec getValue (Reťazcové údaje, oddeľovač znakov, int index) {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; }} nájdený návrat> index? data.substring (strIndex [0], strIndex [1]): ""; }
Krok 5: Čas na testovanie
Zostavte svoj kód a vyskúšajte, či komponenty fungujú!
Krok 6: Nastavenie aplikácie Bluetooth
Pretože mi bolo nepríjemné kopať do kódu zakaždým, keď som chcel nastaviť budík, chcel som vytvoriť aplikáciu, ktorá by nastavila budík, čo je oveľa jednoduchšie.
Prejdite na stránku https://ai2.appinventor.mit.edu. Môžeme vytvoriť jednoduchú aplikáciu, ktorá nám umožní nastaviť budík. Zahrnul som jednoduché nastavenie dizajnu (kedykoľvek to môžete neskôr vyladiť) a kód použitý pre pripojenie bluetooth. Potom môžete svoju aplikáciu zverejniť a spojiť sa s ňou v telefóne pomocou QR kódu alebo si aplikáciu priamo stiahnuť do počítača a potom ju previesť káblom do telefónu. (snímka obrazovky)
Krok 7: Zostavenie puzdra
Okolo svojich hodín arduino môžete vždy postaviť iné puzdro. Na stavbu vlastného puzdra budíka som použil drevo a matné plexisklo. Vybral som matné plexisklo, aby ste cez puzdro videli jasné svetlo, ale nevideli ste vnútro hodiniek.
Krok 8: Hotovo
Teraz, keď ste nahrali kód do svojho arduina, zostavili ste puzdro a skontrolovali, či ste hodiny zostavili správne, môžete v aplikácii bluetooth nastaviť budík a začať sa budiť prirodzenejšie!:)
Odporúča:
Inteligentný budík: inteligentný budík vyrobený z Raspberry Pi: 10 krokov (s obrázkami)
Inteligentný budík: Inteligentný budík vyrobený z Raspberry Pi: Už ste niekedy chceli inteligentné hodiny? Ak je to tak, toto je riešenie pre vás! Vyrobil som inteligentný budík, toto sú hodiny, v ktorých môžete zmeniť čas budíka podľa webových stránok. Keď sa spustí alarm, zaznie zvuk (bzučiak) a 2 svetlá
Plyšová hračka Bluetooth kocky a vývoj hry pre Android s aplikáciou MIT App Inventor: 22 krokov (s obrázkami)
Plyšová hračka Kocky Bluetooth a vývoj hry pre Android s aplikáciou MIT App Inventor: Hra s kockami má inú metódu1) Tradičné hranie s drevenými alebo mosadznými kockami. Zahrajte si kocky fyzicky a posuňte mincu v mobile alebo PC
Robotické auto s Bluetooth, kamerou a aplikáciou MIT Inventor2: 12 krokov (s obrázkami)
Robotické auto s Bluetooth, kamerou a aplikáciou MIT Inventor2: Chceli ste niekedy postaviť vlastné robotické auto? No … toto je vaša šanca !! V tomto návode vás prevediem tým, ako vytvoriť robotické auto ovládané pomocou Bluetooth a MIT App Inventor2. Uvedomte si, že som nováčik a že toto je môj prvý podnet
RGB LED kocka s aplikáciou Bluetooth + animáciou Tvorca: 14 krokov (s obrázkami)
RGB LED kocka s aplikáciou Bluetooth + AnimationCreator: Toto je návod, ako vytvoriť 6 x 6 x 6 RGB LED (spoločné anódy) ovládané aplikáciou Bluetooth pomocou Arduino Nano. Celú zostavu je možné ľahko prispôsobiť napríklad kocke 4x4x4 alebo 8x8x8. Tento projekt je inšpirovaný spoločnosťou GreatScott. Rozhodol som sa
Budík Sunrise s Arduino: 9 krokov (s obrázkami)
Budík Sunrise s Arduinom: Zima môže byť smutná. Zobudíte sa, je tma a musíte vstať z postele. Posledná vec, ktorú chcete počuť, je krikľavý zvuk budíka. Bývam v Londýne a ráno sa mi ťažko vstáva. Tiež mi chýba prebúdzanie sa