Relógio

:: hoje ::    00:00:00

quinta-feira, 31 de março de 2022

Desafio 4: Genius

Programação

9º ano - TIC

tinkercad.com

O Tinkercad é um aplicativo gratuito e fácil de usar para projetos 3D, componentes eletrónicos e codificação. 

Vamos realizar o seguinte projeto: Instalação para jogo de memória com 4 leds.

Circuito Eléctrico



Código

const int buzzer =  10;  
const int ledPin =  6;   
const int ledPin2 =  7;
const int ledPin3 =  8;
const int ledPin4 =  9;

int buttonState = 0;        
int buttonState2 = 0;  
int buttonState3 = 0;  
int buttonState4 = 0; 

int ia=2;
int cont=0;

int zero;
int um;
int dois;

int contador=0;

int  x=0;

int resp1;
int resp2;
int resp3;

long temp=0;

void setup() {
    pinMode(buzzer, OUTPUT);
    pinMode(ledPin, OUTPUT);
    pinMode(ledPin2, OUTPUT);
    pinMode(ledPin3, OUTPUT);
    pinMode(ledPin4, OUTPUT);
   
  while(ia<=5){
     pinMode(ia,OUTPUT);
     ia++;
  }

Serial.begin(9600);
}

void loop() {
   digitalWrite(buzzer, 0);
   buttonState = digitalRead(A0);
   buttonState2 = digitalRead(A1);
   buttonState3 = digitalRead(A2);
   buttonState4 = digitalRead(A3);
  while(dois==0){
  fase();
  }
  if(cont>=2){
    resp();
  }
  if(contador>=3){
    comp();
  }

}


void fase(){

 
  while(cont<=2){
   temp=random(100,1000);
   ia=random(2,6);
   digitalWrite(ia, 1);
   delay(temp);
   digitalWrite(ia, 0);
    
    if(cont==0){
      zero=ia;
      delay(500);
    }
    if(cont==1){
      um=ia;
      delay(500);
    }
    if(cont==2){
      dois=ia;
      delay(500);
      
    }
                cont++;
  }
  
    
}


void resp(){

  if(buttonState==1){
      digitalWrite(ledPin, 1);
      x=4;
     delay(500);
     contador++;
 
  }
   if(buttonState2==1){
    digitalWrite(ledPin2, 1);
    x=5;
    delay(500);
    contador++;
   
 
  }
   if(buttonState3==1){
    digitalWrite(ledPin3, 1);
    x=3;
    delay(500);
    contador++;   
  }
   
   if(buttonState4==1){
    digitalWrite(ledPin4, 1);
    x=2;
    delay(500);
    contador++;
  }
  if(contador<=3){
    if(contador==1){
    resp1=x;
    delay(100);
  }
     if(contador==2){
    resp2=x;
    delay(100);
  }
  if(contador==3){
    resp3=x;
    delay(100);
  }
  }
  
    digitalWrite(ledPin3, 0);
    digitalWrite(ledPin4, 0);
    digitalWrite(ledPin, 0);
    digitalWrite(ledPin2, 0);  
}

void comp(){
  if(zero==resp1 && um == resp2 && dois == resp3){
    Serial.println("correto");
    tone(buzzer,330,100);
    delay(100);
    tone(buzzer,440,100);
    delay(500);
   
  }
  else{
    Serial.println("incorreto");
    tone(buzzer,700,100);
    delay(100);
    tone(buzzer,440,100);
    delay(500); 
  
  }
    cont=0;
    contador=0;
    zero=0;
    um=0;
    dois=0;
    resp1=0;
    resp2=0;
    resp3=0;

    
  }

Sem comentários:

Enviar um comentário