Étape 1: Conception et Circuit.
1 x ATtiny26L-8PU (environ 2$)
1 régulateur de tension 5v x TL780 (~ 0,7$)
1 transistor x N2222 (~ 0,07$)
1 pile 9v ou 12v pile de télécommande pour économiser l’espace
.. .et bien sûr mon fidèle STK500, maintenant avec les sockets ZIF ajouté !
La conception de base est la suivante : le microcontrôleur passe par deux boucles de minutage. Une boucle longue pour déterminer le moment d’allumer l’appareil et une petite boucle pour déterminer combien de temps garder l’appareil sur. Quand il est temps de semer le trouble, le microcontrôleur envoie une logique forte sur la broche 14 (peu moins significatif de PORTA). Cela déclenche le transistor.
Si vous avez branché les pinces aux fils sur un switch, il provoque la résistance entre les bornes l’interrupteur soudainement tomber de très élevé à moins de 1 ohm, ce qui est suffisant pour la plupart des périphériques d’envisager l’interrupteur sur. N’oubliez pas que les transistors sont, également, diodes, donc si ça ne fonctionne pas... la polarité des pinces est probablement faux, allumer ! En outre, cet appareil nécessite une pile 9v décent, dire avec plus de 8v potentiel gauche... autre que qu’il n’utilise pas beaucoup de puissance.
Il y a beaucoup de broches non utilisées, donc bien sûr vous pouvez les utiliser pour contrôler les commutateurs plus pour plus de chaos, mais ce fut suffisant pour mes besoins.
La prochaine étape est le code source que j’ai écrit pour obtenir cette chose va. Les longueurs par défaut pour le « on » et « off » États sont environ 13 minutes et 10 secondes respectivement. Il y a commentaires dans le code sur la façon de modifier ces valeurs.
Enfin, s’il vous plaît excuser la large utilisation de la fonction « nop » (il passe un cycle CPU ne rien faire) pour peaufiner les minuteries. Il est inélégant car il peut briser la fonction rjmp si vous n’êtes pas prudents et combien vous utilisez !