Sisukord:

Päikesetõusu äratuskell LCD -ekraani ja Bluetooth -rakendusega: 8 sammu
Päikesetõusu äratuskell LCD -ekraani ja Bluetooth -rakendusega: 8 sammu

Video: Päikesetõusu äratuskell LCD -ekraani ja Bluetooth -rakendusega: 8 sammu

Video: Päikesetõusu äratuskell LCD -ekraani ja Bluetooth -rakendusega: 8 sammu
Video: Лагуна 52 – 2000 морских миль, от Амстердама до Средиземного моря, бывший Большой круг. 2024, Juuli
Anonim
Päikesetõusu äratuskell LCD -ekraani ja Bluetooth -rakendusega
Päikesetõusu äratuskell LCD -ekraani ja Bluetooth -rakendusega
Päikesetõusu äratuskell LCD -ekraani ja Bluetooth -rakendusega
Päikesetõusu äratuskell LCD -ekraani ja Bluetooth -rakendusega

Talv võib olla kurb. Ärkad üles, on pime ja pead voodist tõusma. Viimane asi, mida soovite kuulda, on äratuskella tüütu heli. Kui teil, nagu minul, on hommikul ärkamisega probleeme, on see äratuskell just see, mida vajate.

Selles õpetuses ehitame päikesetõusu äratuskella. See on äratuskell nagu iga teine selle poolest, et saate seada ärkamiseks tunde ja minuteid, kuid selle abil saate valguse abil oma magamistoa heledaks aja jooksul nagu päikesetõus, et äratada teid tüütu asemel. sumin!

Samuti kasutame Bluetooth -moodulit rakenduse loomiseks, mis võimaldab teil äratuse telefoni kaudu kellale seada. LCD-ekraanil kuvatakse kellaaeg, kuupäev ja nädalapäev. Päikesetõusu lambid on turul olemas, kuid need võivad olla kallid (kiire otsing Google'is tagastab 100-euroseid tooteid), habras ja üsna kliinilise välimusega. Sellepärast otsustasin teha oma Arduino kooliprojekti jaoks oma. Kõik osad loetletakse järgmises etapis. Koodi saab alla laadida minu Githubi repo päikesetõusu-äratuskellast. Alustagem:)

kogu koodi leiate aadressilt:

Samm: osade kogumine

Osade kogumine
Osade kogumine
Osade kogumine
Osade kogumine
Osade kogumine
Osade kogumine

Päikesetõusu simuleerimiseks kasutame sisendina kella ja väljundina ülitugevat LED-i.

Vooluringi ehitamiseks vajame:

- Arduino unokella moodul RTC DS3231 - MOSFET valguse heleduse juhtimiseks - ülitugev LED (ostsin 2, üks soe, üks külm) - 9V aku LED -i toiteks - leivaplaat - LCD -ekraan (16: 2)- Bluetooth-adapter hc-05, et saaksime äratuse seadmiseks rakendust kasutada.

Kõik vajaliku saab osta saidilt www.martoparts.nl

Samm: vooluringi kokkupanek

Ringraja kokkupanek
Ringraja kokkupanek
Ringraja kokkupanek
Ringraja kokkupanek

Võite viidata minu vooluringi visandile, kahjuks ei leidnud ma programmist RTC DS3231, nii et pidin sellega hakkama saama. Ühendused on tegelikkuses natuke erinevad, siin on ühendused. (bluetooth -moodul pole visandis, kuid selgitan allpool, kuidas see töötab, põhjustades selle üsna keerulise)

RTC DS3231GND läheb arduino GND -le

VCC läheb 5v peale

SDA läheb arduinole

SCL läheb arduino me ei kasuta SQW ja 32KMOSFET

Värava tihvt läheb Arduino Uno nööpnõelale ~ 9, kuna see on PWMDrain-tihvt läheb LED-i allika tihvti negatiivsele poolele Arduino GND-le LCD-ekraan GND läheb arduino GND-le

VCC läheb 5VSDA-le läheb A4 arduinoSKL-il läheb arduinoLED-ile A5- läheb mosfet+ läheb 5v9v akule. 9-voldise aku saate osta igas kohalikus poes, ühendage pistikuribaga arduino.

Bluetooth-moodul hc-055V läheb arduino 5V-le

GND läheb arduino kaudu GND -le

Nüüd on veel 2 sisendit, kuid siin on keeruline osa, me peame ühendama nende 2 vastupidised sisendid arduino-s. TX alates hc-05 läheb RX-i arduino-le RX alates hc-05 läheb TX-le arduino

Tähtis: veenduge, et lahutate TX & RX-i HC-05-st, kui laadite oma arduino-le koodi üles, vastasel juhul saate vea, mis ütleb kompilaatoris, et "koodi üleslaadimisel läks midagi valesti".

3. samm: LCD -ekraani ja kella seadistamine

LCD -ekraani ja kella seadistamine
LCD -ekraani ja kella seadistamine
LCD -ekraani ja kella seadistamine
LCD -ekraani ja kella seadistamine

LCD-ekraani jaoks kasutatav raamatukogu on vedelkristall ja selle leiate aadressilt: https://github.com/fdebrabander/Arduino-LiquidCrys… Laadige alla zip-fail, salvestage see ja asetage see kausta Arduino/libraries

Teeki, mida ma kella käitamiseks kasutan, leiate aadressilt Rinky-Dinky Electronics https://www.rinkydinkelectronics.com/library.php?id=73 ja veenduge, et olete DS3231 lehel. Laadige alla zip -fail, salvestage see ja asetage see oma Arduino raamatukogude kausta.

Aeg

Kaasake raamatukogu DS3231 või DS1307 oma arduino koodi

Kellaaja määramiseks tühistage need kolm koodirida:

// rtc.setDOW (ESMASPÄEV); // Määra nädalapäevaks SUNDAY // rtc.setTime (23, 57, 0); // Määra kellaajaks 12:00:00 (24h formaat) // rtc.setDate (14, 1, 2019); // Määra kuupäevaks 1. jaanuar 2014

LCD ekraan

Kaasake raamatukogu liqduicrystal_i2c oma arduino koodi

LCD -ekraanile printimiseks kasutage

lcd.setCursor (veerg, rida) // trükitud teksti asukoht lcd.print (~) // trükitud tekst

4. samm: kodeerimine

Kodeerimine
Kodeerimine

Laadige kood alla saidilt: github:

LCD -ekraanil kella seadmiseks tühistage need kolm rida:

// rtc.setDOW (ESMASPÄEV); // Määra nädalapäevaks SUNDAY // rtc.setTime (23, 57, 0); // Määra kellaajaks 12:00:00 (24h formaat) // rtc.setDate (14, 1, 2019); // Määra kuupäevaks 1. jaanuar 2014

Kasuta lcd.setCuros (col, rida); et kuvada teksti asukoht

lcd.setCursor (0, 2);

ja prindi (), et ekraanile midagi printida

lcd.print (rtc.getDateStr ());

Soovi korral muutke neid muutujaid

int fadeTime = 1; // Kui kaua valgus kustub maxint setHour = 02; // Määra äratustunnid (sõjaväeline aeg) int setMin = 49; // Määra äratamise minut int uled = 9; // Määra pinout PWM -iga

Bluetooth -mooduli kood

String firstHalf = getValue (sisend, ':', 0); // kontrollige esimest sisendit kuni ":"

String secondHalf = getValue (sisend, ':', 1); // kontrollige teist sisendit pärast ":"

// kasutage seda koodi, kui te ei kasuta bluetooth moodulit

// // if (t.hour == setHour && t.min == setMin) // Kontrollige, kas on aeg ärgata! // {// algus (); //}

// kontrollige esimest 2 -kohalist sisendit, seejärel kontrollige sisendi teist 2 -kohalist numbrit

if (t.tund == esimene pool | toInt () && t.min == sekund }}

// loogika stringide eraldamiseks

String getValue (Stringiandmed, sümbol eraldaja, int indeks) {int leitud = 0; int strIndex = {0, -1}; int maxIndex = andmed.pikkus () - 1;

jaoks (int i = 0; i <= maxIndex && leitud <= indeks; i ++) {if (data.charAt (i) == eraldaja || i == maxIndex) {leitud ++; strIndex [0] = strIndex [1] + 1; strIndex [1] = (i == maxIndex)? i+1: i; }} tagastamine leitud> indeks? data.substring (strIndex [0], strIndex [1]): ""; }

Samm: testimise aeg

Koostage oma kood ja testige, kas komponendid töötavad!

6. toiming: Bluetoothi rakenduse seadistamine

Bluetoothi rakenduse seadistamine
Bluetoothi rakenduse seadistamine
Bluetoothi rakenduse seadistamine
Bluetoothi rakenduse seadistamine
Bluetoothi rakenduse seadistamine
Bluetoothi rakenduse seadistamine

Kuna mulle tundus tüütu süveneda koodi sisse iga kord, kui soovisin äratust seada, tahtsin teha äratuse seadmiseks rakenduse, mis on palju lihtsam.

Minge aadressile https://ai2.appinventor.mit.edu Bluetooth -ühendus. Seejärel saate oma rakenduse avaldada ja sellega oma telefoniga ühenduse luua, kasutades QR -koodi või laadides rakenduse otse arvutisse alla, seejärel teisaldades selle telefoni kaabli abil. (ekraanipilt)

7. samm: korpuse ehitamine

Korpuse ehitamine
Korpuse ehitamine
Korpuse ehitamine
Korpuse ehitamine
Korpuse ehitamine
Korpuse ehitamine

Saate alati oma arduino kella ümber ehitada erineva ümbrise. Kasutasin oma äratuskellaümbrise ehitamiseks puitu ja matt pleksiklaasi. Valisin matt pleksiklaasi, nii et näete korpuse kaudu selgelt paistvat valgust, kuid te ei näe kella sisemust.

8. samm: lõpetatud

Valmis!
Valmis!
Valmis!
Valmis!
Valmis!
Valmis!

Nüüd, kui olete koodi oma arduinole üles laadinud, korpuse üles ehitanud ja kontrollinud, kas olete oma kella õigesti kokku pannud, saate bluetooth -rakenduses äratuse seada ja loomulikumalt ärgata!:)

Soovitan: