Inhoudsopgave:
- Stap 1: Verzamelen van de onderdelen
- Stap 2: Het circuit monteren
- Stap 3: Het LCD-scherm en de klok instellen
- Stap 4: Coderen
- Stap 5: Tijd om te testen
- Stap 6: Bluetooth-app instellen
- Stap 7: De zaak bouwen
- Stap 8: Klaar
Video: Sunrise-wekker met lcd-scherm en Bluetooth-app - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Wintertijd kan verdrietig zijn. Je wordt wakker, het is donker en je moet je bed uit. Het laatste wat je wilt horen is het vervelende geluid van je wekker. Als je, net als ik, moeite hebt om 's ochtends wakker te worden, is deze wekker precies wat je nodig hebt.
In deze tutorial gaan we een Sunrise Alarm Clock bouwen. Het is een wekker zoals elke andere, omdat je het uur en de minuut kunt instellen waarop je wakker wilt worden, maar met het voordeel dat je licht gebruikt om je slaapkamer gedurende een bepaalde periode op te fleuren, zoals een zonsopgang om je wakker te maken in plaats van een irritante wekker. zoemer!
We gaan ook een bluetooth-module gebruiken om een app te maken waarmee je het alarm via je telefoon op de klok kunt zetten. Het LCD-scherm toont de tijd, de datum en de dag van de week. Er zijn zonsopkomstlampen op de markt, maar ze kunnen duur zijn (een snelle zoekopdracht op Google levert producten op in het bereik van € 100), fragiel en vrij klinisch ogend. Daarom heb ik besloten om er zelf een te maken voor mijn Arduino School Project. Alle onderdelen worden in de volgende stap vermeld. De code kan worden gedownload van mijn Github repo zonsopgang-wekker. Laten we beginnen:)
alle code is te vinden op:
Stap 1: Verzamelen van de onderdelen
We gebruiken een klok als input en een ultraheldere LED als output om onze zonsopgang te simuleren.
Om het circuit te bouwen hebben we nodig:
- Arduino Uno-clockmodule RTC DS3231 - een MOSFET om de helderheid van het licht te regelen - een superheldere LED (ik heb er 2 gekocht, een warme, een koude) - 9V batterij om de LED van stroom te voorzien - een breadboard- een LCD-scherm (16:2)- Bluetooth-adapter hc-05 zodat we een app kunnen gebruiken om het alarm in te stellen.
Alles wat je nodig hebt koop je op www.martoparts.nl
Stap 2: Het circuit monteren
Je kunt verwijzen naar de schets voor mijn circuit, helaas kon ik de RTC DS3231 niet in het programma vinden, dus ik moest het met deze doen. Verbindingen zijn in het echt een beetje anders, hier zijn de verbindingen. (de bluetooth-module staat niet in de schets maar ik zal hieronder uitleggen hoe het werkt want het is nogal lastig)
RTC DS3231GND gaat naar GND op de arduino
VCC gaat naar de 5v
SDA gaat naar arduino
SCL gaat naar Arduino We zullen SQW & 32KMOSFET niet gebruiken
Gate pin gaat naar pin ~ 9 op de Arduino Uno omdat het PWMDrain pin gaat naar de negatieve kant van de LED Source pin gaat naar GND op de ArduinoLCD-DisplayGND gaat naar GND op de Arduino
VCC gaat naar 5VSDA gaat naar A4 op de arduinoSKL gaat naar A5 op de arduinoLED- gaat naar mosfet+ gaat naar de 5v9v-batterij Je kunt een 9v-batterij kopen in elke plaatselijke winkel, steek de stekker in de arduino met een connectorstrip.
Bluetooth-module hc-055V gaat naar 5V van de arduino
GND gaat naar GND op de arduino
Nu zijn er nog 2 ingangen, maar hier komt het lastige deel, we moeten de tegenovergestelde ingangen van die 2 aansluiten op de arduinoTX van hc-05 gaat naar RX op arduinoRX van hc-05 gaat naar TX op arduino
Belangrijk: zorg ervoor dat je de TX & RX ONTKOPPELT van de HC-05 wanneer je code uploadt naar je arduino, anders krijg je een foutmelding dat er "er is iets misgegaan met het uploaden van de code" in de compiler.
Stap 3: Het LCD-scherm en de klok instellen
De bibliotheek die wordt gebruikt voor het LCD-scherm is vloeibaar kristal en is te vinden op: https://github.com/fdebrabander/Arduino-LiquidCrys… Download het zip-bestand, sla het op en plaats het in de map /libraries van uw Arduino
De bibliotheek die ik gebruik om de klok te laten lopen, is te vinden op Rinky-Dinky Electronics https://www.rinkydinkelectronics.com/library.php?id=73 en zorg ervoor dat u op de DS3231-pagina bent. Download het zipbestand, sla het op en plaats het in de bibliothekenmap van je Arduino.
Tijd
Neem de bibliotheek DS3231 of DS1307 op in uw arduino-code
Uncomment deze 3 regels code om de tijd in te stellen:
// rtc.setDOW (MAANDAG); // Stel de weekdag in op ZONDAG // rtc.setTime (23, 57, 0); // Stel de tijd in op 12:00:00 (24-uurs formaat) // rtc.setDate (14, 1, 2019); // Stel de datum in op 1 januari 2014
LCD scherm
Neem de bibliotheek liqduicrystal_i2c op in uw arduino-code
Om op het LCD-scherm af te drukken, gebruikt u:
lcd.setCursor(kolom, rij) // positie van tekst afgedruktlcd.print(~) // tekst afgedrukt
Stap 4: Coderen
Download de code op: github:
Maak een opmerking over deze 3 regels om de klok op uw LCD-scherm in te stellen:
// rtc.setDOW (MAANDAG); // Stel de weekdag in op ZONDAG // rtc.setTime (23, 57, 0); // Stel de tijd in op 12:00:00 (24-uurs formaat) // rtc.setDate (14, 1, 2019); // Stel de datum in op 1 januari 2014
Gebruik lcd.setCuros(col, row); om de positie van tekst op het display in te stellen
lcd.setCursor(0, 2);
en print() om iets op het scherm af te drukken
lcd.print(rtc.getDateStr());
Wijzig deze variabelen als u dat wilt
int fadeTime = 1; // Hoe lang het licht zal vervagen tot maxint setHour = 02; // Stel uren in om te wekken (militaire tijd) int setMin = 49; // Stel minuut in om te ontwaken int uled = 9; // Stel pinout in met PWM
Bluetooth-modulecode
String firstHalf = getValue (invoer, ':', 0); // controleer eerste invoer tot ":"
String secondHalf = getValue(invoer, ':', 1); // controleer tweede invoer na ":"
// gebruik deze code als je de bluetooth-module niet gebruikt
// //if (t.hour == setHour && t.min == setMin) // Controleer of het tijd is om wakker te worden! // { // begin(); // }
// controleer de eerste 2 cijfers van de invoer, controleer dan de tweede 2 cijfers van de invoer
if (t.hour == firstHalf.toInt() && t.min == secondHalf.toInt()) { start(); } }
// logica om strings te scheiden
String getValue (String-gegevens, char-scheidingsteken, int-index) {int gevonden = 0; int strIndex = { 0, -1 }; int maxIndex = data.length() - 1;
for (int i = 0; i <= maxIndex && gevonden <= index; i++) { if (data.charAt(i) == scheidingsteken || i == maxIndex) { found++; strIndex[0] = strIndex[1] + 1; strIndex[1] = (i == maxIndex) ? ik+1: ik; } } terug gevonden> index ? data.substring(strIndex[0], strIndex[1]): ""; }
Stap 5: Tijd om te testen
Compileer je code & test of de componenten werken!
Stap 6: Bluetooth-app instellen
Omdat ik het vervelend vond om telkens in de code te duiken als ik een alarm wilde instellen, wilde ik een app maken die het alarm zou instellen, wat veel eenvoudiger is.
Ga naar https://ai2.appinventor.mit.eduhier kunnen we een eenvoudige app maken waarmee we het alarm kunnen instellen, ik heb de eenvoudige ontwerpopstelling toegevoegd (u kunt dit later altijd aanpassen) en de code die wordt gebruikt voor de Bluetooth-verbinding. U kunt uw app vervolgens publiceren en ermee verbinden op uw telefoon door een QR-code te gebruiken of door de app rechtstreeks op uw computer te downloaden en deze vervolgens met een kabel op uw telefoon over te zetten. (schermafbeelding)
Stap 7: De zaak bouwen
Je kunt altijd een andere kast rond je arduino-klok bouwen. Ik gebruikte hout en mat plexiglas om mijn eigen wekkerkast te bouwen. Ik koos voor mat plexiglas, zodat je het licht duidelijk door de kast kunt zien schijnen, maar je kunt de binnenkant van de klok niet zien.
Stap 8: Klaar
Nu je de code naar je arduino hebt geüpload, de behuizing hebt gebouwd en hebt gecontroleerd of je je klok goed hebt gemonteerd, kun je een alarm instellen op de bluetooth-app en natuurlijker wakker worden!:)
Aanbevolen:
Bluetooth-gestuurde Messenger LCD -- 16x2 LCD -- Hc05 -- Eenvoudig -- Draadloos prikbord: 8 stappen
Bluetooth-gestuurde Messenger LCD || 16x2 LCD || Hc05 || Eenvoudig || Draadloos mededelingenbord:…………………………….. ABONNEER aub op mijn YouTube-kanaal voor meer video's…… …………………………………Het mededelingenbord wordt gebruikt om mensen op de hoogte te houden van nieuwe informatie of Als je een bericht wilt sturen met in de kamer of in de hal
Digitale klok met netwerktijd met behulp van de ESP8266: 4 stappen (met afbeeldingen)
Digitale netwerkklok met de ESP8266: we leren hoe we een schattige kleine digitale klok kunnen bouwen die communiceert met NTP-servers en de netwerk- of internettijd weergeeft. We gebruiken de WeMos D1 mini om verbinding te maken met een wifi-netwerk, de NTP-tijd te verkrijgen en deze weer te geven op een OLED-module. De video hierboven
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 stappen (met afbeeldingen)
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino | Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter | RC Helikopter | Rc-vliegtuig met Arduino: een Rc-auto besturen | Quadcopter | Drone | RC vliegtuig | RC-boot, we hebben altijd een ontvanger en zender nodig, stel dat we voor RC QUADCOPTER een 6-kanaals zender en ontvanger nodig hebben en dat type TX en RX is te duur, dus we gaan er een maken op onze
Start uw diavoorstelling met vakantiefoto's met een vleugje magie! 9 stappen (met afbeeldingen)
Lanceer uw diavoorstelling met vakantiefoto's met een vleugje magie!: In de loop der jaren heb ik de gewoonte ontwikkeld om een klein beeldje mee te nemen op reis: ik koop vaak een kleine, lege artoy (zoals die op de foto) en verf het past bij de vlag en het thema van het land dat ik bezoek (in dit geval Sicilië). T
Hoe een omvormer met LCD-achtergrondverlichting te repareren Met behulp van een Fujiplus FP-988D. voor $0.: 9 stappen
Hoe een omvormer met LCD-achtergrondverlichting te repareren Met behulp van een Fujiplus FP-988D. voor $ 0.: In deze instructie zal ik je helpen bij het repareren van een dode lcd-backlight-omvormer met behulp van de onderdelen die je hebt. U kunt zien of u een dode achtergrondverlichting heeft door eerst andere mogelijkheden te elimineren. Controleer de monitor op meerdere computers. Zorg ervoor dat d