Inhoudsopgave:

Token-aankondigingssysteem: 5 stappen
Token-aankondigingssysteem: 5 stappen

Video: Token-aankondigingssysteem: 5 stappen

Video: Token-aankondigingssysteem: 5 stappen
Video: Wat vindt jij van PRIME? 🤔 #primedrink 2024, Juli-
Anonim
Token-aankondigingssysteem
Token-aankondigingssysteem

In de vorige instructable zagen we hoe je je Arduino kunt laten spreken. Vandaag zullen we wat meer over hetzelfde onderwerp onderzoeken. We moeten allemaal op een bepaald moment in het leven een aankondigingssysteem zijn tegengekomen, misschien in een bank of een treinstation. Heb je je ooit afgevraagd hoe die aankondigingssystemen werken? Nou, ze werken volgens hetzelfde principe als ons laatste project. Dus vandaag zullen we in deze tutorial een tokenaankondigingssysteem maken dat tokens van 1 tot 999 kan aankondigen, d.w.z. in totaal 999 tokens (1000 als u 0 opneemt). Dus laten we naar het bouwproces gaan!!!

Stap 1: Verzamel de benodigdheden

Verzamel de benodigdheden
Verzamel de benodigdheden
Verzamel de benodigdheden
Verzamel de benodigdheden
Verzamel de benodigdheden
Verzamel de benodigdheden

Hé, als u op zoek bent naar een online winkel om de componenten te kopen, dan is UTSource.net de site die u moet bekijken. Ze hebben een enorme verscheidenheid aan elektronicamodules en componenten tegen betaalbare prijzen. Ze bieden ook PCB-services voor maximaal 16 lagen. Check hun website.

Laten we eens kijken naar de modules die we nodig hebben voor dit project -

1. Arduino Uno-bord

2. 4*4 Matrix-toetsenbord

3. SD-kaartmodule

4. 3,5 mm audio-aansluiting

5. Luidspreker met ingebouwde versterker en een AUX-kabel

6. Sommige kopdraden

De meeste van deze componenten werden gebruikt in onze eerdere projecten.

Stap 2: Schakelschema

Schakelschema
Schakelschema

Het schakelschema voor dit project is precies hetzelfde als in het Talking Arduino-project. Het enige verschil is het toetsenbord. Het koppelen van een toetsenbord is vrij eenvoudig. Sluit gewoon de toetsenbordrijen aan op de pinnen van de Arduino zoals hierboven weergegeven.

(Het toetsenbord dat ik in dit project heb gebruikt, is niet hetzelfde als in het circuit omdat ik de juiste niet heb gevonden in de onderdelenlijst van Fritzing. Negeer dus de eerste en laatste pinnen van het toetsenbord in het circuit.)

Sluit het linker en rechter kanaal van de Audio Jack aan op de digitale pin 10 van de Arduino. En de grondpin naar de grond van Arduino.

Volg het diagram om de rest van de aansluitingen te doen.

Stap 3: De audiobestanden voorbereiden

De audiobestanden voorbereiden
De audiobestanden voorbereiden
De audiobestanden voorbereiden
De audiobestanden voorbereiden

Houd er nu rekening mee dat u bij gebruik van de SD-kaartmodule en de TMRpcm-bibliotheek alleen het.wav-audioformaat kunt gebruiken. Geen enkel ander audioformaat zal werken.

Dus om uw opgenomen audiobestanden of de bestanden die u op de SD-kaart wilt installeren te converteren, moet u deze online audioconverter gebruiken >> KLIK HIER

Bewaar de instellingen voor de conversie zoals weergegeven in de afbeelding hierboven.

En als je coole gedigitaliseerde stemmen wilt die we op de echte systemen horen, kijk dan op deze website die de geschreven tekst naar spraak converteert. En dan kunnen we het downloaden in mp3-formaat dat vervolgens kan worden geconverteerd naar.wav-formaat van de hierboven genoemde site.

KLIK HIER OM DE SITE TE BEZOEKEN

Je kunt hieronder ook de audiobestanden downloaden die ik heb gebruikt. Dus toen dat gedaan was, was het tijd om het bord te programmeren.

Stap 4: Coderen

codering
codering

Download het.ino-bestand van hieronder. Compileer en upload het programma naar uw Arduino Board. Als je problemen ondervindt bij het uploaden van de code, neem dan gerust contact met me op of laat hieronder een reactie achter. Ik zou u graag helpen.

#include #include "SD.h" #define SD_ChipSelectPin 4 #include "TMRpcm.h" #include "SPI.h" TMRpcm tmrpcm; char mijnNum[4]; int ik; const byte RIJEN = 4; // vier rijen const byte COLS = 4; // vier kolommen char keys [ROWS][COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'} }; byte rowPins [ROWS] = {A0, A1, A2, A3}; // maak verbinding met de rij-pinouts van de toetsenbordbyte colPins [COLS] = {9, 8, 7, 6}; // verbind met de kolom pinouts van het toetsenbord Toetsenbord toetsenbord = Toetsenbord (makeKeymap (sleutels), rowPins, colPins, RIJEN, COLS); void setup() { tmrpcm.speakerPin = 10; Serieel.begin(9600); if (!SD.begin(SD_ChipSelectPin)) { Serial.println("SD mislukt"); opbrengst; } /* tmrpcm.setVolume(5); tmrpcm.play("drie.wav"); // Gebruikt voor testen (niet opnemen in definitieve code) delay (1000); */ } void loop () { Serial.println ("Voer driecijferig nummer in -"); for (i = 0; i < 4; ++i) { while((myNum = keypad.getKey())==NO_KEY) { delay(1); // Wacht gewoon op een sleutel } // Wacht tot de sleutel wordt vrijgegeven while(keypad.getKey() != NO_KEY) { delay(1); } Serial.print(myNum); } if(myNum[3]=='A') { Serial.println("Token verzonden"); tmrpcm.setVolume(5); tmrpcm.play("tokenno.wav"); vertraging (2000); rekening(); } if(myNum[3]=='B') { Serial.println("Token niet verzonden"); ik=0; } if(myNum[3]=='*') { Serial.println("Reg desk"); tmrpcm.setVolume(5); tmrpcm.play("ster.wav"); ik=0; } if(myNum[3]=='#') { Serial.println("sluiten"); tmrpcm.setVolume(5); tmrpcm.play("hash.wav"); ik=0; } if(myNum[3]=='D') { Serial.println("Sub"); tmrpcm.setVolume(5); tmrpcm.play("D.wav"); ik=0; } } void check() { for(int c=0;c<3;c++) { if (myNum[c]=='0') { tmrpcm.setVolume(5); tmrpcm.play("nul.wav"); vertraging (1000); } if (myNum[c]=='1') { tmrpcm.setVolume(5); tmrpcm.play("een.wav"); vertraging (1000); } if (myNum[c]=='2') { tmrpcm.setVolume(5); tmrpcm.play("twee.wav"); vertraging (1000); } if (myNum[c]=='3') { tmrpcm.setVolume(5); tmrpcm.play("drie.wav"); vertraging (1000); } if (myNum[c]=='4') { tmrpcm.setVolume(5); tmrpcm.play("vier.wav"); vertraging (1000); } if (myNum[c]=='5') { tmrpcm.setVolume(5); tmrpcm.play("vijf.wav"); vertraging (1000); } if (myNum[c]=='6') { tmrpcm.setVolume(5); tmrpcm.play("zes.wav"); vertraging (1000); } if (myNum[c]=='7') { tmrpcm.setVolume(5); tmrpcm.play("seven.wav"); vertraging (1000); } if (myNum[c]=='8') { tmrpcm.setVolume(5); tmrpcm.play("acht.wav"); vertraging (1000); } if (myNum[c]=='9') { tmrpcm.setVolume(5); tmrpcm.play("negen.wav"); vertraging (1000); } } tmrpcm.setVolume(5); tmrpcm.play("ster.wav"); }

Als u de namen van de audiobestanden wijzigt, zorg er dan voor dat u ze ook in de code bewerkt. Als dat klaar is, is uw project klaar om getest te worden. Laten we eens kijken hoe het werkt.

Stap 5: Werking van het project

Werking van het project
Werking van het project

Ik heb een video van het project hieronder geüpload. Dat kun je nakijken. Het project werkte volgens mijn verwachtingen. De enige beperking die ik tegenkwam, was het ontbreken van een apart display voor het project. We kunnen de laptop niet altijd aangesloten houden. Het andere geval als u de hele dag op een laptop werkt en voldoende USB-poorten beschikbaar heeft.

Dus ik wil dat jullie een lcd toevoegen (alles is voldoende) in dit project en stuur me een link van dat project.

Dit project kan worden gebruikt in uw kantoren aan de receptiebalies als u dagelijks veel mensen op bezoek heeft.

Door een aparte voeding en lcd toe te voegen, staat dit project op zichzelf. Die taak vertrouw ik aan jullie toe.

Als je mijn werk leuk vindt, help me dan door mijn projecten op je sociale media te delen. Dat is het voor nu. Tot binnenkort met een ander project.

Aanbevolen: