Tartalomjegyzék:

Token bejelentő rendszer: 5 lépés
Token bejelentő rendszer: 5 lépés

Videó: Token bejelentő rendszer: 5 lépés

Videó: Token bejelentő rendszer: 5 lépés
Videó: Kiderült: Így keresi a pénzét PSGOgli7 2024, November
Anonim
Token Bejelentő Rendszer
Token Bejelentő Rendszer

Az előző utasításban láttuk, hogyan lehet az Arduino -t beszélni. Ma egy kicsit többet fogunk vizsgálni ugyanebben a témában. Biztosan mindannyian találkoztunk az élet bizonyos pontjain egy bejelentési rendszerrel, talán egy bankban vagy egy vasútállomáson. Gondolkozott már azon, hogyan működnek ezek a bejelentési rendszerek? Nos, ugyanazon az elven dolgoznak, mint az utolsó projektünk. Tehát ma ebben az oktatóanyagban egy Token Bejelentő Rendszert készítünk, amely képes 1 és 999 közötti, azaz összesen 999 token bejelentésére (1000, ha 0 -t is tartalmaz). Tehát térjünk rá az építési folyamatra !!!

1. lépés: Gyűjtse össze a kellékeket

Gyűjtse össze a kellékeket
Gyűjtse össze a kellékeket
Gyűjtse össze a kellékeket
Gyűjtse össze a kellékeket
Gyűjtse össze a kellékeket
Gyűjtse össze a kellékeket

Hé, ha online áruházat keres az alkatrészek megvásárlásához, akkor az UTSource.net az az oldal, amelyet meg kell néznie. Elektronikai modulok és alkatrészek hatalmas választéka áll rendelkezésre megfizethető áron. PCB szolgáltatásokat is nyújtanak akár 16 réteghez. Ellenőrizze a weboldalukat.

Nézzük meg azokat a modulokat, amelyekre szükségünk van ehhez a projekthez -

1. Arduino Uno Board

2. 4 * 4 Mátrix billentyűzet

3. SD kártya modul

4. 3,5 mm -es audiocsatlakozó

5. Hangszóró beépített erősítővel és AUX kábellel

6. Néhány fejvezeték

Ezen komponensek nagy részét korábbi projektjeinkben használták.

2. lépés: Áramköri diagram

Kördiagramm
Kördiagramm

Ennek a projektnek a kapcsolási rajza pontosan ugyanaz, mint a Talking Arduino projektben. Az egyetlen különbség a billentyűzet. A billentyűzet illesztése meglehetősen egyszerű. Csak csatlakoztassa a billentyűzet sorait az Arduino csapjaihoz, ahogy fent látható.

(A billentyűzet, amelyet ebben a projektben használtam, nem ugyanaz, mint az áramkörben, mert nem találtam meg a megfelelőt Fritzing alkatrészlistájában. Tehát figyelmen kívül hagyja az áramkör billentyűzetének első és utolsó gombját.)

Csatlakoztassa az Audio Jack bal és jobb csatornáját az Arduino digitális 10 -es tűjéhez. És a földelő csap Arduino földjéhez.

A többi csatlakoztatáshoz kövesse az ábrát.

3. lépés: Az audio fájlok előkészítése

Az audio fájlok előkészítése
Az audio fájlok előkészítése
Az audio fájlok előkészítése
Az audio fájlok előkészítése

Ezt most szem előtt kell tartania, hogy az SD kártya modul és a TMRpcm könyvtár használatakor csak a.wav audio formátumot használhatja. Más audio formátum nem fog működni.

Tehát a rögzített hangfájlok vagy az SD -kártyára telepíteni kívánt fájlok konvertálásához ezt az online audio konvertert kell használnia >> KLIKK IDE

Tartsa meg a konverzió beállításait a fenti képen látható módon.

És ha hűvös, digitalizált hangokat szeretne, amelyeket a valódi rendszerekben hallunk, akkor nézze meg ezt a webhelyet, amely az írott szöveget beszéddé alakítja. Ezután letölthetjük mp3 formátumban, amelyet aztán a fent említett webhelyről.wav formátumba konvertálhatunk.

IDE KATTINTVA LÁTOGATJA A OLDALOT

Letöltheti az általam használt hangfájlokat is alulról. Tehát ezzel eljött az ideje a tábla programozásához.

4. lépés: Kódolás

Kódolás
Kódolás

Töltse le az.ino fájlt alulról. Fordítsa össze és töltse fel a programot az Arduino Boardra. Ha bármilyen probléma merül fel a kód feltöltésével, akkor bátran lépjen kapcsolatba velem, vagy írjon megjegyzést alább. Szívesen segítek.

#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; // négy sor const byte COLS = 4; // négy oszlop char billentyű [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins [SOROK] = {A0, A1, A2, A3}; // csatlakozás a billentyűzet sorkapcsaihoz bájt colPins [COLS] = {9, 8, 7, 6}; // csatlakozás a billentyűzet oszloppisztolyaihoz Billentyűzet billentyűzet = billentyűzet (makeKeymap (kulcsok), rowPins, colPins, ROWS, COLS); void setup () {tmrpcm.speakerPin = 10; Sorozat.kezdet (9600); if (! SD.begin (SD_ChipSelectPin)) {Serial.println ("SD fail"); Visszatérés; } /* tmrpcm.setVolumen (5); tmrpcm.play ("three.wav"); // Tesztelésre használják (Ne tartalmazzon a végső kódban) delay (1000);*/} void loop () {Serial.println ("Enter three -digit number -"); for (i = 0; i <4; ++ i) {while ((myNum = keypad.getKey ()) == NO_KEY) {delay (1); // Csak várjon egy kulcsra} // Várja meg, amíg a kulcsot elengedik, miközben (keypad.getKey ()! = NO_KEY) {delay (1); } Serial.print (myNum ); } if (myNum [3] == 'A') {Serial.println ("Token Sent"); tmrpcm.setVolumen (5); tmrpcm.play ("tokenno.wav"); késleltetés (2000); jelölje be(); } if (myNum [3] == 'B') {Serial.println ("Token Not Sent"); i = 0; } if (myNum [3] == '*') {Serial.println ("Reg desk"); tmrpcm.setVolumen (5); tmrpcm.play ("star.wav"); i = 0; } if (myNum [3] == '#') {Serial.println ("zárás"); tmrpcm.setVolumen (5); tmrpcm.play ("hash.wav"); i = 0; } if (myNum [3] == 'D') {Serial.println ("Sub"); tmrpcm.setVolumen (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 ("nulla.wav"); késleltetés (1000); } if (myNum [c] == '1') {tmrpcm.setVolume (5); tmrpcm.play ("one.wav"); késleltetés (1000); } if (myNum [c] == '2') {tmrpcm.setVolume (5); tmrpcm.play ("two.wav"); késleltetés (1000); } if (myNum [c] == '3') {tmrpcm.setVolume (5); tmrpcm.play ("three.wav"); késleltetés (1000); } if (myNum [c] == '4') {tmrpcm.setVolume (5); tmrpcm.play ("four.wav"); késleltetés (1000); } if (myNum [c] == '5') {tmrpcm.setVolume (5); tmrpcm.play ("five.wav"); késleltetés (1000); } if (myNum [c] == '6') {tmrpcm.setVolume (5); tmrpcm.play ("six.wav"); késleltetés (1000); } if (myNum [c] == '7') {tmrpcm.setVolume (5); tmrpcm.play ("seven.wav"); késleltetés (1000); } if (myNum [c] == '8') {tmrpcm.setVolume (5); tmrpcm.play ("eight.wav"); késleltetés (1000); } if (myNum [c] == '9') {tmrpcm.setVolume (5); tmrpcm.play ("nine.wav"); késleltetés (1000); }} tmrpcm.setVolumen (5); tmrpcm.play ("star.wav"); }

Ha megváltoztatja az audiofájlok nevét, győződjön meg arról, hogy a kódban is módosítja azokat. Ezzel a projekt készen áll a tesztelésre. Lássuk, hogyan működik.

5. lépés: A projekt működése

A projekt működése
A projekt működése

Az alábbiakban feltöltöttem egy videót a projektről. Ezt ellenőrizheti. A projekt az elvárásaim szerint működött. Az egyetlen korlátozás, amellyel szembesültem, az volt, hogy nincs külön kijelző a projekthez. Nem tudjuk folyamatosan csatlakoztatni a laptopot. A másik eset, ha egész nap laptopon dolgozik, és rengeteg USB -port áll rendelkezésre.

Szóval szeretném, ha hozzáadnátok egy lcd -t (bármelyik megteszi) ehhez a projekthez, és küldjetek linket a projektről.

Ez a projekt használható az irodájában, a recepción, ha sok látogatója van naponta.

Ha külön tápegységet és lcd -t ad hozzá, ez a projekt önálló lesz. Ezt a feladatot rád bízom.

Ha tetszik a munkám, segíts nekem, ha megosztod a projektjeimet a közösségi oldaladon. Egyelőre ennyi. Hamarosan találkozunk egy másik projekttel.

Ajánlott: