Hi, I am new to Processing and Arduino. I want the servos to turn either right or left when it receives the serial numbers. So when the lights turn green, the servos turn left, when the lights turn red, the servos turn right.
Arduino
#include <Servo.h>
Servo servoLeft;
Servo servoRigtht;
int green = 8;
int red = 2;
byte incomingByte;
byte lastByte;
void setup() {
Serial.begin(9600);
pinMode(green, OUTPUT);
pinMode(red, OUTPUT);
servoLeft.attach(10);
servoRight.attach(9);
}
void loop() {
lastByte = incomingByte;
//Serial.available() == "open"; //cut
if (Serial.available()) {
incomingByte = Serial.read();
// digitalWrite(green, HIGH); //cut
// delay(incomingByte); //cut
}
if (incomingByte > lastByte) {
// digitalWrite(green, HIGH); //cut
// delay(400); //cut
digitalWrite(green, LOW);
delay(400);
digitalWrite(green, HIGH);
digitalWrite(red, LOW);
delay(1000);
turnLeft();
delay(2000);
turnRight();
delay(2000);
}
if (incomingByte < lastByte) {
digitalWrite(green, LOW);
digitalWrite(red, LOW);
delay(400);
digitalWrite(red, HIGH);
delay(1000);
}
}
void turnLeft() {
servoLeft.write(0);
servoRight.write(0);
}
void turnRight() {
servoLeft.write(180);
servoRight.write(180);
}
import processing.serial.*;
Serial myPort;
Table table;
void setup() {
size(630, 480);
background(0);
myPort = new Serial(this, Serial.list()[0], 9600);
table = loadTable("NVDA.csv", "header");
for(TableRow row : table.rows()) {
byte open = byte(row.getInt("Open"));
//float open2 = float(row.getInt("Open"));
println("open price is (" + open + ")");
myPort.write(open);
delay(4000);
}
}
void draw() {
//fill(200, 50, 100);
//ellipse(width/2, height/2, 50, 50);
}