Satura rādītājs:

Saullēkta modinātājs ar LCD displeju un Bluetooth lietotni: 8 soļi
Saullēkta modinātājs ar LCD displeju un Bluetooth lietotni: 8 soļi

Video: Saullēkta modinātājs ar LCD displeju un Bluetooth lietotni: 8 soļi

Video: Saullēkta modinātājs ar LCD displeju un Bluetooth lietotni: 8 soļi
Video: Обзор умных часов Xiaomi MIBRO A1: отличные бюджетные умные часы для фитнеса и здоровья 2024, Jūlijs
Anonim
Saullēkta modinātājs ar LCD displeju un Bluetooth lietotni
Saullēkta modinātājs ar LCD displeju un Bluetooth lietotni
Saullēkta modinātājs ar LCD displeju un Bluetooth lietotni
Saullēkta modinātājs ar LCD displeju un Bluetooth lietotni

Ziema var būt skumja. Tu pamosties, ir tumšs un tev jāizkāpj no gultas. Pēdējā lieta, ko vēlaties dzirdēt, ir modinātāja kaitinošā skaņa. Ja jums, tāpat kā man, ir grūti pamosties no rīta, šis modinātājs ir tieši tas, kas jums nepieciešams.

Šajā apmācībā mēs izveidosim saullēkta modinātāju. Tas ir modinātājs, tāpat kā jebkurš cits, jo jūs varat iestatīt stundu un minūti, kad vēlaties pamosties, bet, izmantojot gaismu, lai apgaismotu guļamistabu noteiktā laika periodā, piemēram, saullēkta laikā, lai jūs pamodinātu, nevis kaitinošu skaņas signāls!

Mēs arī izmantosim Bluetooth moduli, lai izveidotu lietotni, kas ļauj iestatīt modinātāju, izmantojot tālruni, uz pulksteni. LCD displejā būs redzams laiks, datums un nedēļas diena. Saullēkta lampas ir tirgū, taču tās var būt dārgas (ātra meklēšana Google vietnē atgriež produktus 100 eiro diapazonā), trauslas un diezgan klīniska izskata. Tāpēc es nolēmu izveidot savu savam Arduino skolas projektam. Visas detaļas tiks uzskaitītas nākamajā darbībā. Kodu var lejupielādēt no mana Github repo saullēkta modinātāja. Sāksim:)

visu kodu var atrast:

1. darbība: detaļu savākšana

Daļu savākšana
Daļu savākšana
Daļu savākšana
Daļu savākšana
Daļu savākšana
Daļu savākšana

Mēs izmantosim pulksteni kā ieeju un īpaši spilgtu LED kā izeju, lai simulētu mūsu saullēktu.

Lai izveidotu ķēdi, mums būs nepieciešams:

- Arduino Uno -clockmodule RTC DS3231 - MOSFET, lai kontrolētu gaismas spilgtumu - īpaši spilgts LED (es nopirku 2, vienu siltu, vienu aukstu) - 9 V akumulators, lai darbinātu LED - maizes dēlis - LCD displejs (16: 2)- Bluetooth adapteris hc-05, lai mēs varētu izmantot lietotni, lai iestatītu modinātāju.

Visu nepieciešamo var iegādāties vietnē www.martoparts.nl

2. solis: shēmas montāža

Ķēdes montāža
Ķēdes montāža
Ķēdes montāža
Ķēdes montāža

Jūs varat atsaukties uz manas shēmas skici, diemžēl es nevarēju programmā atrast RTC DS3231, tāpēc man bija jādara ar šo. Savienojumi reāli ir nedaudz atšķirīgi, šeit ir savienojumi. (Bluetooth modulis nav skicē, bet es paskaidrošu, kā tas darbojas zemāk, tāpēc tas ir diezgan sarežģīts)

RTC DS3231GND arduino iet uz GND

VCC iet uz 5v

SDA iet uz arduino

SCL iet uz arduino. Mēs neizmantosim SQW un 32KMOSFET

Vārtu tapa iet uz Arduino Uno tapu ~ 9, jo tā ir PWMDrain tapas iet uz LED avota tapas negatīvo pusi iet uz GND uz ArduinoLCD-DisplayGND iet uz GND uz arduino

VCC iet uz 5VSDA iet uz A4 uz arduinoSKL iet uz A5 uz arduinoLED- iet uz mosfet+ iet uz 5v9v akumulatoru Jūs varat iegādāties 9 voltu akumulatoru jebkurā vietējā veikalā, pievienojiet arduino ar savienotāja sloksni.

Bluetooth modulis hc-055V no arduino pārslēdzas uz 5 V.

GND iet uz GND uz arduino

Tagad ir vēl 2 ieejas, bet šeit ir sarežģītā daļa, mums ir jāpievieno pretējās 2 ieejas arduino. TX no hc-05 iet uz RX arduinoRX no hc-05 iet uz TX arduino

Svarīgi: augšupielādējot kodu savā arduino, noteikti atvienojiet TX & RX no HC-05, pretējā gadījumā kompilētājā parādīsies kļūda, sakot: "kaut kas notika nepareizi, augšupielādējot kodu".

3. darbība: LCD displeja un pulksteņa iestatīšana

LCD displeja un pulksteņa iestatīšana
LCD displeja un pulksteņa iestatīšana
LCD displeja un pulksteņa iestatīšana
LCD displeja un pulksteņa iestatīšana

Bibliotēka, ko izmanto LCD displejā, ir šķidro kristālu, un to var atrast šeit: https://github.com/fdebrabander/Arduino-LiquidCrys… Lejupielādējiet zip failu, saglabājiet to un ievietojiet to mapē Arduino/libraries

Bibliotēku, kuru izmantoju pulksteņa darbināšanai, var atrast vietnē Rinky-Dinky Electronics https://www.rinkydinkelectronics.com/library.php?id=73 un pārliecinieties, vai atrodaties DS3231 lapā. Lejupielādējiet zip failu, saglabājiet to un ievietojiet to savā Arduino bibliotēku mapē.

Laiks

Iekļaujiet bibliotēku DS3231 vai DS1307 savā arduino kodā

Lai iestatītu laiku, noņemiet komentārus no šīm 3 koda rindām:

// rtc.setDOW (PIRMDIENA); // Iestatiet nedēļas dienu uz SUNDAY // rtc.setTime (23, 57, 0); // Iestatiet laiku uz 12:00:00 (24 stundu formāts) // rtc.setDate (14, 1, 2019); // Iestatiet datumu uz 2014. gada 1. janvāri

LCD displejs

Iekļaujiet bibliotēku liqduicrystal_i2c savā arduino kodā

Lai drukātu uz LCD displeja, izmantojiet

lcd.setCursor (kolonna, rinda) // drukātā teksta novietojums lcd.print (~) // izdrukāts teksts

4. solis: kodēšana

Kodēšana
Kodēšana

Lejupielādējiet kodu vietnē github:

Lai iestatītu pulksteni LCD displejā, atceliet šīs trīs rindas:

// rtc.setDOW (PIRMDIENA); // Iestatiet nedēļas dienu uz SUNDAY // rtc.setTime (23, 57, 0); // Iestatiet laiku uz 12:00:00 (24 stundu formāts) // rtc.setDate (14, 1, 2019); // Iestatiet datumu uz 2014. gada 1. janvāri

Izmantojiet lcd.setCuros (kolonna, rinda); lai iestatītu displejā redzamā teksta pozīciju

lcd.setCursor (0, 2);

un izdrukājiet (), lai displejā kaut ko izdrukātu

lcd.print (rtc.getDateStr ());

Ja vēlaties, mainiet šos mainīgos

int fadeTime = 1; // Cik ilgi gaisma pazudīs līdz maxint setHour = 02; // Iestatiet pamošanās stundas (militārais laiks) int setMin = 49; // Iestatīt pamošanās minūti int uled = 9; // Iestatīt pinout ar PWM

Bluetooth moduļa kods

String firstHalf = getValue (ievade, ':', 0); // pārbaudiet pirmo ievadi līdz ":"

String secondHalf = getValue (ievade, ':', 1); // pārbaudiet otro ievadi aiz ":"

// izmantojiet šo kodu, ja neizmantojat Bluetooth moduli

// // if (t.hour == setHour && t.min == setMin) // Pārbaudiet, vai ir pienācis laiks pamosties! // { // sākt(); //}

// pārbaudiet pirmo 2 ciparu ievadi, pēc tam pārbaudiet ievades otros 2 ciparus

ja (t.stunda == pirmāPuseInt () &&t.min == sekundePuseInt ()) {sākums (); }}

// loģika, lai atdalītu virknes

String getValue (Virkņu dati, rakstzīmju atdalītājs, int indekss) {int atrasts = 0; int strIndex = {0, -1}; int maxIndex = dati.garums () - 1;

par (int i = 0; i <= maxIndex && atrasts <= indekss; i ++) {ja (data.charAt (i) == atdalītājs || i == maxIndex) {atrasts ++; strIndex [0] = strIndex [1] + 1; strIndex [1] = (i == maxIndex)? i+1: i; }} atrasta atgriešanās> indekss? data.substring (strIndex [0], strIndex [1]): ""; }

5. solis: laiks testēšanai

Apkopojiet savu kodu un pārbaudiet, vai komponenti darbojas!

6. darbība. Bluetooth lietotņu iestatīšana

Bluetooth lietotņu iestatīšana
Bluetooth lietotņu iestatīšana
Bluetooth lietotņu iestatīšana
Bluetooth lietotņu iestatīšana
Bluetooth lietotņu iestatīšana
Bluetooth lietotņu iestatīšana

Tā kā man šķita kaitinoši iedziļināties kodā ikreiz, kad vēlējos iestatīt modinātāju, vēlējos izveidot lietotni, kas iestatītu modinātāju, kas ir daudz vieglāk.

Dodieties uz vietni https://ai2.appinventor.mit.edu šeit mēs varam izveidot vienkāršu lietotni, kas ļauj iestatīt modinātāju, es esmu iekļāvis vienkāršā dizaina iestatīšanu (jūs vienmēr varat to pielāgot vēlāk) un kodu, kas izmantots Bluetooth savienojumu. Pēc tam varat publicēt savu lietotni un izveidot savienojumu ar to savā tālrunī, izmantojot QR kodu vai tieši lejupielādējot lietotni savā datorā, pēc tam pārnesot to ar kabeli tālrunī. (ekrānuzņēmums)

7. solis: lietas izveidošana

Lietas veidošana
Lietas veidošana
Lietas veidošana
Lietas veidošana
Lietas veidošana
Lietas veidošana

Ap arduino pulksteni vienmēr varat izveidot citu lietu. Es izmantoju koku un matētu plexiglass, lai izveidotu savu modinātāja korpusu. Es izvēlējos matētu plexiglass, lai jūs varētu redzēt, kā gaisma skaidri spīd cauri korpusam, bet jūs neredzat pulksteņa iekšpusi.

8. solis: pabeigts

Pabeigts!
Pabeigts!
Pabeigts!
Pabeigts!
Pabeigts!
Pabeigts!

Tagad, kad esat augšupielādējis kodu savā arduino, izveidojis korpusu un pārbaudījis, vai esat pareizi salicis pulksteni, varat iestatīt modinātāju lietotnē Bluetooth un sākt dabīgāk pamosties!:)

Ieteicams: