Innholdsfortegnelse:

Token Kunngjøringssystem: 5 trinn
Token Kunngjøringssystem: 5 trinn

Video: Token Kunngjøringssystem: 5 trinn

Video: Token Kunngjøringssystem: 5 trinn
Video: Terrence Deacon Reveals the Hidden Connection: Consciousness & Entropy 2024, Juli
Anonim
Token Kunngjøringssystem
Token Kunngjøringssystem

I den forrige instruksjonen så vi hvordan du får din Arduino til å snakke. I dag vil vi utforske litt mer om det samme emnet. Vi må alle ha et eller annet tidspunkt i livet støtt på et kunngjøringssystem, kanskje i en bank eller en togstasjon. Har du noen gang lurt på hvordan disse kunngjøringssystemene fungerer? De jobber med det samme prinsippet som vårt siste prosjekt. Så i dag i denne opplæringen vil vi lage et merkemeldingssystem som er i stand til å kunngjøre tokens fra 1 til 999, dvs. totalt 999 tokens (1000 hvis du inkluderer 0). Så la oss komme til byggeprosessen !!!

Trinn 1: Samle rekvisita

Samle rekvisita
Samle rekvisita
Samle rekvisita
Samle rekvisita
Samle rekvisita
Samle rekvisita

Hei hvis du leter etter en nettbutikk for å kjøpe komponentene, så er UTSource.net nettstedet du må sjekke ut. De har et stort utvalg av elektronikkmoduler og komponenter til rimelige priser. De tilbyr også PCB -tjenester for opptil 16 lag. Sjekk nettstedet deres.

La oss ta en titt på modulene vi trenger for dette prosjektet -

1. Arduino Uno Board

2. 4 * 4 Matrisetastatur

3. SD -kortmodul

4. 3,5 mm lydkontakt

5. Høyttaler med innebygd forsterker og en AUX -kabel

6. Noen toppledninger

De fleste av disse komponentene ble brukt i våre tidligere prosjekter.

Trinn 2: Kretsdiagram

Kretsdiagram
Kretsdiagram

Kretsdiagrammet for dette prosjektet er nøyaktig det samme som i Talking Arduino -prosjektet. Den eneste forskjellen er tastaturet. Det er ganske enkelt å koble til et tastatur. Bare koble tastaturradene til pinnene på Arduino som vist ovenfor.

(Tastaturet jeg brukte i dette prosjektet er ikke det samme som i kretsen fordi jeg ikke fant det riktige i Fritzings deleliste. Så ignorer de første og siste pinnene på tastaturet i kretsen.)

Koble venstre og høyre kanal på lydkontakten til den digitale pinnen 10 på Arduino. Og bakkenålen til Arduinos bakken.

Følg diagrammet for å gjøre resten av tilkoblingene.

Trinn 3: Forberede lydfilene

Forbereder lydfilene
Forbereder lydfilene
Forbereder lydfilene
Forbereder lydfilene

Nå må du huske på at når du bruker SD -kortmodulen og TMRpcm -biblioteket, kan du bare bruke.wav -lydformatet. Ingen andre lydformater vil fungere.

Så for å konvertere de innspilte lydfilene eller filene du har tenkt å installere på SD -kortet, må du bruke denne online lydomformeren >> KLIKK HER

Behold innstillingene for konverteringen som vist på bildet ovenfor.

Og hvis du vil ha kule digitaliserte stemmer som vi hører på de virkelige systemene, så sjekk dette nettstedet som konverterer den skrevne teksten til tale. Og så kan vi laste den ned i mp3 -format som deretter kan konverteres til.wav -format fra nettstedet nevnt ovenfor.

KLIKK HER FOR Å BESØKE SIDEN

Du kan også laste ned lydfilene som jeg brukte nedenfor. Så med det gjort sin tid til å programmere styret.

Trinn 4: Koding

Koding
Koding

Last ned.ino -filen nedenfor. Kompiler og last opp programmet til Arduino Board. Hvis du får problemer med å laste opp koden, kan du kontakte meg eller legge igjen en kommentar nedenfor. Jeg hjelper deg gjerne.

#include #include "SD.h" #define SD_ChipSelectPin 4 #include "TMRpcm.h" #include "SPI.h" TMRpcm tmrpcm; røye myNum [4]; int i; const byte RADER = 4; // fire rader const byte COLS = 4; // fire kolonner tegnetaster [RADER] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins [ROWS] = {A0, A1, A2, A3}; // koble til radutklippene til tastaturet byte colPins [COLS] = {9, 8, 7, 6}; // koble til kolonnen pinouts på tastaturet Tastatur tastatur = Tastatur (makeKeymap (nøkler), rowPins, colPins, ROWS, COLS); ugyldig oppsett () {tmrpcm.speakerPin = 10; Serial.begin (9600); if (! SD.begin (SD_ChipSelectPin)) {Serial.println ("SD mislykkes"); komme tilbake; } /* tmrpcm.setVolume (5); tmrpcm.play ("three.wav"); // Brukes til testing (Ikke inkluder i siste kode) forsinkelse (1000);*/} void loop () {Serial.println ("Skriv inn tresifret num -"); for (i = 0; i <4; ++ i) {while ((myNum = tastatur.getKey ()) == NO_KEY) {forsinkelse (1); // Bare vent på en nøkkel} // Vent til nøkkelen slippes mens (tastatur.getKey ()! = NO_KEY) {forsinkelse (1); } Serial.print (myNum ); } if (myNum [3] == 'A') {Serial.println ("Token sendt"); tmrpcm.setVolume (5); tmrpcm.play ("tokenno.wav"); forsinkelse (2000); kryss av(); } if (myNum [3] == 'B') {Serial.println ("Token ikke sendt"); i = 0; } if (myNum [3] == '*') {Serial.println ("Reg desk"); tmrpcm.setVolume (5); tmrpcm.play ("star.wav"); i = 0; } if (myNum [3] == '#') {Serial.println ("avslutter"); 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; }} ugyldig kontroll () {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 endrer navnene på lydfilene, må du også redigere dem i koden. Etter det er prosjektet ditt klart til å testes. La oss se hvordan det fungerer.

Trinn 5: Arbeid med prosjektet

Arbeid med prosjektet
Arbeid med prosjektet

Jeg har lastet opp en video av prosjektet nedenfor. Du kan sjekke det ut. Prosjektet fungerte i henhold til mine forventninger. Den eneste begrensningen jeg sto overfor var fraværet av en egen skjerm for prosjektet. Vi kan ikke holde den bærbare datamaskinen tilkoblet hele tiden. Det andre tilfellet hvis du jobber på en bærbar datamaskin hele dagen og har mange USB -porter tilgjengelig.

Så jeg vil at dere skal legge til en lcd (noen vil gjøre) i dette prosjektet og sende meg en lenke til det prosjektet.

Dette prosjektet kan brukes på kontorer i resepsjonen hvis du har mange mennesker på besøk daglig.

Ved å legge til en separat strømforsyning og LCD vil dette prosjektet stå alene. Jeg overlater den oppgaven til dere.

Hvis du liker arbeidet mitt, så hjelp meg ved å dele prosjektene mine på dine sosiale medier. Det er det for nå. Vi sees snart med et nytt prosjekt snart.

Anbefalt: