Stap 1: ontwerp
CircuitHet is een vrij eenvoudige kring, gebaseerd op een 8-pin Picaxe 08M. Dit was wat ik had bij de hand, u kan ook gebruik maken van de nieuwere 08M 2.
Het gebruikt een LDR en een 1M 2 weerstand om te vormen van een divider spanning op pin 1 van de Picaxe. Er is een oranje LED aangesloten op pin 4 van de Picaxe via een 1k 2 weerstand. Dit beperkt de stroom door de LED over 5mA. Dit vermindert de helderheid van de LED, maar het is nog steeds voldoende voor een schemerig licht als uw ogen aan de duisternis (ik gebruik het in mijn hal zodat ik kan struikelen vermijden over in de nacht, maar niet het huishouden wakker door te draaien op de belangrijkste licht) worden aangepast
Pulldown weerstanden worden gebruikt op de ongebruikte Picaxe pinnen - het is een goede gewoonte niet te laten I/O pinnen op een microcontroller te "zweven" en ik denk dat het ook vermindert stroomverbruik zeer licht. Ik gebruikte 110 k weerstanden voor de pulldowns, want ik had veel bij de hand. U kunt om het even wat ongeveer 100k.
De LED wordt gedreven rechtstreeks uit de Picaxe, dus het is belangrijk om het beperken van de totale huidige van deze pin naar onder 20mA.
De cicruit trekt minder dan 1mA wanneer de LED is uitgeschakeld, en ongeveer 5.5mA als de LED brandt. Mij stormloop mijn vanuit 4 AA NiMH oplaadbare batterijen (die leveren over 5V) die gemiddeld ongeveer een maand duren, voordat ik moet opladen hen.
Software
De software brengt het merendeel van zijn tijd in de "slaapstand", en alleen wakker elke 2.3s om te controleren van de status van de LDR. Voor het lezen van de LDR, blijkt uit de LED zodat de lichtopbrengst heeft geen invloed op de lezing. De lezing gebeurt zo snel dat de LED kan nauwelijks worden gezien te trillen wanneer deze kort is uitgeschakeld. Om te voorkomen dat de LED draaien in- en uitschakelen herhaaldelijk schemering, is sommige hysteresis ingebouwd in de code. Dit gebeurt heel ruwweg door het berekenen van een gemiddelde waarde voor het omgevingslicht, zodat wijzigingen in het omgevingslicht nemen een tijdje om te verspreiden in de code. De ruwe ADC lezen wordt ook gedeeld door 10 te beperken van lawaai.
De code die ik heb bijgevoegd werkt op de Picaxe 08M. U moet zitten kundig voor zet het op de 08M 2 uitgevoerd met behulp van de wizard ingebouwd in de software van de Picaxe
Hardware
CPU: Picaxe 08M.
LDR: Weg naar Philips ORP12. Ik gebruikte de RD3480 van www.jaycar.com.au
LED: hoge-helderheid 5mm amber LED. Ik gebruikte de ZD0295 van www.jaycar.com.au
PCB: Een gebruikersspecifieke ik ontwierp in Eagle en geëtst mezelf. Alle ontwerp bestanden zijn gekoppeld aan dit Instructable
Case: Ik heb het bovenstaande ontworpen PCB te monteren in een HB6005 duidelijk plastic behuizing uit www.jaycar.com.au
Condensatoren: 1 x 100uF 16v; 1 x 100nF, 50v.
Weerstanden: 1 x 1M 2; 2 x 110 k; 1 x 22 k; 1 x 10 k; 1 x 1 k 2. alle 1/4w meetal film typen zijn (maar het waarschijnlijk maakt niet uit)
Varia: Stopcontact, batterijhouder (het circuit vereist 5V - ik gebruikte oplaadbare AA-batterijen 4 x 1.2V), programmering kop, ongeveer 15 cm van geïsoleerde aansluiting draad
Als er veel belangstelling voor dit circuit, ik krijg een batch van PCB's en een kit beschikbaar te maken.
Downloads
Hieronder zijn de Eagle bestanden voor het schema en PCB. Er is ook een full-size PDF van de PCB-tracks als u bent uw eigen PCB etsen.