Този пример изпраща данни от компютъра към Arduino платката и контролира яркостта на светодиод. Данните се изпращат като отделни байтове, всеки в диапазона между 0 и 255. Arduino разчита тези байтове и ги използва за да зададе яркостта на светодиода.
За този пример е необходим светодиод свързан към пин 9 с подходящ резистор (например 220 ома).
Снимка

Схема

Код за Ардуино
/* Dimer kontroliran ot Processing | KOD ZA ARDUINO
* ------------
*
* kontrolira yarkostta svetodiod chrez danni poluchavani ot kompyutera
*
* ot David A. Mellis (2006)
*
* podobrena ot Tom Igoe (April 2009)
*
* bulgarski prevod ot Simeon Ianchev / Robotev.com (Septemvri 2009)
*/
int ledPin = 9; //pin za svetodioda
void setup()
{
Serial.begin(9600); // zapochva seriina komunikaciya s kompyutara
pinMode(ledPin, OUTPUT); //deklarira pina za svetodioda kato izhod
}
void loop()
{
byte val;
// proveryava dali ot kompyutera sa izprateni danni
if (Serial.available()) {
// ako uslovieto e izpalneno prochita poslednata stojnost ot kompyutera
val = Serial.read();
// izpolzva dannite za da zadade yarkostta na svetodioda
analogWrite(ledPin, val);
}
}
Код за Processing
/* Dimer kontroliran ot Processing | KOD ZA PROCESSING
* ------------
*
* kontrolira yarkostta svetodiod chrez danni poluchavani ot kompyutera
*
* ot David A. Mellis (2006)
*
* podobrena ot Tom Igoe (April 2009)
*
* bulgarski prevod ot Simeon Ianchev / Robotev.com (Septemvri 2009)
*/
// zarejda bibliotekata za serijna komunikaciya
import processing.serial.*;
Serial port;
void setup()
{
// zadava razmer na platnoto za risuvane
size(256, 150);
// zadava nomera na polzvaniya serien port, smenete COM4 s nomera na porta koito polzvate
// 9600 ukazva skorostta s koyato se obmenyat danni. Tazi stojnost tryabva da suotvetstva na
// stojnostta ot Serial.begin() v programata za Arduino
port = new Serial(this, "COM4", 9600);
}
void draw()
{
// risuva gradient ot cherno kam byalo
for (int i = 0; i < 256; i++) {
stroke(i);
line(i, 0, i, 150);
}
// izprashta X-koordinatite na poziciyata na mishkata po seriiniya port kato bit
port.write(mouseX);
}