Saltar al contenido

Contador de pantalla de 7 segmentos Arduino

julio 22, 2021
F99EQ4WJCKUTV8C

¡Hola!

Mi nombre es Shaya y soy una estudiante de tercer grado y mi hermano Loch, que está en primer grado, ¡ama la electrónica!

Estaremos trabajando en diferentes proyectos cada semana y compartiéndolos contigo.

Hemos incluido el código fuente como un archivo adjunto para que lo descargue; consulte más adelante en este documento.

Míralo en un video aquí Video de Youtube

En este proyecto, le mostraré cómo diseñar un contador de cuenta regresiva usando una pantalla de 7 segmentos de 1 dígito y un timbre activo.

Aquí están los componentes que necesita

  1. 1 x Arduino Mega 2560
  2. 1 x zumbador activo
  3. 2 resistencias de 220 ohmios (rojo, rojo, marrón)
  4. 1 x resistencia de 100 ohmios (marrón, negro, marrón)
  5. Contador digital de 1 x 1 dígito y 7 segmentos
  6. 1 x tabla de pan
  7. Varios alambres

Paso 1: Los cables de 7 segmentos y los números de los pines

Los cables de 7 segmentos y los números de los pines

Cómo conectar la pantalla a la placa Arduino

En el diagrama anterior, verá la asignación de letras para cada segmento de la pantalla digital, esto es útil al escribir el código.

Los números de cable de la pantalla (ver arriba) le ayudarán a conectar los pines correctamente a la placa. Puede utilizar el diagrama adjunto a continuación para conectar la pantalla digital a la placa Arduino.

Pin de pantalla digital a Pin Arduino

Pin 1 a 6

Pin 2 a 5

Pin 3 a GND (a través de una resistencia de 220 ohmios)

Pin 4 a 4

Pin 5 en ninguna parte

Pin 6 a 9

Pin 7 a 8

Pin 8 a GND (a través de una resistencia de 220 ohmios)

Pin 9 a 2

Pin 10 a 3

Cómo conectarse al zumbador activo a la placa Arduino

Ánodo en el zumbador a través de una resistencia de 100 ohmios al pin 13 en Arduino

Cátodo a GND en protoboard

No hace falta decir que debe conectar los pines + 5V y GND en el Arduino a la placa de pruebas.

Paso 2: el diagrama de cableado

El diagrama de cableado

Este es un diagrama de cableado para ayuda visual. ¡Espero que te lo ponga más fácil!

Paso 3: Finalmente, el Código …

// PWM Pins are connected to the 7 segments of the display. 
const int buzzer = 13; //buzzer to arduino pin 13
int pinA = 8;
int pinB = 9;
int pinC = 4;
int pinD = 5;
int pinE = 6;
int pinF = 2;
int pinG = 3;
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pins as outputs.
pinMode(buzzer, OUTPUT); // Set buzzer to pin 13
pinMode(pinA, OUTPUT);
pinMode(pinB, OUTPUT);
pinMode(pinC, OUTPUT);
pinMode(pinD, OUTPUT);
pinMode(pinE, OUTPUT);
pinMode(pinF, OUTPUT);
pinMode(pinG, OUTPUT);
//This block of code starts countdown from 9 to 0. With every changing digit, you hear a small beep
//9
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, LOW);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
tone(buzzer,1000); // Send 1KHz sound.
delay(100);        // wait for 100 msec
noTone(buzzer);     // Stop sound...
delay(900);        // wait for for 900 msec
//8
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
tone(buzzer,1000); // Send 1KHz sound.
delay(100);        // wait for 100 msec
noTone(buzzer);     // Stop sound...
delay(900);        // wait for for 900 msec
//7
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, LOW);
digitalWrite(pinG, LOW);
tone(buzzer,1000); // Send 1KHz sound.
delay(100);        // wait for 100 msec
noTone(buzzer);     // Stop sound...
delay(900);        // wait for for 900 msec
//6
digitalWrite(pinA, HIGH);
digitalWrite(pinB, LOW);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
tone(buzzer,1000); // Send 1KHz sound.
delay(100);        // wait for 100 msec
noTone(buzzer);     // Stop sound...
delay(900);        // wait for for 900 msec
//5
digitalWrite(pinA, HIGH);
digitalWrite(pinB, LOW);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, LOW);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
tone(buzzer,1000); // Send 1KHz sound.
delay(100);        // wait for 100 msec
noTone(buzzer);     // Stop sound...
delay(900);        // wait for for 900 msec
//4
digitalWrite(pinA, LOW);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
tone(buzzer,1000); // Send 1KHz sound.
delay(100);        // wait for 100 msec
noTone(buzzer);     // Stop sound...
delay(900);        // wait for for 900 msec
//3
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, LOW);
digitalWrite(pinF, LOW);
digitalWrite(pinG, HIGH);
tone(buzzer,1000); // Send 1KHz sound.
delay(100);        // wait for 100 msec
noTone(buzzer);     // Stop sound...
delay(900);        // wait for for 900 msec
//2
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, LOW);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, LOW);
digitalWrite(pinG, HIGH);
tone(buzzer,1000); // Send 1KHz sound.
delay(100);        // wait for 100 msec
noTone(buzzer);     // Stop sound...
delay(900);        // wait for for 900 msec
//1
digitalWrite(pinA, LOW);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, LOW);
digitalWrite(pinG, LOW);
tone(buzzer,1000); // Send 1KHz sound.
delay(100);        // wait for 100 msec
noTone(buzzer);     // Stop sound...
delay(900);        // wait for for 900 msec
//0
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, LOW);
tone(buzzer,1000); // Send 1KHz sound.
delay(100);        // wait for 100 msec
noTone(buzzer);     // Stop sound...
delay(900);        // wait for for 900 msec
//This block sounds a longer beep to announce the end of the countdown
tone(buzzer,10); // Send 10Hz sound 
delay(1000);        // wait 1 sec
noTone(buzzer);     // Stop sound..
}  
// the loop routine runs over and over again forever:
void loop() {
}

Archivos adjuntos

Sé el primero en compartir

    7 comentarios

    0
    Tarántula3
    Tarántula3

    hace 3 años

    Sabes que podrías haberlo hecho usando una matriz e iterando a través de sus valores

    0
    Shayan09
    Shayan09

    Responder hace 3 años

    Hola Ashish, gracias por escribirme. Aprenderé más sobre matrices, es nuevo para mí.

    0
    DeniseS153
    DeniseS153

    hace 3 años

    ¡¡Increíble!! ¡Muy orgulloso de ti, Shaya!

    0
    Tobiasv6
    Tobiasv6

    Responder hace 3 años

    ¡Sigan con el buen trabajo!

    0
    Shayan09
    Shayan09

    hace 3 años

    Hola a todos, acabo de agregar un enlace al video de YouTube para este proyecto en el paso de introducción de este artículo. ¡Espero que le sea útil! Es genial ver el contador en acción.

    Por favor, me gusta el video y suscríbete a mi canal para ver más videos pronto.

    0
    Trucos de bricolaje y procedimientos
    Trucos de bricolaje y procedimientos

    hace 3 años

    Gran tutorial. Debes ingresar esto en el concurso de Autores por Primera Vez.

    0
    Shayan09
    Shayan09

    Responder hace 3 años

    ¡Gracias por el consejo DIY! Acabo de participar en el concurso 🙂

    close