Contador binário com LEDs
Parte da seção Saídas do Journey de Arduino da Coddy. Lição 19 de 24.
Quatro LEDs podem mostrar qualquer número de 0 a 15 em binário, da forma como os computadores armazenam números. Cada LED representa um valor duas vezes maior que o anterior: 1, 2, 4 e 8. Um LED aceso soma seu valor:
- 5 é 4 + 1: os LEDs que valem 4 e 1 estão acesos
- 10 é 8 + 2
- 15 são os quatro
Cada posição é chamada de bit, numerada a partir de 0, que vale 1. bitRead(number, n) retorna o bit n de um número, 1 ou 0:
bitRead(5, 0); // 1: 5 tem o 1
bitRead(5, 1); // 0: 5 não tem o 2
bitRead(5, 2); // 1: 5 tem o 4Como 1 é HIGH e 0 é LOW, o bit i pode ser enviado diretamente ao LED i:
for (int i = 0; i < 4; i++) {
digitalWrite(ledPins[i], bitRead(count, i));
}Aqui, ledPins[0], pino 2, é o LED à direita, que vale 1, como o último dígito de um número.
Desafio
MédioFaça os quatro LEDs contarem em binário:
- inicie
countem 0 - mostre-o nos LEDs com
bitRead(), o bitiemledPins[i] - aguarde 250 ms, adicione 1 e, depois de 15, recomece em 0
Pressione Run e depois Check.
Experimente você mesmo
int ledPins[] = {2, 3, 4, 5}; // valem 1, 2, 4, 8
int count = 0;
void setup() {
for (int i = 0; i < 4; i++) {
pinMode(ledPins[i], OUTPUT);
}
}
void loop() {
// mostre count em binário, espere 250 ms e depois incremente count (voltando a 0 após 15)
}
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
1Brilho
Reduza o brilho de um LED com PWMPinos PWM marcados com ~Aumente gradualmente o brilho de um LEDAumente e reduza o brilho gradualmenteDimmer com potenciômetro4Laços e Arrays
Repita com um laço forUm array de pinos de LEDPerseguidor de cinco LEDsGráfico de barras com potenciômetroContador binário com LEDsPratique por conta própria: Playground de Arduino