Pages: [1]   Go Down
Author Topic: Ajuda com projeto com Lilypad arduino  (Read 853 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

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)((timeInMilliseconds*1000)/(delayAmount*2));
  for (x=0;x<loopTime;x++)   
  {   
    digitalWrite(speakerPin,HIGH);
    delayMicroseconds(delayAmount);
    digitalWrite(speakerPin,LOW);
    delayMicroseconds(delayAmount);
  }   
 
}

Agredeceria mto se alguem pudesse ajudar.

Logged

'round the world...
Offline Offline
Faraday Member
**
Karma: 42
Posts: 3223
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

não percebo o jogo, importas-te de explicar melhor? como é que os pinos das cores vão ser activados?
Logged

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

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

os pinos sao ativados quando a mesma cor do wearable, q no caso é um bracelete, encosta na mesma cor   do outro bracelete, os pinos estariam ligados as cores atravez de linha condutiva e as cores teriam pedaços de tecido condutivo. o q tenho q fazer é um programa que receba as quatro cores sorteadas pelo master, e quando se encostar a cor errada, soar um som de erro pelo buzzer, e o master tem q reconhecer esse erro. e a comunicaçao entre o master e o arduino é feita sem fio pelo xbee.e ainda terei q programar o xbee.
Logged

Pages: [1]   Go Up
Jump to: