Sadržaj:

Sistem najave žetona: 5 koraka
Sistem najave žetona: 5 koraka

Video: Sistem najave žetona: 5 koraka

Video: Sistem najave žetona: 5 koraka
Video: Саркофаг Ленина 2024, Novembar
Anonim
Sistem najava žetona
Sistem najava žetona

U prethodnim uputama vidjeli smo kako natjerati vaš Arduino da govori. Danas ćemo istražiti nešto više o istoj temi. Svi smo morali u jednom trenutku života naići na sistem najava, možda u banci ili na željezničkoj stanici. Jeste li se ikada zapitali kako funkcioniraju ti sustavi najava? Pa rade na sličnom principu kao i naš posljednji projekt. Tako ćemo danas u ovom vodiču napraviti sistem najave žetona koji može najaviti tokene od 1 do 999, odnosno ukupno 999 tokena (1000 ako uključite 0). Pa prijeđimo na proces izgradnje !!!

Korak 1: Prikupite potrepštine

Prikupite potrepštine
Prikupite potrepštine
Prikupite potrepštine
Prikupite potrepštine
Prikupite potrepštine
Prikupite potrepštine

Hej, ako tražite internetsku trgovinu za kupnju komponenti, onda je UTSource.net web mjesto koje morate provjeriti. Imaju veliki izbor elektroničkih modula i komponenti po pristupačnim cijenama. Oni takođe pružaju usluge PCB -a za do 16 slojeva. Provjerite njihovu web stranicu.

Pogledajmo module koji su nam potrebni za ovaj projekt -

1. Arduino Uno ploča

2. 4 * 4 Matrična tastatura

3. Modul SD kartice

4. Audio priključak od 3,5 mm

5. Zvučnik sa ugrađenim pojačalom i AUX kablom

6. Neke žice zaglavlja

Većina ovih komponenti korištena je u našim prethodnim projektima.

Korak 2: Dijagram kola

Dijagram kola
Dijagram kola

Shema kola za ovaj projekt potpuno je ista kao i za Talking Arduino projekt. Jedina razlika je tastatura. Povezivanje tastature je vrlo jednostavno. Samo povežite redove tipkovnice s pinovima Arduina kao što je prikazano gore.

(Tastatura koju sam koristio u ovom projektu nije ista kao u krugu jer nisam našao pravu na Fritzingovoj listi dijelova. Zato zanemarite prvu i posljednju iglu tastature u krugu.)

Spojite lijevi i desni kanal Audio Jacka na digitalni pin 10 Arduina. I pin za uzemljenje na Arduinovom tlu.

Slijedite dijagram da biste izvršili ostale veze.

Korak 3: Priprema audio datoteka

Priprema audio datoteka
Priprema audio datoteka
Priprema audio datoteka
Priprema audio datoteka

Sada morate imati na umu da pri korištenju modula SD kartice i biblioteke TMRpcm možete koristiti samo.wav audio format. Nijedan drugi audio format neće raditi.

Dakle, za pretvaranje vaših snimljenih audio datoteka ili datoteka koje namjeravate instalirati na SD karticu, morate koristiti ovaj mrežni audio pretvarač >> KLIKNITE OVDJE

Zadržite postavke za konverziju kako je prikazano na gornjoj slici.

A ako želite cool digitalizirane glasove koje čujemo na stvarnim sistemima, provjerite ovu web stranicu koja pretvara pisani tekst u govor. Zatim ga možemo preuzeti u mp3 formatu koji se zatim može pretvoriti u.wav format sa gore spomenute web lokacije.

KLIKNITE OVDJE ZA POSJETU MJESTA

Ispod možete preuzeti audio datoteke koje sam koristio. Pa je s tim završilo vrijeme za programiranje ploče.

Korak 4: Kodiranje

Kodiranje
Kodiranje

Preuzmite.ino datoteku s donje strane. Sastavite i prenesite program na svoju Arduino ploču. Ako naiđete na problem pri učitavanju koda, slobodno me kontaktirajte ili ostavite komentar ispod. Rado ću vam pomoći.

#include #include "SD.h" #define SD_ChipSelectPin 4 #include "TMRpcm.h" #include "SPI.h" TMRpcm tmrpcm; char myNum [4]; int i; const bajt ROWS = 4; // četiri reda const byte COLS = 4; // ključevi sa četiri stupca [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; bajt rowPins [ROWS] = {A0, A1, A2, A3}; // povezivanje sa pinout -ovima reda bajta tastature colPins [COLS] = {9, 8, 7, 6}; // povezivanje sa pinout -ovima kolone tastature Tastatura tastature = tastatura (makeKeymap (tasteri), rowPins, colPins, ROWS, COLS); void setup () {tmrpcm.speakerPin = 10; Serial.begin (9600); if (! SD.begin (SD_ChipSelectPin)) {Serial.println ("SD neuspjeh"); return; } /* tmrpcm.setVolume (5); tmrpcm.play ("three.wav"); // Koristi se za testiranje (Ne uključuje u konačni kod) delay (1000);*/} void loop () {Serial.println ("Unesite trocifreni broj -"); for (i = 0; i <4; ++ i) {while ((myNum = keypad.getKey ()) == NO_KEY) {delay (1); // Samo čekamo ključ} // Čekamo da se ključ otpusti while (keypad.getKey ()! = NO_KEY) {delay (1); } Serial.print (myNum ); } if (myNum [3] == 'A') {Serial.println ("Token poslan"); tmrpcm.setVolume (5); tmrpcm.play ("tokenno.wav"); kašnjenje (2000); check (); } if (myNum [3] == 'B') {Serial.println ("Token nije poslan"); i = 0; } if (myNum [3] == '*') {Serial.println ("Reg desk"); tmrpcm.setVolume (5); tmrpcm.play ("star.wav"); i = 0; } if (myNum [3] == '#') {Serial.println ("zatvaranje"); 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"); kašnjenje (1000); } if (myNum [c] == '1') {tmrpcm.setVolume (5); tmrpcm.play ("one.wav"); kašnjenje (1000); } if (myNum [c] == '2') {tmrpcm.setVolume (5); tmrpcm.play ("two.wav"); kašnjenje (1000); } if (myNum [c] == '3') {tmrpcm.setVolume (5); tmrpcm.play ("three.wav"); kašnjenje (1000); } if (myNum [c] == '4') {tmrpcm.setVolume (5); tmrpcm.play ("four.wav"); kašnjenje (1000); } if (myNum [c] == '5') {tmrpcm.setVolume (5); tmrpcm.play ("five.wav"); kašnjenje (1000); } if (myNum [c] == '6') {tmrpcm.setVolume (5); tmrpcm.play ("six.wav"); kašnjenje (1000); } if (myNum [c] == '7') {tmrpcm.setVolume (5); tmrpcm.play ("seven.wav"); kašnjenje (1000); } if (myNum [c] == '8') {tmrpcm.setVolume (5); tmrpcm.play ("osam.wav"); kašnjenje (1000); } if (myNum [c] == '9') {tmrpcm.setVolume (5); tmrpcm.play ("nine.wav"); kašnjenje (1000); }} tmrpcm.setVolume (5); tmrpcm.play ("star.wav"); }

Ako promijenite imena audio datoteka, svakako ih uredite i u kodu. Nakon toga, vaš projekat je spreman za testiranje. Pogledajmo kako to funkcionira.

Korak 5: Rad na projektu

Rad na projektu
Rad na projektu

U nastavku sam postavio video zapis projekta. To možete provjeriti. Projekat je funkcionisao prema mojim očekivanjima. Jedino ograničenje s kojim sam se suočio bilo je nepostojanje zasebnog ekrana za projekt. Ne možemo stalno držati laptop povezan. Drugi slučaj je ako na laptopu radite cijeli dan i imate na raspolaganju dosta USB priključaka.

Zato želim da dodate lcd (bilo koji će biti dovoljan) u ovaj projekt i pošaljete mi vezu tog projekta.

Ovaj projekt se može koristiti u vašim uredima na recepciji ako imate puno ljudi koji svakodnevno posjećuju.

Dodavanje zasebnog napajanja i LCD -a učinit će ovaj projekt samostalnim. Povjeravam taj zadatak vama.

Ako vam se sviđa moj rad, pomozite mi podijelivši svoje projekte na svojim ručkama na društvenim mrežama. To je to za sada. Vidimo se uskoro s drugim projektom.

Preporučuje se: