Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Definições das constantes para os pinos do display de 7 segmentos
- const int pinosDisplay[8] = {8, 9, 3, 4, 5, 7, 6, 2};
- void setup() {
- // Define todos os pinos do display como saída
- for (int i = 0; i < 8; i++) {
- pinMode(pinosDisplay[i], OUTPUT);
- }
- // Inicia com o display desligado
- desligarDisplay();
- }
- void loop() {
- // Loop para a passagem dos 10 dígitos (0-9)
- for (int digito = 0; digito < 10; digito++) {
- // Define quais segmentos devem estar ligados para cada dígito
- definirSegmentos(digito);
- // Liga e desliga de forma alternada o ponto
- digitalWrite(pinosDisplay[7], !digitalRead(pinosDisplay[7]));
- // Aguarda 1 segundo para trocar de dígito
- delay(1000);
- // Apaga todos os segmentos para apresentar o próximo dígito
- desligarDisplay();
- }
- }
- // Função para desligar todos os segmentos do display
- void desligarDisplay() {
- for (int i = 0; i < 7; i++) {
- digitalWrite(pinosDisplay[i], HIGH);
- }
- }
- // Função para definir quais segmentos devem estar ligados para cada dígito
- void definirSegmentos(int digito) {
- // Tabela de segmentos para cada dígito (0-9)
- const bool segmentos[10][7] = {
- {LOW, LOW, LOW, LOW, LOW, LOW, HIGH}, // 0
- {HIGH, LOW, LOW, HIGH, HIGH, HIGH, HIGH}, // 1
- {LOW, LOW, HIGH, LOW, LOW, HIGH, LOW}, // 2
- {LOW, LOW, LOW, LOW, HIGH, HIGH, LOW}, // 3
- {HIGH, LOW, LOW, HIGH, HIGH, LOW, LOW}, // 4
- {LOW, HIGH, LOW, LOW, HIGH, LOW, LOW}, // 5
- {LOW, HIGH, LOW, LOW, LOW, LOW, LOW}, // 6
- {LOW, LOW, LOW, HIGH, HIGH, HIGH, HIGH},// 7
- {LOW, LOW, LOW, LOW, LOW, LOW, LOW}, // 8
- {LOW, LOW, LOW, HIGH, HIGH, LOW, LOW} // 9
- };
- // Define os segmentos conforme o dígito atual
- for (int i = 0; i < 7; i++) {
- digitalWrite(pinosDisplay[i], segmentos[digito][i]);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement