Stap 4: IR verzenden en animaties afspelen
Onze laatste stap in onze code is wat er gebeurt binnen de if verklaringen die we net hebben geschreven. Wanneer u op de startknop drukt, we spelen de verzenden-animatie en stuur het "h"-teken naar de andere Gamer. Als de h teken is ontvangen via de seriële, spelen we de animatie ontvangen.
Om te spelen onze animatie, moeten we gebruik van for-lussen. Als u niet eerder hebt gebruikt, hebben een blik op de code die onze animator spuugt. We gonna gebruik maken van een vrij gelijkaardig ding hier.
Hier is wat onze code zou moeten uitzien.
#include <Gamer.h> #include <GamerIR.h> #include <SoftwareSerial.h> #define NUMFRAMESSENDANIMATION 12 byte sendAnimation[NUMFRAMESSENDANIMATION][8] = { {B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B11111111}, {B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B11111111, B01111110}, {B00000000, B00000000, B00000000, B00000000, B00000000, B11111111, B01111110, B00111100}, {B00000000, B00000000, B00000000, B00000000, B11111111, B01111110, B00111100, B00011000}, {B00000000, B00000000, B00000000, B11111111, B01111110, B00111100, B00011000, B00000000}, {B00000000, B00000000, B11111111, B01111110, B00111100, B00011000, B00000000, B00000000}, {B00000000, B11111111, B01111110, B00111100, B00011000, B00000000, B00000000, B00000000}, {B11111111, B01111110, B00111100, B00011000, B00000000, B00000000, B00000000, B00000000}, {B01111110, B00111100, B00011000, B00000000, B00000000, B00000000, B00000000, B00000000}, {B00111100, B00011000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000}, {B00011000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000}, {B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000}}; #define NUMFRAMESRECEIVEANIMATION 12 byte receiveAnimation[NUMFRAMESRECEIVEANIMATION][8] = { {B11111111, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000}, {B01111110, B11111111, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000}, {B00111100, B01111110, B11111111, B00000000, B00000000, B00000000, B00000000, B00000000}, {B00011000, B00111100, B01111110, B11111111, B00000000, B00000000, B00000000, B00000000}, {B00000000, B00011000, B00111100, B01111110, B11111111, B00000000, B00000000, B00000000}, {B00000000, B00000000, B00011000, B00111100, B01111110, B11111111, B00000000, B00000000}, {B00000000, B00000000, B00000000, B00011000, B00111100, B01111110, B11111111, B00000000}, {B00000000, B00000000, B00000000, B00000000, B00011000, B00111100, B01111110, B11111111}, {B00000000, B00000000, B00000000, B00000000, B00000000, B00011000, B00111100, B01111110}, {B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00011000, B00111100}, {B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00011000}, {B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000, B00000000}}; Gamer gamer; GamerIR infrared; void setup() { gamer.begin(); } void loop() { // Say hi to the other Gamer when the START button is pressed. if(gamer.isPressed(START)) { for(int i=0; i<NUMFRAMESSENDANIMATION; i++) { gamer.printImage(sendAnimation[i]); delay(100); } infrared.send("h"); } // If hi is received, play receive animation. if(infrared.receive() == "h") { for(int i=0; i<NUMFRAMESRECEIVEANIMATION; i++) { gamer.printImage(receiveAnimation[i]); delay(100); } } }