25-04-2019, 22:29
Witam,
zacząłem uczyć się komunikacji Arduino z Processing i korzystam z tej strony, na której podstawy są bardzo fajnie wytłumaczone.
Natknąłem się jednak na problem, którego nie jestem w stanie zdiagnozować ponieważ robię wszystko dokładnie jak w poradniku.
Pierwsza zadanie z poradnika gdzie wysyłam wiadomość z Arduino do Processing'u działa w porządku. Nie działa mi natomiast komunikacja w drugą stronę. Otóż wgrywam program na Arduino, wszystkie diody na płytce Arduino Mega gasną, ale gdy odpalam program napisany w Processing zapala się wbudowana dioda do pinu 13 oraz pulsuje dioda TX. Niezależnie od tego czy klikam w puste pole w Processingu, żeby wysyłać ciąg jedynek czy też nie ciągle świeci wbudowana dioda oraz dioda TX.
Nie rozumiem co może być nie tak.
Arduino:
Processing:
Prosiłbym o pomoc.
zacząłem uczyć się komunikacji Arduino z Processing i korzystam z tej strony, na której podstawy są bardzo fajnie wytłumaczone.
Natknąłem się jednak na problem, którego nie jestem w stanie zdiagnozować ponieważ robię wszystko dokładnie jak w poradniku.
Pierwsza zadanie z poradnika gdzie wysyłam wiadomość z Arduino do Processing'u działa w porządku. Nie działa mi natomiast komunikacja w drugą stronę. Otóż wgrywam program na Arduino, wszystkie diody na płytce Arduino Mega gasną, ale gdy odpalam program napisany w Processing zapala się wbudowana dioda do pinu 13 oraz pulsuje dioda TX. Niezależnie od tego czy klikam w puste pole w Processingu, żeby wysyłać ciąg jedynek czy też nie ciągle świeci wbudowana dioda oraz dioda TX.
Nie rozumiem co może być nie tak.
Arduino:
Kod:
#define onBoardLed 13
char val;
void setup() {
Serial.begin(9600);
pinMode(onBoardLed, OUTPUT);
}
void loop() {
if(Serial.available() > 0) {
val = Serial.read();
}
if(val == '1') {
digitalWrite(onBoardLed, HIGH);
}
else {
digitalWrite(onBoardLed, LOW);
}
delay(50);
}
Processing:
Kod:
import processing.serial.*;
Serial myPort;
String portName;
void setup() {
size(200, 200);
portName = Serial.list()[0];
myPort = new Serial(this, portName, 9600);
}
void draw() {
if(mousePressed == true) {
myPort.write('1');
println('1');
}
else {
myPort.write('0');
}
}
Prosiłbym o pomoc.