Tag: serial
Send a string from arduino to processing
i would like to send a string with 2 letters and 1 to 3 random numbers from arduino to processing. The work is to send random values from a led RGB conected to an arduino, so in that in a stage in processing i can have a similar image with the same color from the led RGB
//in arduino int colorRED, colorGREEN, colorBLUE; int ledRedPin = 9; int ledGreenPin = 10; int ledBluePin = 11; void setup() { Serial.begin(9600); pinMode(ledRedPin, OUTPUT); pinMode(ledGreenPin, OUTPUT); pinMode(ledBluePin, OUTPUT); } void loop() { Serial.flush(); colorRED = random(0, 255); colorGREEN = random(0, 255); colorBLUE = random(0, 255); analogWrite(ledRedPin, colorRED); analogWrite(ledGreenPin, colorGREEN); analogWrite(ledBluePin, colorBLUE); delay(200); Serial.print("rd"); Serial.print(colorRED); Serial.print("\n"); delay(200); Serial.print("gr"); Serial.print(colorGREEN); Serial.print("\n"); delay(200); Serial.print("bl"); Serial.print(colorBLUE); Serial.print("\n"); delay(200); }
//in processing import processing.serial.*; Serial porta; String sinal_letra; String sinal_tipo; int valor_cor, valor_cor1, valor_cor2, valor_cor3; int totalc; void setup() { size(400, 400); porta = new Serial(this, "COM50", 9600); porta.clear(); } void draw() { desenha_led(); } void desenha_led() { //a desenhar um led background(valor_cor1, valor_cor2, valor_cor3); } void serialEvent(Serial porta) { sinal_letra = porta.readStringUntil('\n'); if (sinal_letra != null) { sinal_letra = trim(sinal_letra); totalc = sinal_letra.length(); sinal_tipo = sinal_letra.substring(0, 2); valor_cor = parseInt(sinal_letra.substring(2, totalc)); println(sinal_tipo+"-"+valor_cor); if (sinal_tipo.equals("rd")) { porta.clear(); valor_cor1=valor_cor; } if (sinal_tipo.equals("gr")) { porta.clear(); valor_cor2=valor_cor; } if (sinal_tipo.equals("bl")) { porta.clear(); valor_cor3=valor_cor; } } }
Tags : arduino, led RGB, Processing, PWM, serial