Innehållsförteckning:

Soluppgång väckarklocka med LCD -display och Bluetooth -app: 8 steg
Soluppgång väckarklocka med LCD -display och Bluetooth -app: 8 steg

Video: Soluppgång väckarklocka med LCD -display och Bluetooth -app: 8 steg

Video: Soluppgång väckarklocka med LCD -display och Bluetooth -app: 8 steg
Video: [Osaka Vlog] Fairfield by Marriott Osaka Namba Review| Marriott Bonvoy Platinum Elite Upgrade 2024, Juli
Anonim
Soluppgång väckarklocka med LCD -display och Bluetooth App
Soluppgång väckarklocka med LCD -display och Bluetooth App
Soluppgång väckarklocka med LCD -display och Bluetooth App
Soluppgång väckarklocka med LCD -display och Bluetooth App

Vintertid kan vara trist. Du vaknar, det är mörkt och du måste gå upp ur sängen. Det sista du vill höra är det irriterande ljudet från din väckarklocka. Om du liksom jag har problem med att vakna på morgonen är den här väckarklockan precis vad du behöver.

I den här självstudien kommer vi att bygga en Sunrise Alarm Clock. Det är en väckarklocka som alla andra genom att du kan ställa in den timme och minut du vill vakna, men med fördelen av att använda ljus för att lysa upp ditt sovrum under en tid som en soluppgång för att väcka dig istället för en irriterande summer!

Vi kommer också att använda en Bluetooth -modul för att skapa en app som låter dig ställa larmet via din telefon på klockan. LCD-skärmen visar tid, datum och veckodag. Soluppgångslampor finns på marknaden men de kan vara dyra (en snabb sökning på Google returnerar produkter i intervallet 100 €), sköra och ganska kliniskt utseende. Därför bestämde jag mig för att göra mitt eget för mitt Arduino skolprojekt. Alla delar kommer att listas i nästa steg. Koden kan laddas ner från min Github repo sunrise-alarm-clock. Låt oss börja:)

all kod finns på:

Steg 1: Samla delarna

Samlar delarna
Samlar delarna
Samlar delarna
Samlar delarna
Samlar delarna
Samlar delarna

Vi kommer att använda en klocka som vår ingång och en ultraljus LED som vår utgång för att simulera vår soluppgång.

För att bygga kretsen behöver vi:

- Arduino Uno -clockmodule RTC DS3231 - en MOSFET för att styra ljusets ljusstyrka - en superljus LED (jag köpte 2, en varm, en kall) - 9V batteri för att driva LED - ett brödbräda - en LCD -skärm (16: 2)- Bluetooth-adapter hc-05 så att vi kan använda en app för att ställa in larmet.

Allt du behöver kan köpas på www.martoparts.nl

Steg 2: Montera kretsen

Montering av kretsen
Montering av kretsen
Montering av kretsen
Montering av kretsen

Du kan hänvisa till skissen för min krets, tyvärr kunde jag inte hitta RTC DS3231 i programmet så jag hade att göra med den här. Anslutningar är lite annorlunda i verkligheten, här är anslutningarna. (Bluetooth -modulen finns inte i skissen men jag kommer att förklara hur det fungerar nedan för att det är ganska knepigt)

RTC DS3231GND går till GND på arduino

VCC går till 5v

SDA går till arduino

SCL går till arduinoVi kommer inte att använda SQW & 32KMOSFET

Gate-stift går till stift ~ 9 på Arduino Uno eftersom det är PWMDrain-stift går till den negativa sidan av LED-källan stift går till GND på ArduinoLCD-DisplayGND går till GND på arduino

VCC går till 5VSDA går till A4 på arduinoSKL går till A5 på arduinoLED- går till mosfet+ går till 5v9v batteriet Du kan köpa ett 9v batteri i vilken lokal butik som helst, anslut till arduino med en kontaktlist.

Bluetooth-modulen hc-055V går till 5V från arduino

GND går till GND på arduino

Nu finns det ytterligare 2 ingångar men här kommer den knepiga delen, vi måste ansluta de motsatta ingångarna på de 2 på arduinoTX från hc-05 går till RX på arduinoRX från hc-05 går till TX på arduino

Viktigt: Se till att du KOPPLAR TX och RX från HC-05 när du laddar upp koden på din arduino eller så får du ett felmeddelande som säger "något gick fel med att ladda upp koden" i kompilatorn.

Steg 3: Ställa in LCD -skärmen och klockan

Ställa in LCD -skärmen och klockan
Ställa in LCD -skärmen och klockan
Ställa in LCD -skärmen och klockan
Ställa in LCD -skärmen och klockan

Biblioteket som används för LCD-skärmen är flytande kristall och finns på: https://github.com/fdebrabander/Arduino-LiquidCrys… Ladda ner zip-filen, spara den och placera den i din Arduino/bibliotek-mapp

Biblioteket som jag använder för att köra klockan finns på Rinky-Dinky Electronics https://www.rinkydinkelectronics.com/library.php?id=73 och se till att du är på DS3231-sidan. Ladda ner zip -filen, spara den och placera den i din Arduinos biblioteksmapp.

Tid

Inkludera biblioteket DS3231 eller DS1307 i din arduino -kod

Ta bort dessa tre kodrader för att ställa in tiden:

// rtc.setDOW (MÅNDAG); // Ställ in veckodag till SÖNDAG // rtc.setTime (23, 57, 0); // Ställ in tiden till 12:00:00 (24 -timmarsformat) // rtc.setDate (14, 1, 2019); // Ställ in datumet till 1 januari 2014

LCD skärm

Inkludera biblioteket liqduicrystal_i2c i din arduino -kod

Använd för att skriva ut på LCD -skärmen

lcd.setCursor (kolumn, rad) // textens utskriftlcd.print (~) // text skrivs ut

Steg 4: Kodning

Kodning
Kodning

Ladda ner koden på: github:

Ta bort dessa tre rader för att ställa in klockan på din LCD -skärm:

// rtc.setDOW (MÅNDAG); // Ställ in veckodag till SÖNDAG // rtc.setTime (23, 57, 0); // Ställ in tiden till 12:00:00 (24 -timmarsformat) // rtc.setDate (14, 1, 2019); // Ställ in datumet till 1 januari 2014

Använd lcd.setCuros (kol, rad); för att ställa in textens position på displayen

lcd.setCursor (0, 2);

och skriv ut () för att skriva ut något på displayen

lcd.print (rtc.getDateStr ());

Ändra dessa variabler om du vill

int fadeTime = 1; // Hur länge ljuset kommer att blekna till maxint setHour = 02; // Ställ in timmar för att vakna (militär tid) int setMin = 49; // Ställ in minut för att väcka int uled = 9; // Ställ in pinout med PWM

Bluetooth -modulkod

String firstHalf = getValue (input, ':', 0); // kontrollera första ingången tills ":"

String secondHalf = getValue (input, ':', 1); // kolla andra ingången efter ":"

// använd den här koden om du inte använder Bluetooth -modulen

// // if (t.hour == setHour && t.min == setMin) // Kontrollera om det är dags att vakna! // { // Start(); //}

// kontrollera de första två siffrorna, sedan de andra två siffrorna

if (t.hour == firstHalf.toInt () && t.min == secondHalf.toInt ()) {start (); }}

// logik för att separera strängar

String getValue (String data, char separator, 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; }} återkomst hittad> index? data.substring (strIndex [0], strIndex [1]): ""; }

Steg 5: Dags för test

Kompilera din kod och testa om komponenterna fungerar!

Steg 6: Konfiguration av Bluetooth-app

Bluetooth-appkonfiguration
Bluetooth-appkonfiguration
Bluetooth-appkonfiguration
Bluetooth-appkonfiguration
Bluetooth-appkonfiguration
Bluetooth-appkonfiguration

Eftersom jag tyckte det var irriterande att gräva i koden varje gång jag ville ställa in ett larm ville jag göra en app som skulle ställa in larmet, vilket är mycket lättare.

Gå till https://ai2.appinventor.mit.eduhär kan vi skapa en enkel app som låter oss ställa in larmet, jag har inkluderat den enkla designkonfigurationen (du kan alltid justera detta senare) och koden som används för Du kan sedan publicera din app och ansluta den till din telefon med en QR -kod eller ladda ner appen direkt till din dator och sedan överföra den med kabel på telefonen. (skärmdump)

Steg 7: Bygga fallet

Bygga fallet
Bygga fallet
Bygga fallet
Bygga fallet
Bygga fallet
Bygga fallet

Du kan alltid bygga ett annat fodral runt din arduino -klocka. Jag använde trä och matt plexiglas för att konstruera mitt eget väckarklockfodral. Jag valde matt plexiglas så att du kan se ljuset tydligt skina genom fodralet men du kan inte se klockans insida.

Steg 8: Avslutad

Färdiga!
Färdiga!
Färdiga!
Färdiga!
Färdiga!
Färdiga!

Nu när du har laddat upp koden till din arduino, byggt fodralet och kontrollerat om du har monterat klockan ordentligt kan du ställa in ett larm på bluetooth -appen och börja vakna mer naturligt!:)

Rekommenderad: