O que é um robô? Identificando partes e funções
Introdução à Robótica Educacional
- - Identificar componentes básicos de um robô (sensores, atuadores, controlador)
- - Reconhecer robôs no cotidiano e suas funções
- - Diferenciar máquina automática de robô programável
Introdução / Contextualização
Apresentar o conceito de robô como máquina programável que recebe entradas (sensores), processa decisões (controlador) e age no mundo (atuadores). Mostrar 3 exemplos do cotidiano: porta automática do mercado, aspirador robô, semáforo inteligente.
Montagem do Circuito / Hardware
Em duplas, os alunos montam o circuito básico no protoboard: Arduino + LED + resistor 220Ω. Conferir polaridade do LED e seguir o esquema da apostila (página 12). Tempo: 15 min.
Programação / Codificação
No Tinkercad (versão online, conectada), abrir o exemplo "Blink" e modificar para que o LED pisque 3 vezes rápido e depois fique aceso por 2 segundos. Discutir o que cada linha do código faz (pinMode, digitalWrite, delay).
Teste, Depuração e Ajustes
Cada dupla testa o programa. Se não funcionar: (a) conferir polaridade do LED, (b) revisar a porta no código vs no protoboard, (c) checar conexão USB. Identificar e classificar o tipo de erro (físico vs lógico).
Encerramento / Socialização
Roda de socialização (10 min): cada dupla mostra seu LED funcionando e responde "o que mudaria pra deixar a luz mais lenta? E mais rápida?". Registrar as ideias no quadro pra próxima aula.
// Robô que pisca LED quando detecta objeto < 10cm
const int trigPin = 9;
const int echoPin = 10;
const int ledPin = 13;
const int buzzer = 8;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledPin, OUTPUT);
pinMode(buzzer, OUTPUT);
Serial.begin(9600);
}
long medirDistancia() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duracao = pulseIn(echoPin, HIGH);
return duracao * 0.034 / 2; // distancia em cm
}
void loop() {
long distancia = medirDistancia();
Serial.print("Distancia: ");
Serial.print(distancia);
Serial.println(" cm");
if (distancia < 10) {
digitalWrite(ledPin, HIGH);
tone(buzzer, 1000, 200);
} else {
digitalWrite(ledPin, LOW);
noTone(buzzer);
}
delay(200);
}
quando @greenFlag for clicado
sempre
medir a distância
se <distância < 10 cm> então
acender LED
tocar buzzer
senão
apagar LED
parar buzzer
end
esperar 0.2 segundos
endVocê chegou ao fim! 🎉
O que foi mais difícil? O que você faria diferente? Conte pra turma!