Étape 3: téléchargements
Éditeur de programmes PicAxehttp://www.PicAxe.com/
Schéma de Cadsoft Eagle & suite-BPCs
http://www.cadsoftusa.com/download-Eagle/
Open Source ?
Cela pourrait être le dernier Instructable que je publie et qui s’appuie sur le logiciel ci-dessus. Dans un souci de soutenir les logiciels libres, je suis en train de passer à l’Arduino pour les microcontrôleurs et Kicad de schéma et de conception de PCB. Ces deux paquets sont devenus très conviviales dans les dernières qu'années et je les recommande fortement. Jetez un oeil à http://www.arduino.cc et http://www.kicad-pcb.org/ pour plus d’informations.
Firmware
Copiez et collez le texte ci-dessous dans l’éditeur de programmation Picaxe. Il devrait fonctionner tant que-est pour le Picaxe 08M. Utilisez l’Assistant construit en à l’éditeur de programmes pour convertir en code compatible 2 M 08.
« LED veilleuse pour Picaxe 08M.
« Écrit par Nick West 2012 et 2013.
« Publié sous une licence Creative Commons Paternité et partage à l’identique.
symbole AVE_ADC = w0 "moyenne d’ADC mobile connecté à LDR
symbole ADC_READ = b2
symbole de LED = 4 ' LED est sur cette broche
symbole LED_FLAG = b3
symbole TWILIGHT_THRESHHOLD = 20 ' changer cela pour modifier les niveaux de luminosité qui déclenchent la LED
principal :
enableBOD
faire une pause 20 ' tout laisser stabiliser après le réveil.
Si pin4 = 1 then let LED_FLAG = 1
d’autre let LED_FLAG = 0
endif
faible LED ' éteindre brièvement LED pour prendre la lecture lumière ambiante.
readadc 1, ADC_READ ' diviseur de tension à l’aide de LDR & 1M 2 résistance sur la pin1
Si LED_FLAG = 1, LED'if haute, la LED ne disposait sur l’ADC lecture, rallumez-le, donc il n’est pas clignoter donc sensiblement
endif
ADC_READ = 10 ADC_READ ' diminuer la résolution d’ADC pour améliorer l’hystérésis
AVE_ADC = AVE_ADC + ADC_READ ' la moyenne mobile de l’ADC
AVE_ADC = AVE_ADC / 2
Si AVE_ADC > TWILIGHT_THRESHHOLD puis LED high » lumineux LED et 1k limiter la résistance sur pin4
ElseIf AVE_ADC < = TWILIGHT_THRESHHOLD then LED faible
endif
sertxd (#AVE_ADC, CR, LF)
disableBOD ' détection de perte de tension désactivée afin de limiter le courant de sommeil
dormir 1 ' un minimum de courant pour ~2.3sec
Goto principal