Um exemplo do uso da placa Arduino para receber dados a partir do computador. Neste caso, a placa Arduino liga um LED quando receber o caractere 'H' e desliga quando receber 'L'.
Os dados podem ser transmitidos a partir do Arduino serial monitor ou um outro programa, tal como Processing (veja o código abaixo), Flash (via um proxy serial-rede), PD ou Max/MSP.
Um LED no pino 13.
int outputPin = 13; int val; void setup() { Serial.begin(9600); pinMode(outputPin, OUTPUT); } void loop() { if (Serial.available()) { val = Serial.read(); if (val == 'H') { digitalWrite(outputPin, HIGH); } if (val == 'L') { digitalWrite(outputPin, LOW); } } }
// mouseover serial // by BARRAGAN <https://people.interaction-ivrea.it/h.barragan> // Demonstra como transmitir dados à placa de E/S Arduino de forma // a acender uma luz caso o rato/mouse esteja sobre um retângulo e // desligá-la caso contrário. // criado em 13 Maio 2004 import processing.serial.*; Serial port; void setup() { size(200, 200); noStroke(); frameRate(10); // Lista no painel de saída todas as portas seriais disponíveis. // Você precisará escolher nesta lista a porta a qual a placa // Arduino vai conectada. A primeira porta da lista é a de // número 0 e a terceira porta, a de número 2. println(Serial.list()); // Abra a porta a qual a placa Arduino vai conectada (aqui, a 0) // Certifique-se de abrir a porta à mesma velocidade do Arduino (9600bps) port = new Serial(this, Serial.list()[0], 9600); } // função a testar se o rato/mouse está sobre o retângulo boolean mouseOverRect() { return ((mouseX >= 50)&&(mouseX <= 150)&&(mouseY >= 50)&(mouseY <= 150)); } void draw() { background(#222222); if(mouseOverRect()) // se rato/mouse estiver sobre o retângulo { fill(#BBBBB0); // mude a cor port.write('H'); // envie um 'H' como indicação } else { fill(#666660); // mude a cor port.write('L'); // transmita 'L', caso contrário } rect(50, 50, 100, 100); // desenhe o retângulo }