Sadržaj:

Sustav najave žetona: 5 koraka
Sustav najave žetona: 5 koraka

Video: Sustav najave žetona: 5 koraka

Video: Sustav najave žetona: 5 koraka
Video: 🚀 RUTUBE и ТОЧКА. Разработка РУТУБА за 5 часов *БЕЗ ВОДЫ* [Next / React / Nest / PostgreSQL / Redux] 2024, Srpanj
Anonim
Sustav najave tokena
Sustav najave tokena

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 sustav 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š zadnji projekt. Tako ćemo danas u ovom vodiču izraditi sustav 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đer 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. Matrična tipkovnica 4 * 4

3. Modul SD kartice

4. Audio priključak od 3,5 mm

5. Zvučnik s ugrađenim pojačalom i AUX kabelom

6. Neke žice zaglavlja

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

Korak 2: Dijagram kruga

Kružni dijagram
Kružni dijagram

Dijagram sklopa za ovaj projekt potpuno je isti kao u projektu Talking Arduino. Jedina razlika je tipkovnica. Povezivanje tipkovnice vrlo je 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 Fritzingovom popisu dijelova. Zato zanemarite prvu i posljednju iglu tipkovnice u krugu.)

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

Slijedite dijagram kako 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 knjižnice TMRpcm možete koristiti samo audio format.wav. Nijedan drugi audio format neće raditi.

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

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

A ako želite cool digitalizirane glasove koje čujemo u stvarnim sustavima, 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 stranice.

KLIKNITE OVDJE ZA POSJETU STRANICE

Također možete preuzeti audio datoteke koje sam koristio odozdo. 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 bilo kakav problem s učitavanjem 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 byte ROWS = 4; // četiri retka const bajt COLS = 4; // četiri stupca char ključevi [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins [ROWS] = {A0, A1, A2, A3}; // povezivanje s pinout -ovima reda bajta tipkovnice colPins [COLS] = {9, 8, 7, 6}; // povezivanje s ispisima stupaca tipkovnice Tipkovnica tipkovnice = Tipkovnica (makeKeymap (tipke), retke, colPins, ROWS, COLS); void setup () {tmrpcm.speakerPin = 10; Serial.begin (9600); if (! SD.begin (SD_ChipSelectPin)) {Serial.println ("SD neuspjeh"); povratak; } /* 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 troznamenkasti broj -"); for (i = 0; i <4; ++ i) {while ((myNum = keypad.getKey ()) == NO_KEY) {delay (1); // Samo pričekajte ključ} // Pričekajte 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"); odgoda (2000); ček(); } 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 nazive audio datoteka, svakako ih uredite i u kodu. Nakon toga vaš je projekt spreman za testiranje. Pogledajmo kako to funkcionira.

Korak 5: Rad na projektu

Rad na projektu
Rad na projektu

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

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

Ovaj se projekt 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. Taj zadatak povjeravam vama momci.

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

Preporučeni: