Indicador luminoso do servo
Parte da seção Saídas do Journey de Arduino da Coddy. Lição 24 de 24.
Com uma agulha em seu braço, um servo se transforma em um medidor, como o velocímetro de um carro. Aqui, ele mostra o quão claro está.
Assim como na luz noturna, o AO do módulo lê valores menores sob uma luz mais forte: cerca de 1023 no escuro e próximo de 0 sob luz plena. Um medidor deve apontar mais alto quando há mais luz, então a conversão funciona ao contrário. Assim como no medidor de luz, passe para map() o novo intervalo invertido:
int angle = map(reading, 0, 1023, 180, 0);Uma leitura de 0, sob luz plena, se torna 180 graus, e 1023, no escuro, se torna 0. Tudo entre esses valores fica entre eles, no sentido oposto.
Desafio
MédioO AO do sensor de luz está conectado ao A0 e o servo ao pino 9. Transforme o braço em um medidor de luz:
- na escuridão, o braço aponta para 0 graus; com luz total, para 180
- use
map()com o novo intervalo invertido - imprima o ângulo e aguarde 50 ms a cada vez
Pressione Run e mova o controle deslizante de luz no sensor; depois, Check.
Experimente você mesmo
#include <Servo.h>
const int lightPin = A0;
Servo arm;
void setup() {
arm.attach(9);
Serial.begin(9600);
}
void loop() {
// leia a luz, mapeie o valor de forma inversa para 180..0, mova o braço e imprima o ângulo
}
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Saídas
Pratique por conta própria: Playground de Arduino