buongiorno a tutti. mi rivolgo a voi poichè ho un problema con il mio progetto d'esame. avevo in mente di fare una specie di "ping pong" con dei led comandati con un telecomando. utilizzo un arduino uno e un ricevitore ir tsop44. il gioco prevede 2 giocatori e ogni volta che raggiunge l'ultimo led il giocatore deve schiacciare il tasto del telecomando per far tornare indietro il segnale. accetto molto volentieri consigli per il programma. ho già un'idea per quanto riguarda il programma, ma non funziona!!!!! potete aiutarmi?? sono disperato, grazie mille a tutti in anticipo
questo è il programma su cui vorrei basare il mio progetto, grazie mille a tutti
#include <IRremote.h>
int dato;
int pinArray[] = {0,1,2,3,4,5,6,7,8,9};
int count = 0, timer = 40;
int player0 = 0, player1 = 0;
int RECV_PIN = 14;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup(){
// we make all the declarations at once
for (count=0;count<10;count++) {
pinMode(pinArray[count], OUTPUT);
}
Serial.begin(9600);
pinMode(14, OUTPUT);
pinMode(15, OUTPUT);
digitalWrite(15, LOW); // GND
pinMode(16, OUTPUT);
digitalWrite(16, HIGH); // Vcc
irrecv.enableIRIn(); // Start the receiver
while(player0==0)
{
delay(80);
digitalWrite(0, HIGH);
delay(80);
digitalWrite(0, LOW);
player0=digitalRead(14);
// player1=digitalRead(15);
}
player0=0; player1=0;
delay(80);
}
void loop() {
for(;; )
{
for (count=0;count<10;count++)
{
if (irrecv.decode(&results)) {
dato = results.value;
Serial.println(dato, DEC);
if(dato==358||dato==2406)
digitalWrite(8, HIGH); // Vcc
digitalWrite(pinArray[count], HIGH);
delay(timer);
if(dato==357||dato==2405)
digitalWrite(9, HIGH); // Vcc
irrecv.resume(); // Receive the next value
} {player1=2; break;}
delay(timer);
}
if(player1==2) break;
}
//Visualizza il vincitore del gioco
while(player0==2) {delay(200); digitalWrite(9, HIGH); delay(200); digitalWrite(9, LOW);}
while(player1==2) {delay(200); digitalWrite(0, HIGH); delay(200); digitalWrite(0, LOW);}
}