PicAxe LED night light (3 / 3 steg)
Steg 3: nedladdningar
PicAxe Programeditorhttp://www.PicAxe.com/
CadSoft Eagle Schematisk & PCB suite
http://www.cadsoftusa.com/download-Eagle/
Öppen källkod?
Detta kan vara den sista Instructable som jag publicerar som bygger på programvaran ovan. I syfte att stödja öppen källkod, försöker jag att flytta till Arduino microcontrollers och Kicad för Schematisk och PCB design. Båda dessa paket har blivit mycket användarvänlig under de senaste åren och jag rekommenderar starkt dem. Ta en titt på http://www.arduino.cc och http://www.kicad-pcb.org/ för mer info.
Firmware
Kopiera och klistra in texten nedan i Picaxe programmering redaktör. Det bör fungera som-är för Picaxe 08M. Använd guiden byggdes till programmering Editor för att konvertera till 08M 2-kompatibla koden.
"LED night light för Picaxe 08M.
"Skriven av Nick West 2012 & 2013.
"Släppt under Creative Commons Attribution & Sharealike licens.
symbol AVE_ADC = w0 "glidande medelvärde för ADC ansluten till LDR
symbol ADC_READ = b2
symbol LED = 4 "lyser detta stift
symbol LED_FLAG = b3
symbol TWILIGHT_THRESHHOLD = 20 "ändra detta om du vill ändra de ljusnivåer som utlöser LED
viktigaste:
enableBOD
Pausa 20 ' Låt allt stabilisera efter uppvaknandet.
om pin4 = 1 så låt LED_FLAG = 1
annat låt LED_FLAG = 0
endif
låg LED "kort stänga LED ta omgivande ljus läsning.
readadc 1, ADC_READ ' spänningsavdelare med hjälp av LDR & 1M 2 motstånd på pin1
om LED_FLAG = 1 så hög LED'if LED var på innan ADC läsning, slå på den igen, så det inte flimmer så märkbart
endif
ADC_READ = ADC_READ /10 ' minska upplösning på ADC att förbättra hysteres
AVE_ADC = AVE_ADC + ADC_READ ' glidande medelvärde för ADC
AVE_ADC = AVE_ADC / 2
om AVE_ADC > TWILIGHT_THRESHHOLD då hög LED "ljusa LED & 1k begränsa resistor på pin4
ElseIf AVE_ADC < = TWILIGHT_THRESHHOLD så låg LED
endif
sertxd (#AVE_ADC, CR, LF)
disableBOD ' brownout upptäckt inaktiveras om du vill minimera sömn ström
sova 1 "minimal strömförbrukning för ~2.3sec
gå till huvudsakliga