Boa tarde minha gente
Ando aqui a brincar com o arduino, mais o processing, a ideia era fazer um pov para a cicleta, permitindo ao ligar o arduino ao pc, carregar uma "imagem" (ainda estou para pensar onde a vou guardar).
A questão é, estou aqui com um pequeno problema ainda no desenvolvimento, neste caso, no processing, quando faço para o draw() correr apenas uma vez(noLoop()), o arduino nem "liga" ao que é enviado, quando faço normalmente, ele ja se faz de entendido. Aínda tou so a apalpar o processing daí este meu problema secalhar.
O codigo do arduino, se não tiver dados disponíveis no porto serie, segue a vidinha dele (percorre um array dentro de um tempo entre passagens), quando tem dados disponíveis, lê, se for 'L', para o ciclo e entra por agora num modo que mostra em binario o codigo ascii, até receber 'E', onde dá-se por feliz, e volta as voltinhas dele.
if (Serial.available()) { // If data is available to read,
val = Serial.read(); // read it and store it in val
}
if(val=='L'){
while(1){
if(Serial.available()){
val= Serial.read();
}
if(val=='E'){
break;
}
for(i=0; i<16; i++){
digitalWrite(led0,LOW);
digitalWrite(led1,HIGH);
shiftOut(data, clock, LSBFIRST, val);
delay(5);
}
-->Parte codigo arduino.
O codigo do arduino, funciona, experimentei fazer o ciclo, envia 'L', envia dados, envia 'E', usando o RComSerial, e funcionou lindamente,mas no processing só funciona se estiver em constante loop o envio...
A questão é, ele envia sempre pelo menos uma vez, se tiver o draw em noLoop? Já experimentei fazer somente uma vez o ciclo no draw, e o erro manteve-se... teoricamente ao receber 'L' ele bloqueia logo, mas no processing o arduino parece não tar nem interessado
import processing.serial.*;
Serial myPort;
int a = 200;
void setup(){
println(Serial.list());
myPort = new Serial(this, Serial.list()[1], 9600);
size(400, 400);
background(51);
noLoop();
}
void draw(){
myPort.write('L');
delay(5000);
}
}
-->Codigo Processing
Será que não estão sincronizados? o serial.available() era suposto corrigir isso
Será que terei de fazer "Hand-Shaking"?