quinta-feira, 2 de dezembro de 2010

CÓDIGO PARA LEITURA DOS SENSORES - ARDUÍNO


CRIANDO CODIGO PARA LEITORA DE 2 SENSORES NAS PORTAS ANALOGICAS 0 e 1


void setup(){
 Serial.begin(9600);
}
void loop(){
 int luz = analogRead(0);   // faz a leitura da porta analogica 0
 int luz2 = analogRead(1);
 Serial.print(luz); //imprime o valor do sensor de luz
 Serial.println(",");    //imprime a virgula final e pula uma linha
}




ADAPTAÇÃO DO CODIGO ANTIGO (VIA TECLADO) PARA O PROCESSING

import processing.serial.*;     //importa a biblioteca de comunicao serial
Serial pArduino;                //cria uma nova porta serial chamada pArduino

import ddf.minim.*;
Minim minim;
AudioSample som1;
AudioSample som2;
AudioSample nosound;        // definindo uma variavel para uma pausa

float luz;
float luz2;

void setup() {

  size(800,600,P2D); //cria uma janela de 500 x 500
  noStroke();        //desenhos sem contornos


    minim = new Minim(this);
    som1 = minim.loadSample("som1.mp3", 2048);
    som2 = minim.loadSample("som5.mp3", 2048);
    nosound = minim.loadSample("nosound.mp3", 2048);


  println(Serial.list()); //imprime no console output do processing as portas disponíveis
  String nomePorta = Serial.list()[1]; //pega a porta numero 0 em nomePorta

  pArduino = new Serial(this, nomePorta,9600); //cria uma conexao serial a 19200, mesma velocidade configurada no arduino, no pArduino criado la em cima
  pArduino.bufferUntil('\n'); // define quando uma mensagem é nova, no caso quando é pula linha
}

void draw() {

  background(0); //limpa o background


 //rect(width/2, height/2, luz*20, luz*20); // desenha uma quadrado na posicao definida pelo sensor de luz, e o tamanho do quadrado definido pelo sensor IR
//rect(width/2, height/2, luz2/25, luz2/25);
}



void serialEvent(Serial pArduino) {

  String myString = pArduino.readStringUntil('\n'); // le a mensagem na porta serial ate chegar o fim de linha definido com pula linha \n
  myString = trim(myString);
  int sensors[] = int(split(myString, ',')); //quebra a mensagem lida na porta serial nas virgulas!!!!!!
 
  for (int sensorNum = 0;
 
          
            sensorNum  < sensors.length;
            sensorNum++) {
            print("Sensor " + sensorNum + ": " + sensors[sensorNum] + "\t");
    }
 
 if (luz == 0) {
  som1.trigger();

} else {
    nosound.trigger();
 // som2.trigger();
}


if (luz2 == 0) {
  som2.trigger();

} else {
    nosound.trigger();
 // som2.trigger();
}

 luz = sensors[0]; //atualiza a variavel luz com valores lidos na porta serial
 luz2 = sensors[1];

}

Publicado por Alessandro de Paula e Fabiane Roberta Siqueira

Nenhum comentário:

Postar um comentário