Tutorial Processing #2

Comunicazione tra Processing e Arduino

Comunicazione seriale tra Processing e Arduino - Tutorial Processing ITA
Tutorial Processing #1: Primi passi con Processing
Tutorial Processing #1
Primi passi con Processing

Descrizione

In questa puntata del tutorial di Processing, scopriremo come far comunicare gli sketch di Processing con i progetti che utilizzano la scheda di Arduino. Vedremo quindi degli esempi di come inviare i messaggi in entrambe le direzioni, sia da Processing ad Arduino che viceversa.

Scarica le risorse

Progetto: Da Processing ad Arduino

Schema

Componenti

Codice

import processing.serial.*;Serial port;boolean ledOn = false; void setup() {  size(500300);  //printArray(Serial.list());  port = new Serial(this, Serial.list()[0], 9600);} void draw() {  background(190);   if (mousePressed && !ledOn) {    port.write("on\n");    ledOn = true;  } else if (!mousePressed && ledOn) {    port.write("off\n");    ledOn = false;  }   if (ledOn) {    fill(23000200);  } else {    fill(2550080);  }   stroke(50);  arc(150807070-PI0);  noStroke();  rect(115807050);  stroke(50);  line(11580115130);  line(18580185130);  rect(10013010020);  fill(127);  rect(13015010100);  rect(1601501080);}
#define LED_PIN 9 void setup(){  Serial.begin(9600);  pinMode(LED_PIN, OUTPUT);} void loop(){  if(Serial.available()){    String command = Serial.readStringUntil('\n');    digitalWrite(LED_PIN, command == "on");  }  delay(50);}
scarica il file

Progetto: Da Arduino a Processing

Schema

Componenti

Codice

import processing.serial.*;Serial port;boolean ledOn = false;int counter = 0;PFont font; void setup() {  size(500300);  //printArray(Serial.list());  port = new Serial(this, Serial.list()[0], 9600);  font = createFont("Arial"100);} void draw() {  background(190);   if (mousePressed && !ledOn) {    port.write("on\n");    ledOn = true;    counter++;  } else if (!mousePressed && ledOn) {    port.write("off\n");    ledOn = false;  }   if (ledOn) {    fill(23000200);  } else {    fill(2550080);  }   stroke(50);  arc(150807070-PI0);  noStroke();  rect(115807050);  stroke(50);  line(11580115130);  line(18580185130);  rect(10013010020);  fill(127);  rect(13015010100);  rect(1601501080);    if (port.available() > 0) {    String command = port.readStringUntil('\n');    if (command != null && trim(command).equals("on")) {      counter = 0;    }  }   fill(0);  textFont(font);  textAlign(CENTER);  text(counter, 350180);}
#define LED_PIN 9#define BUTTON_PIN 2 int lastButtonState = LOW; void setup(){  Serial.begin(9600);  pinMode(LED_PIN, OUTPUT);  pinMode(BUTTON_PIN, INPUT);} void loop(){  int buttonState = digitalRead(BUTTON_PIN);  if(buttonState != lastButtonState && buttonState == HIGH){    Serial.println("on");  }  lastButtonState = buttonState;    if(Serial.available()){    String command = Serial.readStringUntil('\n');    digitalWrite(LED_PIN, command == "on");  }  delay(50);}
scarica il file

Arduino Software Hero

Vuoi imparare a programmare Arduino, ma non sai da dove cominciare?

Iscriviti al corso online

Libri consigliati


Tutorial consigliati

E-commerce di elettronica

Sul nostro negozio online trovi tutti i componenti usati nei tutorial.
Inoltre hai un'ampia scelta di prodotti tra:

  • Arduino
  • Raspberry Pi
  • Sensori
  • Robotica
  • Componenti elettronici
  • Accessori

Compra online, ricevi comodamente a casa

Visita il negozio