Deze winter mijn vriendin had een heleboel problemen in de ochtend wakker en leek te lijden aan SAD (Seasonal Affective Disorder). Ik eens merken hoe moeilijker het is om wakker in de winter, aangezien de zon nog niet is komen. Symptomen van ernstige SAD prikkelbaarheid, verslapen maar nog steeds wordt moe zijn, niet in staat om uit bed, depressie en zelfs enkele fysieke problemen, zoals gezamenlijke pijn en verlaagde weerstand tegen infectie. Ik had gehoord over zonsopgang alarmen die de zonsopgang gesimuleerd en dacht dat het zou een mogelijke oplossing voor haar probleem.
Het Plan
Ik herinnerde me het zien van een instructable () over het wijzigen van een zonsopgang alarm om blauw licht met LED's aangezien blauw wordt verondersteld de goed licht om te helpen. Ik vond het idee maar de manier waarop de microcontroller is gebruikt in dit instructable geïntimideerd me aangezien ik heb beperkte ervaring met programmeren een nadat de code is ontwikkeld. Deze heeft ook geen oplossing voor de andere zorg van mij: $80 besteden aan een wekker en verander het, niet dat mijn vriendin is niet de moeite waard :D
Eerst dacht ik over het ontwikkelen van een klok van kras met behulp van een microcontroller. We bouwden een binaire klok in een van mijn college klassen, tellen, dus ik vertrouwd met de logica was. Later gaf ik op dat idee aangezien ik niet zou worden met behulp van de dezelfde programmeertaal en ik veel tijd nemen zou aan het ontwikkelen van de code. Ik had toen het idee te gebruiken een goedkope digitale wekker die hopelijk, een spanning leveren zou toen het alarm ging af Ik kon deze spanning en gebruik het als een schakelaar met een microcontroller. Als het alarm ging af, maar de spanning ging hoog, zouden het dimmen proces beginnen. Als de snooze-knop werd geraakt, of als het alarm was uitgeschakeld, de spanning laag zou gaan en het dimmen proces zou stoppen, uitschakelen van de lichten. Ik onderzocht dit idee en kwam erachter dat het gebruik van een spanning van een klok te gebruiken met een microcontroller mogelijk was! Een jongen had een soortgelijk project dat zijn blinds automatisch geopend in de ochtend (http://hackaday.com/2008/11/18/alarm-clock-automated-blinds/) voltooid.
De Microcontroller
De ideeën begon stromen en alles wat ik moest doen was Kies een microcontroller te gebruiken. Ik zag een artikel op sparkfun.com dat ging door het proces van het opbouwen van een circuit voor het uitvoeren van een ATMega168. Ik lees dit zorgvuldig door en besloot dat het leek eenvoudig genoeg en dat bleek de microcontroller die ik wilde gebruiken. Bij nader onderzoek vond ik dit ding van de Arduino die heeft iedereen voor hun DIY projecten gebruikt. Het gebruikt de ATMega168 was open bron en had talrijke help forums en startende voorbeelden; perfect voor de beginner. Ik besloot om het te gebruiken voor het programmeren van mijn ATMega168 en het overplanten in een breakout board die deel uitmaakt van de naakte essentie voor de ATMega168 uit te voeren. Met het laatste stukje van de puzzel in de hand, kon ik beginnen.
Snelle Side Note: Voordat ik begin, wil ik alleen maar zeggen dank aan allen van de bronnen die ik heb gebruikt. Ik heb geprobeerd om ervoor te zorgen dat ik elke verwijzing die ik binnen de instructable gebruikte gekoppeld. De code is enkel manipulaties van de voorbeelden opgenomen binnen de Arduino omgeving en een beetje van mijn eigen dus bedankt aan de mensen die gecodeerd die! Ook is dit mijn eerste microcontroller project. Ik weet zeker dat ik niet alles volledig correct is, zoals het toevoegen van filter caps te plaatsen en andere verschillende delen aan mijn circuits. Als je iets dat verbeterd kan worden ziet, laat het me weten! Ik zal er zeker bij te werken of notities aan het maken. Geniet van!