Taula de continguts:

Sistema d’anunci de tokens: 5 passos
Sistema d’anunci de tokens: 5 passos

Vídeo: Sistema d’anunci de tokens: 5 passos

Vídeo: Sistema d’anunci de tokens: 5 passos
Vídeo: NÃO USE AUTENTICAÇÃO DE 2 FATORES SEM SABER ISSO ANTES | Como usar 2FA corretamente 2024, De novembre
Anonim
Sistema d’anunci de tokens
Sistema d’anunci de tokens

A la instrucció anterior vam veure com fer que el vostre Arduino parli. Avui explorarem una mica més sobre el mateix tema. Tots hem d’haver trobat en algun moment de la vida un sistema d’anuncis potser en un banc o una estació de tren. Us heu preguntat mai com funcionen aquests sistemes d’anuncis? Doncs funcionen amb el principi similar al nostre últim projecte. Per tant, avui en aquest tutorial crearem un sistema d’anunci de tokens capaç d’anunciar fitxes de l’1 al 999, és a dir, un total de 999 fitxes (1.000 si n’incloeu 0). Així que anem al procés de construcció !!!

Pas 1: reuniu els subministraments

Reuneix els subministraments
Reuneix els subministraments
Reuneix els subministraments
Reuneix els subministraments
Reuneix els subministraments
Reuneix els subministraments

Ei, si cerqueu una botiga en línia per comprar els components, UTSource.net és el lloc que heu de visitar. Tenen una gran varietat de mòduls i components electrònics a preus assequibles. També proporcionen serveis de PCB per a fins a 16 capes. Consulteu el seu lloc web.

Vegem els mòduls que necessitem per a aquest projecte:

1. Tauler Arduino Uno

2. Teclat Matrix 4 * 4

3. Mòdul de targeta SD

4. Presa d'àudio de 3,5 mm

5. Altaveu amb amplificador integrat i un cable AUX

6. Alguns cables de capçalera

La majoria d’aquests components s’han utilitzat en els nostres projectes anteriors.

Pas 2: diagrama del circuit

Esquema de connexions
Esquema de connexions

El diagrama de circuits d’aquest projecte és exactament el mateix que en el projecte Talking Arduino. L’única diferència és el teclat. La interfície d’un teclat és bastant senzilla. Només cal que connecteu les files del teclat als pins de l'Arduino tal com es mostra més amunt.

(El teclat que he fet servir en aquest projecte no és el mateix que al circuit perquè no he trobat el correcte a la llista de peces de Fritzing. Per tant, ignoreu el primer i l'últim passador del teclat del circuit.)

Connecteu el canal esquerre i dret de la presa d’àudio al pin digital 10 de l’Arduino. I el passador de terra al terra d’Arduino.

Seguiu l'esquema per fer la resta de connexions.

Pas 3: Preparació dels fitxers d'àudio

Preparació dels fitxers d'àudio
Preparació dels fitxers d'àudio
Preparació dels fitxers d'àudio
Preparació dels fitxers d'àudio

Ara heu de tenir en compte que quan utilitzeu el mòdul de la targeta SD i la biblioteca TMRpcm només podeu utilitzar el format d'àudio.wav. Cap altre format d'àudio funcionarà.

Per convertir els fitxers d’àudio gravats o els fitxers que voleu instal·lar a la targeta SD, heu d’utilitzar aquest convertidor d’àudio en línia >> FES CLIC AQUÍ

Conserveu la configuració de la conversió tal com es mostra a la imatge superior.

I si voleu veus digitalitzades que escoltem als sistemes reals, consulteu aquest lloc web que converteix el text escrit en veu. I després el podem descarregar en format mp3 que es pot convertir en format.wav des del lloc esmentat anteriorment.

FES CLIC AQUÍ PER VISITAR EL LLOC

També podeu descarregar els fitxers d'àudio que he utilitzat des de baix. Així, amb això, ha arribat el moment de programar el tauler.

Pas 4: Codificació

Codificació
Codificació

Descarregueu el fitxer.ino des de baix. Compileu i pengeu el programa a la vostra placa Arduino. Si teniu algun problema en carregar el codi, no dubteu a posar-vos en contacte amb mi o deixeu un comentari a continuació. Estaria encantat d'ajudar-te.

#include #include "SD.h" #define SD_ChipSelectPin 4 #include "TMRpcm.h" #include "SPI.h" TMRpcm tmrpcm; char myNum [4]; int i; byte const ROWS = 4; // quatre files const byte COLS = 4; // quatre columnes tecles de caràcters [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins [ROWS] = {A0, A1, A2, A3}; // connecteu-vos als pinouts de la fila del byte del teclat colPins [COLS] = {9, 8, 7, 6}; // connectar-se als pinouts de la columna del teclat Teclat del teclat = Teclat (makeKeymap (tecles), filaPins, colPins, FILES, COLS); configuració nul·la () {tmrpcm.speakerPin = 10; Serial.begin (9600); if (! SD.begin (SD_ChipSelectPin)) {Serial.println ("SD falla"); tornar; } / * tmrpcm.setVolume (5); tmrpcm.play ("three.wav"); // S'utilitza per provar (No incloure al codi final) el retard (1000); * /} void loop () {Serial.println ("Introduïu tres dígits -"); for (i = 0; i <4; ++ i) {while ((myNum = keypad.getKey ()) == NO_KEY) {delay (1); // Només cal que espereu una tecla} // Espereu que la tecla es deixi anar mentre (keypad.getKey ()! = NO_KEY) {delay (1); } Serial.print (myNum ); } if (myNum [3] == 'A') {Serial.println ("Token Sent"); tmrpcm.setVolume (5); tmrpcm.play ("tokenno.wav"); endarreriment (2000); check (); } if (myNum [3] == 'B') {Serial.println ("Token no enviat"); i = 0; } if (myNum [3] == '*') {Serial.println ("Reg desk"); tmrpcm.setVolume (5); tmrpcm.play ("star.wav"); i = 0; } if (myNum [3] == '#') {Serial.println ("tancament"); 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"); retard (1000); } if (myNum [c] == '1') {tmrpcm.setVolume (5); tmrpcm.play ("one.wav"); retard (1000); } if (myNum [c] == '2') {tmrpcm.setVolume (5); tmrpcm.play ("two.wav"); retard (1000); } if (myNum [c] == '3') {tmrpcm.setVolume (5); tmrpcm.play ("three.wav"); retard (1000); } if (myNum [c] == '4') {tmrpcm.setVolume (5); tmrpcm.play ("four.wav"); retard (1000); } if (myNum [c] == '5') {tmrpcm.setVolume (5); tmrpcm.play ("five.wav"); retard (1000); } if (myNum [c] == '6') {tmrpcm.setVolume (5); tmrpcm.play ("six.wav"); retard (1000); } if (myNum [c] == '7') {tmrpcm.setVolume (5); tmrpcm.play ("seven.wav"); retard (1000); } if (myNum [c] == '8') {tmrpcm.setVolume (5); tmrpcm.play ("eight.wav"); retard (1000); } if (myNum [c] == '9') {tmrpcm.setVolume (5); tmrpcm.play ("nine.wav"); retard (1000); }} tmrpcm.setVolume (5); tmrpcm.play ("star.wav"); }

Si canvieu els noms dels fitxers d’àudio, assegureu-vos que també els editeu al codi. Fet això, el vostre projecte ja està a punt per ser provat. Vegem com funciona.

Pas 5: Funcionament del projecte

Funcionament del projecte
Funcionament del projecte

A continuació he penjat un vídeo del projecte. Podeu comprovar-ho. El projecte va funcionar segons les meves expectatives. L'única limitació que vaig haver d'afrontar va ser l'absència d'una pantalla independent per al projecte. No podem mantenir l’ordinador portàtil connectat tot el temps. El seu altre cas és que si treballeu amb un ordinador portàtil tot el dia i teniu molts ports USB disponibles.

Per tant, vull que afegiu un LCD (qualsevol ho farà) en aquest projecte i que m’envieu un enllaç d’aquest projecte.

Aquest projecte es pot utilitzar a les vostres oficines als taulells de recepció si hi ha molta gent visitant diàriament.

Si afegiu una font d’alimentació i un lcd independents, aquest projecte serà independent. Us confio aquesta tasca a vostès.

Si us agrada la meva feina, ajudeu-me compartint els meus projectes a les vostres manetes de xarxes socials. Això és tot per ara. Fins aviat amb un altre projecte aviat.

Recomanat: