Pages: [1]   Go Down
Author Topic: progetto d'esame per diploma  (Read 315 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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  smiley

questo è il programma su cui vorrei basare il mio progetto, grazie mille a tutti smiley

 
Code:
#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);}
}
« Last Edit: May 07, 2013, 01:29:37 pm by UweFederer » Logged

Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 114
Posts: 7178
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Regolamento --> http://arduino.cc/forum/index.php/topic,149082.0.html
Presentazioni --> http://arduino.cc/forum/index.php/topic,68174.0.html

Nel pin array hai messo i pin 0 e 1 che sono usati per la trasmissione seriale, dovresti shiftarli di 2.
Hai collegato il led al pin 0 usato dalla seriale.
Il digitalread(14) è collegato a un pin dichiarato come OUTPUT.

Spero che per la parte hardware sia più ferrato e abbia fatto abbondante uso delle resistenze.

Ma il diploma è per il 2014? Vero?  smiley-sweat
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Milano
Offline Offline
Full Member
***
Karma: 7
Posts: 179
W8
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ma il diploma è per il 2014? Vero?  smiley-sweat
ahahahha lo spero per lui  smiley-mr-green
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ahahahahah no il diploma è per quest'anno... grazie mille, apporterò le modifiche. vi farò sapere!!!!!
Logged

Monselice PD Italy
Offline Offline
Faraday Member
**
Karma: 28
Posts: 5515
фон Крыса
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ahahahahah no il diploma è per quest'anno...
Auguri xD
Logged

Se corri veloce come un fulmine, ti schianterai come un tuono.

Pages: [1]   Go Up
Jump to: