Olá a todos, queria pedir ajuda com uma prograçao, pois nunca programei e mesmo estando estudando a linguagem, nao estou conseguindo avançar. Queria pelo menos dicas de como conseguir.
Tenho que desenvolver a programaçao para um projeto que funciona assim:
O projeto tem como objetivo desenvolver um jogo que utiliza o microcomputador LilyPad Arduino, para o qual seria desenvolvido uma programação que atendesse as regras do jogo WearClaps, que são:
Jogo em dupla no qual cada jogador, equipado com seu Wearable ou tangível que possui quatro cores diferentes (vermelho, amarelo,azul,verde), deve se movimentar e relacionar a cor sorteada pelo master com a respectiva cor no seu dispositivo para obedecer o comando. Como se trata de um jogo colaborativo, é a dupla que vence ou perde.
O dispositivo se comunica com o master através do Xbee. Conforme o jogo avança, as fases se tornam mais difíceis, pois o intervalo de tempo entre uma cor e outra mostrada pelo master diminui. Enquanto acertam-se as cores, o jogo prossegue. Quando se erra as cores ou o tempo termina, a dupla perde o jogo.
Tenho um codigo ainda muito incompleto, e sei tbem que há erros nele, mas nao sei resolver.
//Definiçao de constantes//
const int redPin=10;
const int portabuzzer = 11;
const int bluePin = 5;
const int yellowPin=7;
const int greenPin=9;
//Definiçao de variaveis//
int yellowValue;
int greenValue;
int redValue;
int blueValue;
int valorlido = 'Y';
int corcerta;
int corerrada;
void setup()
{
pinMode(portabuzzer, OUTPUT);
pinMode(bluePin, INPUT);
digitalWrite(bluePin, HIGH);
blueValue = digitalRead(bluePin);
pinMode(yellowPin, OUTPUT);
digitalWrite(yellowPin, HIGH);
yellowValue = digitalRead(yellowPin);
pinMode(greenPin, INPUT);
digitalWrite(greenPin, HIGH);
greenValue = digitalRead(greenPin);
pinMode(redPin, INPUT);
digitalWrite(redPin, HIGH);
redValue = digitalRead(redPin);
Serial.begin(9600);
Serial.println('passou por aqui');
}
void loop()
{
valorlido=Serial.read();
blueValue = digitalRead(bluePin);
if (blueValue == LOW) {
Serial.println ("blue") ;
beep(portabuzzer,1024,150);
}
yellowValue = digitalRead(yellowPin);
if (yellowValue == LOW) {
Serial.println ("amarelo");
beep(portabuzzer,1024,150);
if(valorlido=='Y')
{
Serial.println ("cor certa") ;
}
else{
Serial.println ("cor errada");
}
}
greenValue = digitalRead(greenPin);
if (greenValue == LOW) {
Serial.println ("verde") ;
beep(portabuzzer,1024,150);
}
redValue = digitalRead(redPin);
if (redValue == LOW) {
Serial.println ("vermelho") ;
beep(portabuzzer,1024,150);
}
}
void beep (unsigned char speakerPin, int frequencyInHertz, long timeInMilliseconds)
{
int x;
long delayAmount = (long)(1000000/frequencyInHertz);
long loopTime = (long)((timeInMilliseconds1000)/(delayAmount2));
for (x=0;x<loopTime;x++)
{
digitalWrite(speakerPin,HIGH);
delayMicroseconds(delayAmount);
digitalWrite(speakerPin,LOW);
delayMicroseconds(delayAmount);
}
}
Agredeceria mto se alguem pudesse ajudar.