// início do código
// Aula 3: Explorando atuadores inteligentes – Código Exemplo
#include <Servo.h>
Servo servo;
int botaoVerde = 12; // botão verde
int botaoAmarelo = 4; // botão amarelo
int ledConfirm = 2; // LED
int servoPin = 3; // servo
void setup() {
pinMode(botaoVerde, INPUT_PULLUP);
pinMode(botaoAmarelo, INPUT_PULLUP);
pinMode(ledConfirm, OUTPUT);
servo.attach(servoPin);
servo.write(0); // posição inicial
digitalWrite(ledConfirm, LOW);
Serial.begin(9600);
Serial.println("Sistema iniciado");
Serial.println("Pressione o BOTAO VERDE para iniciar o movimento");
}
void loop() {
// botão verde: inicia movimento
if (digitalRead(botaoVerde) == LOW) {
Serial.println("Comando recebido: movendo servo para 90 graus");
servo.write(90);
Serial.println("Servo em movimento...");
Serial.println("Pressione o BOTAO AMARELO para confirmar a posicao");
delay(500); // evita repetição
}
// botão amarelo: confirma posição
if (digitalRead(botaoAmarelo) == LOW) {
Serial.println("Confirmacao recebida");
Serial.println("Posicao confirmada pelo sistema");
// LED pisca duas vezes
for (int i = 0; i < 2; i++) {
digitalWrite(ledConfirm, HIGH);
delay(300);
digitalWrite(ledConfirm, LOW);
delay(300);
}
Serial.println("Retornando servo para a posicao inicial (0 graus)");
servo.write(0);
delay(500);
Serial.println("Ciclo finalizado");
Serial.println("Pressione o BOTAO VERDE para iniciar novamente");
}
}
// fim do código