Indholdsfortegnelse:

Token Announcement System: 5 trin
Token Announcement System: 5 trin

Video: Token Announcement System: 5 trin

Video: Token Announcement System: 5 trin
Video: How it Works - Tyer No.6 - single line working 2024, Juli
Anonim
Token -meddelelsessystem
Token -meddelelsessystem

I den tidligere instruerbare så vi, hvordan du får din Arduino til at tale. I dag vil vi undersøge lidt mere om det samme emne. Vi må alle have et eller andet tidspunkt i livet stødt på et meddelelsessystem, måske i en bank eller en togstation. Har du nogensinde spekuleret på, hvordan disse meddelelsessystemer fungerer? De arbejder efter det samme princip som vores sidste projekt. Så i dag i denne tutorial vil vi lave et Token Announcement System, der er i stand til at annoncere tokens fra 1 til 999, dvs. i alt 999 tokens (1000, hvis du inkluderer 0). Så lad os komme til byggeprocessen !!!

Trin 1: Saml forbrugsvarer

Saml forsyninger
Saml forsyninger
Saml forsyninger
Saml forsyninger
Saml forsyninger
Saml forsyninger

Hej, hvis du leder efter en online butik til at købe komponenterne, så er UTSource.net det websted, du skal tjekke. De har et stort udvalg af elektronikmoduler og komponenter til overkommelige priser. De leverer også printkort til op til 16 lag. Tjek deres hjemmeside.

Lad os se på de moduler, vi har brug for til dette projekt -

1. Arduino Uno Board

2. 4 * 4 Matrix -tastatur

3. SD -kortmodul

4. 3,5 mm lydstik

5. Højttaler med indbygget forstærker og et AUX -kabel

6. Nogle Header Wires

De fleste af disse komponenter blev brugt i vores tidligere projekter.

Trin 2: Kredsløbsdiagram

Kredsløbsdiagram
Kredsløbsdiagram

Kredsløbsdiagrammet for dette projekt er nøjagtigt det samme som i Talking Arduino -projektet. Den eneste forskel er tastaturet. Interfacing et tastatur er ganske enkelt. Tilslut bare tastaturrækkerne til benene på Arduino som vist ovenfor.

(Det tastatur, jeg brugte i dette projekt, er ikke det samme som i kredsløbet, fordi jeg ikke fandt det rigtige i Fritzings deleliste. Så ignorer de første og sidste ben på tastaturet i kredsløbet.)

Tilslut venstre og højre kanal på lydstikket til den digitale pin 10 på Arduino. Og jordnålen til Arduinos jord.

Følg diagrammet for at udføre resten af forbindelserne.

Trin 3: Forberedelse af lydfilerne

Forberedelse af lydfilerne
Forberedelse af lydfilerne
Forberedelse af lydfilerne
Forberedelse af lydfilerne

Nu skal du huske på, at når du bruger SD -kortmodulet og TMRpcm -biblioteket, kan du kun bruge.wav -lydformatet. Intet andet lydformat fungerer.

Så for at konvertere dine optagede lydfiler eller de filer, du har til hensigt at installere på SD -kortet, skal du bruge denne online lydkonverter >> KLIK HER

Behold indstillingerne for konverteringen som vist på billedet ovenfor.

Og hvis du vil have seje digitaliserede stemmer, som vi hører på de rigtige systemer, så tjek dette websted, der konverterer den skrevne tekst til tale. Og så kan vi downloade det i mp3 -format, som derefter kan konverteres til.wav -format fra ovennævnte websted.

Klik her for at besøge stedet

Du kan også downloade de lydfiler, som jeg brugte nedenunder. Så med det gjort sin tid til at programmere tavlen.

Trin 4: Kodning

Kodning
Kodning

Download.ino -filen nedenunder. Kompilér og upload programmet til dit Arduino Board. Hvis du oplever problemer med at uploade koden, er du velkommen til at kontakte mig eller skrive en kommentar herunder. Jeg hjælper dig gerne.

#include #include "SD.h" #define SD_ChipSelectPin 4 #include "TMRpcm.h" #include "SPI.h" TMRpcm tmrpcm; char myNum [4]; int i; const byte Rækker = 4; // fire rækker const byte COLS = 4; // fire kolonner tegnetaster [Rækker] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins [ROWS] = {A0, A1, A2, A3}; // opret forbindelse til rækkeudklipningerne i tastaturets byte colPins [COLS] = {9, 8, 7, 6}; // opret forbindelse til kolonnens pinouts på tastaturet Tastatur tastatur = Tastatur (makeKeymap (nøgler), rowPins, colPins, ROWS, COLS); tomrumsopsætning () {tmrpcm.speakerPin = 10; Serial.begin (9600); hvis (! SD.begin (SD_ChipSelectPin)) {Serial.println ("SD mislykkes"); Vend tilbage; } /* tmrpcm.setVolume (5); tmrpcm.play ("three.wav"); // Anvendes til test (Inkluder ikke i den endelige kode) forsinkelse (1000);*/} void loop () {Serial.println ("Indtast trecifret num -"); for (i = 0; i <4; ++ i) {while ((myNum = tastatur.getKey ()) == NO_KEY) {forsinkelse (1); // Vent bare på en nøgle} // Vent på, at nøglen frigives, mens (tastatur.getKey ()! = NO_KEY) {forsinkelse (1); } Serial.print (myNum ); } hvis (myNum [3] == 'A') {Serial.println ("Token sendt"); tmrpcm.setVolume (5); tmrpcm.play ("tokenno.wav"); forsinkelse (2000); kontrollere(); } hvis (myNum [3] == 'B') {Serial.println ("Token ikke sendt"); i = 0; } hvis (myNum [3] == '*') {Serial.println ("Reg desk"); tmrpcm.setVolume (5); tmrpcm.play ("star.wav"); i = 0; } hvis (myNum [3] == '#') {Serial.println ("lukker"); tmrpcm.setVolume (5); tmrpcm.play ("hash.wav"); i = 0; } hvis (myNum [3] == 'D') {Serial.println ("Sub"); tmrpcm.setVolume (5); tmrpcm.play ("D.wav"); i = 0; }} ugyldig kontrol () {for (int c = 0; c <3; c ++) {if (myNum [c] == '0') {tmrpcm.setVolume (5); tmrpcm.play ("zero.wav"); forsinkelse (1000); } hvis (myNum [c] == '1') {tmrpcm.setVolume (5); tmrpcm.play ("one.wav"); forsinkelse (1000); } hvis (myNum [c] == '2') {tmrpcm.setVolume (5); tmrpcm.play ("two.wav"); forsinkelse (1000); } hvis (myNum [c] == '3') {tmrpcm.setVolume (5); tmrpcm.play ("three.wav"); forsinkelse (1000); } hvis (myNum [c] == '4') {tmrpcm.setVolume (5); tmrpcm.play ("four.wav"); forsinkelse (1000); } hvis (myNum [c] == '5') {tmrpcm.setVolume (5); tmrpcm.play ("five.wav"); forsinkelse (1000); } hvis (myNum [c] == '6') {tmrpcm.setVolume (5); tmrpcm.play ("six.wav"); forsinkelse (1000); } hvis (myNum [c] == '7') {tmrpcm.setVolume (5); tmrpcm.play ("seven.wav"); forsinkelse (1000); } hvis (myNum [c] == '8') {tmrpcm.setVolume (5); tmrpcm.play ("eight.wav"); forsinkelse (1000); } hvis (myNum [c] == '9') {tmrpcm.setVolume (5); tmrpcm.play ("ni.wav"); forsinkelse (1000); }} tmrpcm.setVolume (5); tmrpcm.play ("star.wav"); }

Hvis du ændrer navnene på lydfilerne, skal du også sørge for at redigere dem i koden. Med det færdige er dit projekt klar til at blive testet. Lad os se, hvordan det fungerer.

Trin 5: Arbejde med projektet

Projektets arbejde
Projektets arbejde

Jeg har uploadet en video af projektet herunder. Du kan tjekke det ud. Projektet fungerede efter mine forventninger. Den eneste begrænsning, jeg stod overfor, var fraværet af en separat skærm til projektet. Vi kan ikke holde den bærbare computer tilsluttet hele tiden. Det er en anden sag, hvis du arbejder på bærbar computer hele dagen og har masser af USB -porte til rådighed.

Så jeg vil have, at I tilføjer en lcd (enhver vil gøre) i dette projekt og sender mig et link til det projekt.

Dette projekt kan bruges på dine kontorer i receptionen, hvis du har mange mennesker på besøg dagligt.

Tilføjelse af en separat strømforsyning og lcd får dette projekt til at stå alene. Jeg overlader den opgave til jer.

Hvis du kan lide mit arbejde, så hjælp mig ved at dele mine projekter på dine sociale medier. Det er det for nu. Vi ses snart med et andet projekt snart.

Anbefalede: