Relógio NeoPixel: Segundos
Parte da seção Projetos do Journey de Arduino da Coddy. Lição 21 de 24.
O último projeto é um relógio sem números: um anel de 12 NeoPixels, como as 12 horas no mostrador de um relógio, com cada ponteiro sendo uma luz colorida. O pixel 0 fica no topo, na posição das 12 horas, e os números seguem no sentido horário. Dois botões ajustarão a hora.
Primeiro, o ponteiro dos segundos. Um minuto tem 60 segundos e o anel tem 12 pixels, então o ponteiro avança um pixel a cada 5 segundos.
seconds % 60 conta de 0 a 59 e depois recomeça em 0, como os segundos em um relógio. A divisão inteira por 5 transforma 0 a 59 em 0 a 11:
unsigned long seconds = millis() / 1000;
int secondPixel = (seconds % 60) / 5;A cada passagem de loop(), desenhe o anel do zero: ring.clear(), defina o pixel do ponteiro, ring.show(). Sem limpar, as posições antigas continuam acesas e o anel fica todo iluminado. Dez atualizações por segundo são mais do que suficientes, então o código inicial termina com delay(100).
Desafio
MédioO anel está no pino 6. Desenhe o ponteiro dos segundos:
- calcule os segundos desde que o dispositivo foi ligado com
millis() / 1000 - o pixel do ponteiro é
(seconds % 60) / 5 - limpe o anel, acenda esse pixel em azul com
ring.Color(0, 0, 255)e mostre-o
Mantenha o delay(100). Pressione Run e observe o ponteiro dar uma volta; em seguida, Check.
Experimente você mesmo
#include <Adafruit_NeoPixel.h>
const int ringPin = 6;
const int pixelCount = 12;
Adafruit_NeoPixel ring(pixelCount, ringPin, NEO_GRB + NEO_KHZ800);
void setup() {
ring.begin();
}
void loop() {
// calcule a posição do ponteiro dos segundos e desenhe-o em azul
delay(100); // redesenhe dez vezes por segundo
}
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Projetos
3Sensor de Estacionamento
Sensor de Estacionamento: DistânciaSensor de Estacionamento: LuzesSensor de Estacionamento: BipesSensor de Estacionamento: Visor6Relógio NeoPixel
Relógio NeoPixel: SegundosRelógio NeoPixel: MinutosRelógio NeoPixel: Combinando os ponteirosRelógio NeoPixel: Ajustar a horaPratique por conta própria: Playground de Arduino