char pins_out[13]={2,3,4,5,6,7,8,9,10,11,12, 51, 53};
char pins_in[6]={23, 25, 27, 29, 50, 52};
unsigned char num2guess, num2read=0, guesses=0;
boolean won = false;
void setup() {
int(x)
char(D3,D2,D1,D0)
//configuração dos pinos
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(51, OUTPUT);
pinMode(53, OUTPUT);
pinMode(23, INPUT);
pinMode(25, INPUT);
pinMode(27, INPUT);
pinMode(29, INPUT);
pinMode(50, INPUT);
pinMode(52, INPUT);
// inicia o gerador de numeros randomicos
randomSeed(analogRead(A3));
//sorteia um numero novo entre 0 e 15
num2guess = random(0, 15);
//configurar os pinos de acordo com o HW
pinMode(52, INPUT);
}
void loop() {
if(digitalRead(52)==LOW)
{
while(digitalRead(52)==LOW)
{
// loop que espera o usuário soltar o botão
// nao precisa fazer nada aqui
delay(150);
}
// fazer aqui a logica de advinhar o numero
// lembresse de sortear um novo numero
}
if(digitalRead(50)==LOW){
digitalWrite(12,HIGH);
delay(500);
digitalWrite(12, LOW);
delay(500);
}
// errou 3 vezes seguidas
if(guesses>3){
//buzzina com som grave (freq = 100 Hz)
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
}
//comparação de x e o número random
if(num2guess==x){
digitalWrite(2,HIGH);
}
if(num2guess==x)
//acertou 3 vezes seguidas
if(won== true){
//buzzina com som agudo (freq = 1kHz)
}//seleção do número do jogador
char(D3,D2,D1,D0){
D3=digitalRead(23);
D2=digitalRead(25);
D1=digitalRead(27);
D0=digitalRead(29);
x=D3*8+D2*4+D1*2+D0*1
}
}
IO23 - D3
IO25 - D2
IO27 - D1
IO29 - D0
IO51
IO53
IO52
IO50
(RESET)
(GUESS)