Tabla de contenido:

Sistema de anuncio de tokens: 5 pasos
Sistema de anuncio de tokens: 5 pasos

Video: Sistema de anuncio de tokens: 5 pasos

Video: Sistema de anuncio de tokens: 5 pasos
Video: Nuevo Token Digital en la App Banreservas 2024, Diciembre
Anonim
Sistema de anuncios de tokens
Sistema de anuncios de tokens

En el instructable anterior vimos cómo hacer que tu Arduino hable. Hoy exploraremos un poco más sobre el mismo tema. Todos debemos habernos encontrado en algún momento de la vida con un sistema de anuncios, tal vez en un banco o en una estación de tren. ¿Alguna vez te has preguntado cómo funcionan esos sistemas de anuncios? Bueno, funcionan con un principio similar al de nuestro último proyecto. Así que hoy, en este tutorial, crearemos un sistema de anuncio de tokens capaz de anunciar tokens de 1 a 999, es decir, un total de 999 tokens (1000 si incluye 0). ¡¡¡Así que vayamos al proceso de construcción !!!

Paso 1: Reúna los suministros

Reúna los suministros
Reúna los suministros
Reúna los suministros
Reúna los suministros
Reúna los suministros
Reúna los suministros

Oye, si estás buscando una tienda en línea para comprar los componentes, entonces UTSource.net es el sitio que debes visitar. Tienen una gran variedad de módulos y componentes electrónicos a precios asequibles. También proporcionan servicios de PCB para hasta 16 capas. Consulte su sitio web.

Echemos un vistazo a los módulos que necesitamos para este proyecto:

1. Placa Arduino Uno

2. Teclado matricial 4 * 4

3. Módulo de tarjeta SD

4. Conector de audio de 3,5 mm

5. Altavoz con amplificador integrado y cable AUX

6. Algunos cables de cabecera

La mayoría de estos componentes se utilizaron en nuestros proyectos anteriores.

Paso 2: diagrama de circuito

Diagrama de circuito
Diagrama de circuito

El diagrama de circuito para este proyecto es exactamente el mismo que en el proyecto Talking Arduino. La única diferencia es el teclado. Conectar un teclado es bastante simple. Simplemente conecte las filas del teclado a los pines del Arduino como se muestra arriba.

(El teclado que utilicé en este proyecto no es el mismo que el del circuito porque no encontré el correcto en la lista de piezas de Fritzing. Por lo tanto, ignore el primer y último pines del teclado en el circuito).

Conecte el canal izquierdo y derecho del conector de audio al pin digital 10 del Arduino. Y el pin de tierra al suelo de Arduino.

Siga el diagrama para hacer el resto de las conexiones.

Paso 3: preparación de los archivos de audio

Preparación de los archivos de audio
Preparación de los archivos de audio
Preparación de los archivos de audio
Preparación de los archivos de audio

Ahora debe tener esto en cuenta que al usar el módulo de tarjeta SD y la biblioteca TMRpcm solo puede usar el formato de audio.wav. Ningún otro formato de audio funcionará.

Entonces, para convertir sus archivos de audio grabados o los archivos que desea instalar en la tarjeta SD, debe usar este convertidor de audio en línea >> HAGA CLIC AQUÍ

Mantenga la configuración para la conversión como se muestra en la imagen de arriba.

Y si desea voces digitalizadas geniales que escuchemos en los sistemas reales, consulte este sitio web que convierte el texto escrito en voz. Y luego podemos descargarlo en formato mp3 que luego se puede convertir a formato.wav desde el sitio mencionado anteriormente.

HAGA CLIC AQUÍ PARA VISITAR EL SITIO

También puede descargar los archivos de audio que utilicé a continuación. Una vez hecho esto, es hora de programar la placa.

Paso 4: codificación

Codificación
Codificación

Descargue el archivo.ino desde abajo. Compile y cargue el programa en su placa Arduino. Si tiene algún problema para cargar el código, no dude en ponerse en contacto conmigo o dejar un comentario a continuación. Estaría encantado de ayudarle.

#incluir #incluir "SD.h" #definir SD_ChipSelectPin 4 #incluir "TMRpcm.h" #incluir "SPI.h" TMRpcm tmrpcm; char myNum [4]; int i; const byte FILAS = 4; // cuatro filas const byte COLS = 4; // claves de caracteres de cuatro columnas [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins [FILAS] = {A0, A1, A2, A3}; // conectarse a los pines de fila del byte del teclado colPins [COLS] = {9, 8, 7, 6}; // conectarse a los pines de columna del teclado Keypad keypad = Keypad (makeKeymap (keys), rowPins, colPins, ROWS, COLS); configuración vacía () {tmrpcm.speakerPin = 10; Serial.begin (9600); if (! SD.begin (SD_ChipSelectPin)) {Serial.println ("SD falla"); regreso; } / * tmrpcm.setVolume (5); tmrpcm.play ("tres.wav"); // Usado para probar (No incluir en el código final) delay (1000); * /} void loop () {Serial.println ("Ingrese un número de tres dígitos -"); for (i = 0; i <4; ++ i) {while ((myNum = keypad.getKey ()) == NO_KEY) {delay (1); // Solo espera una tecla} // Espera a que se suelte la tecla while (keypad.getKey ()! = NO_KEY) {delay (1); } Serial.print (myNum ); } if (myNum [3] == 'A') {Serial.println ("Token enviado"); tmrpcm.setVolume (5); tmrpcm.play ("tokenno.wav"); retraso (2000); cheque(); } if (myNum [3] == 'B') {Serial.println ("Token no enviado"); i = 0; } if (myNum [3] == '*') {Serial.println ("Escritorio de registro"); tmrpcm.setVolume (5); tmrpcm.play ("estrella.wav"); i = 0; } if (myNum [3] == '#') {Serial.println ("cerrando"); tmrpcm.setVolume (5); tmrpcm.play ("hash.wav"); i = 0; } if (myNum [3] == 'D') {Serial.println ("Sub"); tmrpcm.setVolume (5); tmrpcm.play ("D.wav"); i = 0; }} void check () {for (int c = 0; c <3; c ++) {if (myNum [c] == '0') {tmrpcm.setVolume (5); tmrpcm.play ("zero.wav"); retraso (1000); } if (myNum [c] == '1') {tmrpcm.setVolume (5); tmrpcm.play ("one.wav"); retraso (1000); } if (myNum [c] == '2') {tmrpcm.setVolume (5); tmrpcm.play ("dos.wav"); retraso (1000); } if (myNum [c] == '3') {tmrpcm.setVolume (5); tmrpcm.play ("tres.wav"); retraso (1000); } if (myNum [c] == '4') {tmrpcm.setVolume (5); tmrpcm.play ("cuatro.wav"); retraso (1000); } if (myNum [c] == '5') {tmrpcm.setVolume (5); tmrpcm.play ("cinco.wav"); retraso (1000); } if (myNum [c] == '6') {tmrpcm.setVolume (5); tmrpcm.play ("six.wav"); retraso (1000); } if (myNum [c] == '7') {tmrpcm.setVolume (5); tmrpcm.play ("siete.wav"); retraso (1000); } if (myNum [c] == '8') {tmrpcm.setVolume (5); tmrpcm.play ("ocho.wav"); retraso (1000); } if (myNum [c] == '9') {tmrpcm.setVolume (5); tmrpcm.play ("nine.wav"); retraso (1000); }} tmrpcm.setVolume (5); tmrpcm.play ("estrella.wav"); }

Si cambia los nombres de los archivos de audio, asegúrese de editarlos también en el código. Una vez hecho esto, su proyecto está listo para ser probado. Vamos a ver cómo funciona.

Paso 5: Trabajo del proyecto

Trabajo del proyecto
Trabajo del proyecto

He subido un video del proyecto a continuación. Puedes comprobarlo. El proyecto funcionó según mis expectativas. La única limitación que enfrenté fue la ausencia de una pantalla separada para el proyecto. No podemos mantener la computadora portátil conectada todo el tiempo. Su otro caso si trabaja en una computadora portátil todo el día y tiene muchos puertos USB disponibles.

Así que quiero que agreguen una pantalla lcd (cualquiera servirá) en este proyecto y me envíen un enlace de ese proyecto.

Este proyecto se puede utilizar en sus oficinas en los mostradores de recepción si tiene muchas personas que lo visitan a diario.

Agregar una fuente de alimentación y una pantalla LCD por separado hará que este proyecto sea independiente. Les encomiendo esa tarea a ustedes.

Si te gusta mi trabajo, ayúdame compartiendo mis proyectos en tus redes sociales. Eso es todo por ahora. Hasta pronto con otro proyecto pronto.

Recomendado: