Étape 3: Le logiciel...
Pour la programmation du microcontrôleur, j’ai utilisé le "Arduino : IDE.
Comment programmer les puces Attiny en utilisant « Arduino » peut être vu ici. J’ai joint les bibliothèques nécessaires. Le code source est également joint. Pour la compilation, j’ai utilisé la configuration suivante du Conseil : Attiny84 (horloge interne de 1MHz) dans le menu de planches, ce qui apparaît après l’installation correcte des bibliothèques « attiny-master ». . Après avoir compilé le code source, le fichier compilé « hex » doit être brûlé dans la puce. Le lien précédent montrent comment la puce doit être connectée. Pour la combustion, j’ai utilisé USBtinyISP programmeur. Comment graver le fichier « hex » peut être vu ici. Si yo n’ont pas de programmeur adapté - vous pouvez essayer ça. Après avoir gravé le fichier « hex », les fusibles du micro-contrôleur doivent être définies. Ici vous pouvez calculer les valeurs des fusibles désiré. J’ai utilisé le texte suivant :
Faible 62
Haute DF
Étendu FF
Le fusible de processus de combustion est décrite dans les liens ci-dessus (idem pour la combustion du fichier « hex »)
La vidéo illustre la configuration pour la gravure et le test de la puce.
Je veux insérer quelques mots supplémentaires sur le code. Il y a deux numéros, qui sont utilisés pour les seuils de commutation ON et hors de l’appareil. La valeur OFF est de 20 à 40 unités plus petites, puis la valeur ON. Cela crée une hystérésis et dans cette manière de bruit l’immunité.
Comment définir la valeur ON ?
Vous devriez mettre le taille-haie-potentiomètre pour une valeur moyenne. Après cela, vous devez mesurer la chute de tension sur le LDR au niveau de l’intensité de la lumière, au cours de laquelle vous voulez que le départ de l’appareil pour travailler. Le nombre pour l’allumage de l’appareil que vous pouvez calculé de la manière suivante
Val = Vldr * 1024/Vsup ; où Vsup est l’alimentation de la puce (dans notre cas 5 V) et Vldr est la chute de tension mesurée sur la LDR.
On voit que l’appareil dispose de 3 modes contrôlés par l’interrupteur à glissière 3-positionnel :
1) "OFF" - l’appareil est fourni, mais il n’est pas n’importe quelle fonction - le voyant rouge"Power" est activé ;
2) "Active" - l’appareil capte l’intensité de la lumière et si elle tombe en dessous du seuil - il commence à déclencher les LED modulant au hasard de leur intensité par l’utilisation de PWM pour des périodes de temps aléatoire. Dans ce mode, le voyant rouge « Power » est sur. Une LED blanche dans la partie droite indique que le périphérique est prêt.
3) "Forcé" - activer/désactiver les LED indépendamment sur le niveau de lumière.
Pour faire une sorte de nombres aléatoires réels un analog input détecte la variable avec le temps potentiel dans le point d’interconnexion entre les deux résistances R14 et R13. Cela est effectué par la ligne de commande suivante :
randomSeed(analogRead(4)) ;
La résistance R14 peut être omise et dans ce cas, ce point est comblé à l’alimentation par l’intermédiaire de R13. Cela ne changera pas sensible les performances.