Obsah:

Budík Sunrise s LCD displejom a aplikáciou Bluetooth: 8 krokov
Budík Sunrise s LCD displejom a aplikáciou Bluetooth: 8 krokov

Video: Budík Sunrise s LCD displejom a aplikáciou Bluetooth: 8 krokov

Video: Budík Sunrise s LCD displejom a aplikáciou Bluetooth: 8 krokov
Video: DX-001: Все в одном - компактные часы с календарём, будильником, термометром и гигрометром! 2024, Júl
Anonim
Budík Sunrise s LCD displejom a aplikáciou Bluetooth
Budík Sunrise s LCD displejom a aplikáciou Bluetooth
Budík Sunrise s LCD displejom a aplikáciou Bluetooth
Budík Sunrise s LCD displejom a aplikáciou Bluetooth

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

Zhromažďovanie dielov
Zhromažďovanie dielov
Zhromažďovanie dielov
Zhromažďovanie dielov
Zhromažďovanie dielov
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

Zostavenie obvodu
Zostavenie obvodu
Zostavenie obvodu
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

Nastavenie LCD displeja a hodín
Nastavenie LCD displeja a hodín
Nastavenie LCD displeja a hodín
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

Kódovanie
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

Nastavenie aplikácie Bluetooth
Nastavenie aplikácie Bluetooth
Nastavenie aplikácie Bluetooth
Nastavenie aplikácie Bluetooth
Nastavenie aplikácie Bluetooth
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

Budovanie prípadu
Budovanie prípadu
Budovanie prípadu
Budovanie prípadu
Budovanie prípadu
Budovanie prípadu

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

Hotovo!
Hotovo!
Hotovo!
Hotovo!
Hotovo!
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: