Étape 8: Codant pour Final Sketch Arduino (mouvement de torsion)
Codant pour des mouvements de torsion est différent de codage pour des mouvements de balancement/taraudage principalement dû au fait que lors de l’utilisation de torsion, votre Magic Wand TV distant va toujours démontrer en direction du téléviseur. Ce n’est pas le cas avec balancement/taraudage des requêtes car le code commence à envoyer avant que vous pointez votre Magic Wand TV télécommande en direction du téléviseur. Pour cette raison, il n’y a pas besoin d’utiliser une « déclaration de répéter » lorsque les requêtes à l’aide de torsion, mais cela rend l’utilisation de "retard" extrêmement important !
Je vais continuer à travailler avec la commande « Channel Down » que nous avons précédemment travaillé avec dans le décodage de votre étape de télécommande de téléviseur. Pour « Channel Down », j’ai décidé que je voulais tourner ma télécommande vers la gauche. Au MPU6050RawValues.ino de croquis téléchargés sur mon Arduino, j’ai pu voir quel accéléromètre valeurs changeaient quand tordre ma maquette à gauche. J’ai remarqué que les valeurs d’accéléromètre dans l’axe Z (AcZ) étaient généralement moins de 5000 et supérieure à 0. En outre, les valeurs accéléromètre dans l’axe des X (AcX) étaient généralement moins de -4000. En utilisant ce que nous avons appris dans la dernière étape, la première ligne de notre code devrait se lire :
Si (AcZ 5000 < & & AcZ > 0 & & AcX < -4000) {} |
Ensuite, j’ai inclus le code que j’ai trouvé lors du décodage de mon téléviseur distant dans l’instruction "My_Sender.send ();". Le code s’écrirait comme ceci :
My_Sender.Send (PANASONIC_OLD, 0x36F121, 22) ; |
La prochaine chose que nous devons faire est d’ajouter un retard. Il s’agit d’une chose très importante à ajouter, car sans un retard dans votre code, la commande sera répéter maintes et maintes fois. Un délai vous permet d’avoir le temps de tourner votre distance à la verticale sans envoyer accidentellement les fonctions plusieurs fois. J’ai décidé que je voulais retarder la commande deux secondes, donc j’ai écrit mon code comme suit :
Delay(2000) ; |
1000 = 1 seconde, vous pouvez changer votre code en conséquence.
À l’aide de ces éléments, votre code final devrait ressembler à ceci :
Si (AcZ 5000 < & & AcZ > 0 & & AcX < -4000) {} My_Sender.Send (PANASONIC_OLD, 0x36F121, 22) ; } |
Notez que vous devez seulement ajouter un support. Il n’y a aucune « déclaration répéter » donc vous ne devez inclure un support pour le ' si déclaration '. Une fois que vous avez terminé, remplacez les valeurs j’ai trouvé avec votre propre dans la MagicWandTVRemote.ino croquis et transférez-le sur votre Arduino. Félicitations ! Vous avez maintenant terminé codage !