Teach lesson
Arduino básico 3/4: controle a velocidade com um potenciômetro
Leia o potenciômetro de um Arduino Uno real e mapeie essa entrada para controlar a velocidade com que um LED pisca.
New to LabsLand? Create your teacher account
Learning Outcomes
Ler um potenciômetro com
analogRead.Distinguir a faixa teórica do ADC da faixa prática do potenciômetro.
Usar
map()para transformar uma leitura em uma ação visível.
Student activity preview
Activity Content
Preview only. In a class session, students can fill in responses and submit their work to the teacher.
Do mundo físico para um número
9 min
Um potenciômetro funciona como um botão giratório. O conversor analógico-digital padrão do Arduino Uno representa de 0 a 5 V com valores de 0 a 1023. O potenciômetro deste laboratório fornece de 0 a 3,3 V, portanto sua faixa útil de leitura é aproximadamente de 0 a 675. O código limita pequenas variações de medição e mapeia essa faixa prática para a velocidade do LED 1:
const int potMaxReading = 675;
int reading = analogRead(A0);
int calibratedReading = constrain(reading, 0, potMaxReading);
int waitTime = map(calibratedReading, 0, potMaxReading, 100, 1200);
delay(waitTime);
O mapeamento transforma uma leitura próxima de 0 em uma espera próxima de 100 ms e uma leitura próxima do máximo do laboratório em uma espera próxima de 1200 ms.
De acordo com esse trecho, se analogRead(A0) retornar um número pequeno, a espera será...
Faça o botão giratório controlar o LED
18 min
Envie o programa. Gire o potenciômetro 1 e observe como o piscar muda. Depois, troque a faixa 100, 1200 por outros valores: por exemplo, experimente uma espera máxima menor se não quiser que o LED pisque tão devagar.
const int pot1 = A0;
const int led1 = 8;
const int potMaxReading = 675;
void setup() {
pinMode(led1, OUTPUT);
}
void loop() {
int reading = analogRead(pot1);
int calibratedReading = constrain(reading, 0, potMaxReading);
int waitTime = map(calibratedReading, 0, potMaxReading, 100, 1200);
digitalWrite(led1, HIGH);
delay(waitTime);
digitalWrite(led1, LOW);
delay(waitTime);
}Abra o laboratório e localize o potenciômetro 1.
Envie o programa.
Teste o potenciômetro próximo do mínimo, no meio e próximo do máximo.
Troque a faixa
100, 1200por outros valores e teste novamente.
Envie seu código
Capture o código com a faixa de espera que parece mais clara para você. Antes de anexá-lo, salve main.ino no ambiente do laboratório. A captura deve mostrar o programa que você realmente quer que o professor analise.
Relacione o número ao efeito
8 min
Descreva o que você observou ao mover o potenciômetro. Qual faixa de espera escolheu e por quê?