Inhoudsopgave:
- Stap 1: Verzamelen van de componenten
- Stap 2: Het circuit monteren
- Stap 3: Installeren en instellen van de klok
- Stap 4: Coderen
- Stap 5: Kartonnen prototype (optioneel)
Video: Zonsopgangwekker met Arduino - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:19
Wintertijd kan verdrietig zijn. Je wordt wakker, het is donker en je moet je bed uit. Het laatste wat je wilt horen is het schetterende geluid van je wekker. Ik woon in Londen en ik kan 's ochtends moeilijk wakker worden. Ook mis ik het wakker worden met natuurlijk licht.
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 extra voordeel dat je licht gebruikt om je slaapkamer gedurende een bepaalde periode op te fleuren, zoals een zonsopgang om je natuurlijker wakker te maken.
Er zijn Sunrise-lampen op de markt, maar ze kunnen duur zijn (een snelle zoekopdracht op Amazon levert producten op in het bereik van £ 100), fragiel en behoorlijk klinisch ogend. We gaan iets een stuk goedkoper en een stuk mooier maken.
Alle onderdelen worden in de volgende stap vermeld. De code kan worden gedownload van mijn Github repo gold-sunrise-clock. Alle schema's en buildbestanden voor de case zijn beschikbaar om te downloaden in deze tutorial.
Laten we gaan:)
Als je problemen ondervindt of hallo wilt zeggen, stuur me dan een bericht [email protected] of volg me op Instagram @celinechappert.
Stap 1: Verzamelen van de componenten
Om te beginnen gebruiken we een klok als input en een ultraheldere LED als output om onze zonsopgang te simuleren.
Om het circuit te bouwen hebben we nodig:
- een klok. We gaan de RTC DS3231 (£ 5) gebruiken
- een MOSFET om de helderheid van het licht te regelen (£9)
- een superheldere LED (£ 1)
- 9V-batterij om de LED van stroom te voorzien (£ 3)
- een breadboard voor eenvoudige montage (£ 3)
- een Arduino Uno (€ 20)
- een drukknop (optioneel - alleen voor demo-doeleinden)
Totale prijs = £ 41
Als je thuis al een Arduino, een breadboard en een 9V-batterij hebt, kost het hele project je minder dan £ 15.
Om de acrylkoffer te maken, heb je nodig:
- 2 vellen 0.3mm Perspex acrylaat platen, 1 vel per kleur voor de zon en de kast.
- toegang tot een lasersnijder.
Ik heb het geluk dat ik toegang had tot de werkplaats van mijn school, dus deze kosten werden grotendeels gedekt. Ik heb wel een extra vel acryl gekocht omdat mijn ontwerp een oranje tint voor de zon vereiste, wat £ 14 per vel kostte (perspex is duur!).
Stap 2: Het circuit monteren
U kunt verwijzen naar de zwart-wit schets van mijn circuit (excuseer de rommelige) en naar het diagram met de Arduino (gemaakt met Fritzing).
In wezen is hier een uitsplitsing van wat is verbonden met wat:
Klok:
(-) maakt verbinding met GND
NC staat voor 'Not Connected' en maakt nergens verbinding mee
C/SCL maakt verbinding met pin A5 op de Arduino
D/SDA maakt verbinding met pin A4 op de Arduino
(+) maakt verbinding met 5V op de Arduino
MOSFET
Gate-pin gaat naar pin ~ 9 op de Arduino Uno omdat het PWM is
Afvoerpin gaat naar de negatieve kant van de LED
Bronpin gaat naar GND op de Arduino
LED
Negatieve kant is verbonden met de afvoerpin op de MOSFET
Positieve kant is verbonden met 5V op het breadboard
9V batterij
(+) tot (+) op het breadboard, hetzelfde met (-).
Arduino Uno
Vergeet niet om 5V aan te sluiten op (+) op het breadboard en GND op (-). Vergeet niet om (-) aan de ene kant van het breadboard aan te sluiten op (-) aan de andere kant.
Vervolgens zullen we onze klok instellen met behulp van de DS3231-bibliotheek.
Stap 3: Installeren en instellen van de klok
De bibliotheek die ik gebruik om deze klok te laten draaien, is te vinden op Rinky-Dink Electronics (screenshots hierboven). Klik op de link en zorg dat je op de DS3231-pagina bent. Download het zip-bestand, sla het op en plaats het in de map /libraries van je Arduino.
Om nu de juiste tijd op de klok in te stellen, opent u Arduino en gaat u naar Voorbeelden/DS3231/Arduino/DS3231_Serial_Easy.
Verwijder de commentaar bij de drie regels code (oranje weergegeven in de schermafbeelding), controleer de tijd en plaats die juiste tijd in die drie regels code in militair formaat.
Druk op Uploaden.
Nu kunt u de opmerkingen van die drie regels verwijderen en nogmaals op Uploaden drukken.
Open uw seriële monitor en controleer of uw tijd correct is.
Onze klok is gezet! We hebben ons circuit, laten we nu beginnen met coderen. Nogmaals, de repo is beschikbaar op Github.
Stap 4: Coderen
Download de code en zorg ervoor dat de bibliotheek voor de DS3231 correct is geïnstalleerd.
Eerst willen we onze instellingen definiëren.
fadeTime is hoe lang het licht in minuten van 0 naar de maximale helderheid zal vervagen. setHour/setMin komen overeen met de tijd waarmee we wakker willen worden (let op: dit is in militaire notatie, dus 24 uur tijd is vereist). We definiëren ook pin 9 op de Arduino als onze OUTPUT.
Zorg er in setup() voor dat het SerialBegin-nummer (hier 96000 baud) overeenkomt met het nummer van de seriële monitor.
In loop() controleert een if-statement of het tijd is om wakker te worden. De code loopt in een lus en controleert elke keer of de uur- en minuutwaarden die door de klok worden geretourneerd, overeenkomen met onze setHour/setMin-variabelen. Als dat het geval is, retourneert de instructie if een active() functie.
De active() functie bestaat uit twee delen. Eerst beginnen we het licht geleidelijk te vervagen: de vertragingsfuncties zijn hier om te voorkomen dat de LED te snel te fel wordt in de 'vroege' stadia van de fadeTime. Vervolgens regelt een for-lus de snelheid waarmee het licht helderder en helderder moet worden, afhankelijk van de fadeTime. Ten slotte schakelen we het licht uit door een waarde van 0 door te geven aan onze LED in de functie analogWrite().
De video hierboven toont het circuit dat werkt in een van de prototype behuizingen van acryl.
Stap 5: Kartonnen prototype (optioneel)
Voorafgaand aan dit project had ik nog nooit met een lasersnijder gewerkt. Door een kartonnen prototype te maken, kon ik vertrouwd raken met de machine terwijl ik testte hoe goed het object eruitzag (grootte, uiterlijk, enz.) In de echte ruimte. Case plannen om te downloaden.
Aanbevolen:
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
DIY slimme weegschaal met wekker (met wifi, ESP8266, Arduino IDE en Adafruit.io): 10 stappen (met afbeeldingen)
DIY Slimme Weegschaal Met Wekker (met Wi-Fi, ESP8266, Arduino IDE en Adafruit.io): In mijn vorige project ontwikkelde ik een slimme weegschaal met Wi-Fi. Het kan het gewicht van de gebruiker meten, het lokaal weergeven en naar de cloud sturen. U kunt hier meer informatie over krijgen op onderstaande link: https://www.instructables.com/id/Wi-Fi-Smart-Scale-wi
Pratende Arduino - Een MP3 afspelen met Arduino zonder enige module - Mp3-bestand afspelen vanaf Arduino met PCM: 6 stappen
Pratende Arduino | Een MP3 afspelen met Arduino zonder enige module | Mp3-bestand van Arduino afspelen met PCM: in deze instructie leren we hoe we een mp3-bestand met arduino kunnen spelen zonder een audiomodule te gebruiken, hier gaan we de PCM-bibliotheek voor Arduino gebruiken die 16 bit PCM van 8 kHz-frequentie speelt, dus laten we dit doen
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