Páginas

Projeto

Proposta 



O projeto consiste no desenvolvimento de um jogo que tem como objetivo acertar a frequência do potenciômetro, luminosidade do LDR, distancia correta do ultrassom que serão determinadas pelo arduíno para ganhar o jogo. 


Instruções do Jogo


Para começar o jogo o jogador deve:
  1.  Ajustar o potenciômetro na faixa correta para acender a primeira led;
  2. Em seguida, ajustar o LDR na faixa luminosa correta para acender a segunda led;
  3. Por ultimo, colocar a mão na distancia correta para que o terceiro led acenda;
  4. Quando todos estiverem na faixa correta, a quarta led se acendera, indicando que você ganhou o jogo, e assim reiniciando.


Código


#define pot1Pin 5
int dur;
int led1=7;
int led2=8;
int led3=10;
int led4=11;
int led11;
int led22;
int led33;
int pot1;
int LDR2;
const int trigPin=12;
const int echoPin=13;
int valPot = 0;
int ult;
int bc;
int l;
int b;

void setup() {
  pinMode(pot1, INPUT);
  pinMode(LDR2, INPUT); 
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  Serial.begin(9600);
  bc=100;
  l=2; 
  b = 500;
}

void loop() {

  digitalWrite(led1, LOW);
  digitalWrite(led2, LOW);
  digitalWrite(led3, LOW);
  digitalWrite(led4, LOW); 
  led11=0;
  led22=0;
  led33=0;

  if(bc>1100){
     bc=13;
  }

  while(led11!=1){
    valPot =  analogRead(pot1Pin);
    Serial.println(valPot);
    delay (200);
    if(valPot>bc && valPot
      digitalWrite(led1, HIGH);
      led11=1;
     bc=bc+27;  }
   }

   if (b>980){
    b=800;
   }

   while(led22!=1){
     LDR2=analogRead(A0);
     Serial.print("\t");
     Serial.println(LDR2);
     delay (150);
     if(LDR2>b && LDR2
       digitalWrite(led2, HIGH);
       led22=1;
       b=b+29;  }
    }

  if (l>15){
    l=1;
  }

  while(led33!=1){
     digitalWrite (trigPin, LOW);
     delayMicroseconds (2);
     digitalWrite (trigPin, HIGH);
     delayMicroseconds (10);
     digitalWrite (trigPin, LOW);
     unsigned long temp = pulseIn (echoPin, HIGH);
     int dur=temp/58;
     Serial.print("\t");
     Serial.println (dur);
     delay(750);
     if (durl){
       digitalWrite (led3, HIGH);
       led33=1;
       l=l+4;}
     }
   
   if(led11==1 && led22==1 && led33==1){
     digitalWrite(led4, HIGH);
     delay(1500);

  }   

Primeira montagem



Vídeo da montagem, aqui.

Testes






Nenhum comentário:

Postar um comentário