Този пример изпраща данни от компютъра към 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); }