Etape 8: Télécharger le code
Ce code a été difficile d’écrire. Je ne suis pas trop adepte de codage, et bibliothèque VirtualWire n’était jamais vraiment destiné à être exécuté sur ATTinies.
Attaché à cette étape sont les dossiers ayant trait à la portion de TX de ce projet.
Vous devez utiliser un ATTiny85 parce que c’est la plus petite puce qui a des minuteries pour soutenir la bibliothèque VirtualWire.
Spécialement pour la partie TX, s’il vous arrive d’avoir un ATTiny85V - 10PU, bon ! Cela signifie que votre télécommande fonctionnera avec moins de puissance.
Sinon, pas de soucis. Il reste du travail.
Tout ce dont vous avez besoin pour le côté TX sera dans les fichiers joints. Voici les bases
- Brûler les fusibles de droite sur la puce. Vous sera cadencé à 8 MHz
- Déplacer VirtualWire dossier bibliothèques Arduino
- Télécharger le code
- Examiner la maquette/schéma afin que vous sachiez ce que vous traitez.
Si vous avez besoin de détails sur la programmation ATTinies avec Arduino, découvrez ce .
DÉTAILS SUR LE CODE
Les Modules RF ont été conçus pour une utilisation facile avec Arduino. L’objectif initial était pour ces modules RF servir de fils invisibles. Idéalement, on pourrait simplement dire :
Et du côté de RX, qui est en cours d’exécution :
Ce que nous espérons arriver, c’est que lorsque nous Serial.println("a"), la volonté de « a » peuvent être reçues de l’autre côté.
Malheureusement, il y a beaucoup de bruit. Quand j’ai essayé ce code sur, le récepteur serait allumer au hasard de certains signaux errant dans l’air, ou s’allume pas du tout parce que que « a » ne pourrait pas même survivre à l’antenne du récepteur.
Ce code ne fonctionne pas. Il faut une méthode pour réduire le bruit en filtrant. Heureusement, VirtualWire qui fait pour nous !
D’après mes connaissances limitées, VirtualWire tire parti des temporisateurs dans le microcontrôleur sorte de synchronisation deux modules RF. Afin que cela fonctionne, nous devons utiliser l’ATTiny85. Timer0 n’existe pas sur le 45.
Afin que le ATTiny85 de fonctionner à 3.7V, nous devons courir le microcontrôleur sans un quartz externe.
Ainsi, nous brûlerons les fusibles pour horloge interne à 8MHz.
Le code suivant envoie simplement le caractère « a » constamment sur le module RF.
DÉTAILS SUR CIRCUIT
Le circuit de TX est assez simple.
- Il y a une 1 résistance k pullup à Vcc sur la broche de remise à zéro [1]
- Rien n’est attaché à A3 et A2 [2 et 3]
- GND est rattaché à un commutateur de bouton à batterie-[4]
- 0 numérique [5] est attaché à une LED. La LED mène à une résistance de 270 ohms au GND
- 1 numérique [6] est connecté aux données sur le Module RF
- A1 [7] n’est pas connecté à n’importe quoi
- SCR est branché sur batterie +
- Le module RF est connecté correctement à Vcc et GND.
Lorsque le code s’exécute, si le bouton est enfoncé, l’ensemble du circuit sera allumé
La LED doit s’allumer et la ATTiny85 sera l’envoi « a » sur le module RF constamment.