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 : , , , ,