После вызова функции setup(), которая инициализирует и устанавливает первоначальные значения, функция loop() делает точь-в-точь то, что означает её название, и крутится в цикле, позволяя вашей программе совершать вычисления и реагировать на них. Используйте её для активного управления платой Arduino.
int buttonPin = 3;
// setup инициализирует последовательный порт и кнопку
void setup(){
beginSerial(9600);
pinMode(buttonPin, INPUT);
}
// в цикле проверяется состояние кнопки,
// и на последовательный порт будет отправлено сообщение, если она нажата
void loop(){
if (digitalRead(buttonPin) == HIGH)
serialWrite('H');
else
serialWrite('L');
delay(2);
}