DIY Gamer Kit - IR handledning (3 / 5 steg)
Steg 3: Om uttalanden
Nu när vi har våra animationer och bibliotek ställa in, har vi nötkött upp vår huvudloop. Vi har i princip två villkor. Om start-knappen trycks, spela en animering och skicka en IR meddelande till en annan Gamer. Annars om Gamer får ett IR meddelande, ska vi spela ta emot animeringen.
För avkänning om start-knappen har tryckts, använder vi funktionen isPressed().
För att kontrollera om vi har fått någonting, funktionen vi infrared.receive(). Vi kollar för "h" eftersom det är det budskap vi kommer att skicka. Du kan skicka ganska mycket någon bokstav. Vi har valt "h", vilket står för "hög".
Här är vad vår kod ska se ut.
#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 IR;
void setup() {
Gamer.BEGIN();
}
void loop() {
IF(Gamer.isPressed(start)) {
}
IF(Infrared.Receive() == "h") {
}
}