10 Exercícios Simples de Programação com
Arduino
1. Piscar LED (Blink)
Faz o LED piscar a cada 1 segundo.
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}
2. Botão liga/desliga LED
Acende o LED quando o botão é pressionado.
int botao = 2;
int led = 13;
void setup() {
pinMode(botao, INPUT);
pinMode(led, OUTPUT);
}
void loop() {
int estado = digitalRead(botao);
if (estado == HIGH) {
digitalWrite(led, HIGH);
} else {
digitalWrite(led, LOW);
}
}
3. Piscar LED mais rápido
Pisca o LED a cada 200 milissegundos.
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
delay(200);
digitalWrite(13, LOW);
delay(200);
}
4. Controle de brilho com potenciômetro
Controla o brilho do LED com o potenciômetro.
int pot = A0;
int led = 9;
int valor = 0;
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
valor = analogRead(pot);
valor = map(valor, 0, 1023, 0, 255);
analogWrite(led, valor);
}
5. Contador com botão
Mostra no Serial Monitor quantas vezes o botão foi pressionado.
int botao = 2;
int contador = 0;
void setup() {
pinMode(botao, INPUT);
[Link](9600);
}
void loop() {
if (digitalRead(botao) == HIGH) {
contador++;
[Link]("Pressionado: ");
[Link](contador);
delay(500);
}
}
6. Sensor de luz (LDR)
Acende o LED quando há pouca luz.
int ldr = A0;
int led = 13;
void setup() {
pinMode(led, OUTPUT);
[Link](9600);
}
void loop() {
int valor = analogRead(ldr);
[Link](valor);
if (valor < 300) {
digitalWrite(led, HIGH);
} else {
digitalWrite(led, LOW);
}
delay(200);
}
7. Piscar LED com tempo variável
A velocidade do piscar depende da posição do potenciômetro.
int pot = A0;
int led = 13;
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
int tempo = analogRead(pot);
tempo = map(tempo, 0, 1023, 100, 1000);
digitalWrite(led, HIGH);
delay(tempo);
digitalWrite(led, LOW);
delay(tempo);
}
8. Comunicação Serial (Olá Mundo)
Envia a mensagem 'Olá, mundo!' para o computador a cada segundo.
void setup() {
[Link](9600);
}
void loop() {
[Link]("Olá, mundo!");
delay(1000);
}
9. Semáforo simples
Simula um semáforo com três LEDs.
int verde = 2;
int amarelo = 3;
int vermelho = 4;
void setup() {
pinMode(verde, OUTPUT);
pinMode(amarelo, OUTPUT);
pinMode(vermelho, OUTPUT);
}
void loop() {
digitalWrite(verde, HIGH);
delay(3000);
digitalWrite(verde, LOW);
digitalWrite(amarelo, HIGH);
delay(1000);
digitalWrite(amarelo, LOW);
digitalWrite(vermelho, HIGH);
delay(3000);
digitalWrite(vermelho, LOW);
}
10. Alarme simples com sensor
Ativa um buzzer quando o sensor é acionado.
int sensor = 2;
int buzzer = 8;
void setup() {
pinMode(sensor, INPUT);
pinMode(buzzer, OUTPUT);
}
void loop() {
if (digitalRead(sensor) == HIGH) {
digitalWrite(buzzer, HIGH);
} else {
digitalWrite(buzzer, LOW);
}
}