In questi giorni sto cercando di interfacciare Arduino con Processing per poi riuscire a controllare due motori CC.
Purtroppo mi sta risultando parecchio difficile in quanto sono nuovo sia in Arduino che in Processing.
Il problema riscontrato sta nel fatto che, penso, non riesco ad inviare i dati da processing ad arduino oppure arduino non riesca a leggere correttamente i dati e non so come mai.
Vi allego i due codici sperando che mi aiutiate a trovarne una soluzione.
Processing
import processing.serial.*;
Serial myPort;
boolean premuto = false;
boolean premuto1 = false;
boolean premuto2 = false;
boolean premuto3 = false;
int i=0;
void setup() {
println(Serial.list());
myPort = new Serial(this,Serial.list()[0],9600);
}
void draw(){
if(keyPressed){
if(key=='a'){
myPort.write(97);
}
if(key=='w'){
myPort.write(119);
}
if(key=='d'){
myPort.write(100);
}
if(key=='s'){
myPort.write(115);
}
}
}
void keyPressed() {
if(key=='a'){
premuto=true;
if (premuto) {
println("a");
println(str(i));
i++;
premuto=!premuto;
}
}if(key=='w'){
premuto=true;
if (premuto) {
println("w");
println(str(i));
i++;
premuto=!premuto;
}
}
if(key=='s'){
premuto=true;
if (premuto) {
println("s");
println(str(i));
i++;
premuto=!premuto;
}
}
if(key=='d'){
premuto=true;
if (premuto) {
println("d");
println(str(i));
i++;
premuto=!premuto;
}
}
}
Arduino
int ledPin = 2;
int ledPin1 = 3;
int ledPin2 = 4;
int ledPin3 = 5;
int val = 0;
void setup(){
pinMode(ledPin, OUTPUT);
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
Serial.begin(9600);
}
void loop(){
val=Serial.read();
switch (val) {
case 97:
digitalWrite(ledPin, HIGH);
break;
case 119:
digitalWrite(ledPin1, HIGH);
break;
case 100:
digitalWrite(ledPin2, HIGH);
break;
case 115:
digitalWrite(ledPin3, HIGH);
break;
}
}
E soprattutto mi è permesso comunicare senza la presa USB utilizzando una ricetrasmittente?
Grazie