Contatore binario con LED
Fa parte della sezione Uscite del percorso Arduino di Coddy. Lezione 19 di 24.
Quattro LED possono mostrare qualsiasi numero da 0 a 15 in binario, il modo in cui i computer memorizzano i numeri. Ogni LED rappresenta un posto che vale il doppio di quello precedente: 1, 2, 4 e 8. Un LED acceso aggiunge il proprio valore:
- 5 è 4 + 1: i LED che valgono 4 e 1 sono accesi
- 10 è 8 + 2
- 15 sono tutti e quattro
Ogni posto è chiamato bit, numerato a partire da 0, quello che vale 1. bitRead(number, n) restituisce il bit n di un numero, 1 o 0:
bitRead(5, 0); // 1: 5 contiene l'1
bitRead(5, 1); // 0: 5 non contiene il 2
bitRead(5, 2); // 1: 5 contiene il 4Poiché 1 è HIGH e 0 è LOW, il bit i può essere collegato direttamente al LED i:
for (int i = 0; i < 4; i++) {
digitalWrite(ledPins[i], bitRead(count, i));
}Qui ledPins[0], il pin 2, è il LED a destra, che vale 1, come l'ultima cifra di un numero.
Sfida
MedioFai contare i quattro LED in binario:
- inizia
countda 0 - mostralo sui LED con
bitRead(), il bitisuledPins[i] - attendi 250 ms, aggiungi 1 e, dopo 15, ricomincia da 0
Premi Run, poi Check.
Provalo tu
int ledPins[] = {2, 3, 4, 5}; // valgono 1, 2, 4, 8
int count = 0;
void setup() {
for (int i = 0; i < 4; i++) {
pinMode(ledPins[i], OUTPUT);
}
}
void loop() {
// mostra count in binario, attendi 250 ms, poi incrementa count (torna a 0 dopo 15)
}
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Uscite
1Luminosità
Riduci la luminosità di un LED con PWMPin PWM contrassegnati con ~Fai aumentare la luminosità di un LEDFai aumentare e diminuire la luminositàDimmer a manopola4Cicli e array
Ripeti con un ciclo forUn array di pin LEDInseguitore a cinque LEDGrafico a barre con potenziometroContatore binario con LEDEsercitati da solo: Playground Arduino