..το θέμα τώρα είναι μια μικρή καθυστέρηση που νομίζω οτι υπάρχει κατά την εναλλαγή των LEDs..
arduino code:
int ledPin2 = 2;
int ledPin3 = 3;
int ledPin4 = 4;
int ledPin5 = 5;
int ledPin6 = 6;
int ledPin7 = 7;
int ledPin8 = 8;
int ledPin9 = 9;
int ledPin10 = 10;
int ledPin11 = 11;
int ledPin12 = 12;
int ledPin13 = 13;
int procByte[11]; //incoming byte
void setup(){
// initialize the serial communication:
// Serial.begin(9600);
Serial.begin(115200);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(ledPin4, OUTPUT);
pinMode(ledPin5, OUTPUT);
pinMode(ledPin6, OUTPUT);
pinMode(ledPin7, OUTPUT);
pinMode(ledPin8, OUTPUT);
pinMode(ledPin9, OUTPUT);
pinMode(ledPin10, OUTPUT);
pinMode(ledPin11, OUTPUT);
pinMode(ledPin12, OUTPUT);
pinMode(ledPin13, OUTPUT);
}
void loop() {
// check if data has been sent from the computer:
if (Serial.available()>12) {
for (int i=0; i<12; i++) {
// read each byte
procByte[i] = Serial.read();
if (procByte[i] == 'A'){
digitalWrite(ledPin2, HIGH);
}
else if (procByte[i] == 'a'){
digitalWrite(ledPin2, LOW);
}
if (procByte[i] == 'B'){
digitalWrite(ledPin3, HIGH);
}
else if (procByte[i] == 'b'){
digitalWrite(ledPin3, LOW);
}
if (procByte[i] == 'C'){
digitalWrite(ledPin4, HIGH);
}
else if (procByte[i] == 'c'){
digitalWrite(ledPin4, LOW);
}
if (procByte[i] == 'D'){
digitalWrite(ledPin5, HIGH);
}
else if (procByte[i] == 'd'){
digitalWrite(ledPin5, LOW);
}
if (procByte[i] == 'E'){
digitalWrite(ledPin6, HIGH);
}
else if (procByte[i] == 'e'){
digitalWrite(ledPin6, LOW);
}
if (procByte[i] == 'F'){
digitalWrite(ledPin7, HIGH);
}
else if (procByte[i] == 'f'){
digitalWrite(ledPin7, LOW);
}
if (procByte[i] == 'G'){
digitalWrite(ledPin8, HIGH);
}
else if (procByte[i] == 'g'){
digitalWrite(ledPin8, LOW);
}
if (procByte[i] == 'H'){
digitalWrite(ledPin9, HIGH);
}
else if (procByte[i] == 'h'){
digitalWrite(ledPin9, LOW);
}
if (procByte[i] == 'I'){
digitalWrite(ledPin10, HIGH);
}
else if (procByte[i] == 'i'){
digitalWrite(ledPin10, LOW);
}
if (procByte[i] == 'J'){
digitalWrite(ledPin11, HIGH);
}
else if (procByte[i] == 'j'){
digitalWrite(ledPin11, LOW);
}
if (procByte[i] == 'K'){
digitalWrite(ledPin12, HIGH);
}
else if (procByte[i] == 'k'){
digitalWrite(ledPin12, LOW);
}
if (procByte[i] == 'L'){
digitalWrite(ledPin13, HIGH);
}
else if (procByte[i] == 'l'){
digitalWrite(ledPin13, LOW);
}
}
}
}
processing code:
import processing.serial.*;
Serial port;
void setup() {
size(300, 150);
// port = new Serial(this, "COM15", 9600);
port = new Serial(this, "COM15", 115200);
background(255);
stroke (0);
line (150, 0, 150, 150);
}
void draw() {
if (mouseX <150 ) {
port.write('A'); //first led on
port.write('b'); //this led off
port.write('c');
port.write('d');
port.write('e');
port.write('F');
port.write('g');
port.write('H');
port.write('i');
port.write('j');
port.write('K');
port.write('l');
}
else if (mouseX >150 && mouseX < 300 ) {
port.write('a'); //first led off
port.write('B'); //this led on
port.write('c');
port.write('d');
port.write('e');
port.write('f');
port.write('G');
port.write('h');
port.write('I');
port.write('j');
port.write('k');
port.write('L');
}
}
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου