Spisu treści:

System ogłaszania tokenów: 5 kroków
System ogłaszania tokenów: 5 kroków

Wideo: System ogłaszania tokenów: 5 kroków

Wideo: System ogłaszania tokenów: 5 kroków
Wideo: JAK ZYSKAĆ DARMOWE TOKENY #MATIC? CZY WARTO TERAZ KUPOWAĆ? 2024, Listopad
Anonim
System ogłaszania tokenów
System ogłaszania tokenów

W poprzedniej instrukcji widzieliśmy, jak sprawić, by Twoje Arduino mogło mówić. Dzisiaj zajmiemy się nieco więcej na ten sam temat. Wszyscy musieliśmy w pewnym momencie życia natknąć się na system ogłoszeń, może w banku lub na dworcu kolejowym. Czy kiedykolwiek zastanawiałeś się, jak działają te systemy ogłoszeń? Otóż działają na podobnej zasadzie jak nasz ostatni projekt. Dlatego dzisiaj w tym samouczku stworzymy system ogłaszania tokenów zdolny do ogłaszania tokenów od 1 do 999, czyli łącznie 999 tokenów (1000, jeśli uwzględnisz 0). Przejdźmy więc do procesu budowy!!!

Krok 1: Zbierz zapasy

Zbierz zapasy
Zbierz zapasy
Zbierz zapasy
Zbierz zapasy
Zbierz zapasy
Zbierz zapasy

Hej, jeśli szukasz sklepu internetowego do zakupu komponentów, to UTSource.net to strona, którą musisz sprawdzić. Mają ogromną różnorodność modułów i komponentów elektronicznych w przystępnych cenach. Świadczą również usługi PCB dla maksymalnie 16 warstw. Sprawdź ich stronę internetową.

Rzućmy okiem na moduły, których potrzebujemy do tego projektu -

1. Płytka Arduino Uno

2. Klawiatura matrycowa 4*4;

3. Moduł karty SD

4. Gniazdo audio 3,5 mm

5. Głośnik z wbudowanym wzmacniaczem i kablem AUX

6. Niektóre przewody nagłówkowe

Większość z tych komponentów została wykorzystana w naszych poprzednich projektach.

Krok 2: Schemat obwodu

Schemat obwodu
Schemat obwodu

Schemat obwodu dla tego projektu jest dokładnie taki sam jak w projekcie Talking Arduino. Jedyną różnicą jest klawiatura. Połączenie klawiatury jest dość proste. Wystarczy podłączyć rzędy klawiatury do pinów Arduino, jak pokazano powyżej.

(Klawiatura, której użyłem w tym projekcie, nie jest taka sama jak w obwodzie, ponieważ nie znalazłem właściwej na liście części Fritzinga. Zignoruj więc pierwszy i ostatni pin klawiatury w obwodzie.)

Podłącz lewy i prawy kanał gniazda audio do cyfrowego styku 10 Arduino. I pin uziemienia do masy Arduino.

Postępuj zgodnie ze schematem, aby wykonać pozostałe połączenia.

Krok 3: Przygotowanie plików audio

Przygotowywanie plików audio
Przygotowywanie plików audio
Przygotowywanie plików audio
Przygotowywanie plików audio

Teraz musisz pamiętać, że podczas korzystania z modułu karty SD i biblioteki TMRpcm możesz używać tylko formatu audio.wav. Żaden inny format audio nie będzie działał.

Aby przekonwertować nagrane pliki audio lub pliki, które zamierzasz zainstalować na karcie SD, musisz użyć tego konwertera audio online >> KLIKNIJ TUTAJ

Zachowaj ustawienia konwersji, jak pokazano na powyższym obrazku.

A jeśli chcesz fajne, zdigitalizowane głosy, które słyszymy na prawdziwych systemach, sprawdź tę stronę, która konwertuje tekst pisany na mowę. A potem możemy pobrać go w formacie mp3, który następnie możemy przekonwertować na format.wav ze wspomnianej wyżej strony.

KLIKNIJ TUTAJ, ABY ODWIEDZIĆ STRONĘ

Możesz również pobrać pliki audio, których użyłem poniżej. Tak więc skończył się czas na zaprogramowanie tablicy.

Krok 4: Kodowanie

Kodowanie
Kodowanie

Pobierz plik.ino poniżej. Skompiluj i prześlij program na swoją płytkę Arduino. Jeśli napotkasz jakiś problem z przesłaniem kodu, skontaktuj się ze mną lub zostaw komentarz poniżej. Chętnie Ci pomogę.

#include #include "SD.h" #define SD_ChipSelectPin 4 #include "TMRpcm.h" #include "SPI.h" TMRpcm tmrpcm; char myNum[4]; wew; stały bajt ROWS = 4; //cztery wiersze const byte COLS = 4; //cztery kolumny znaków klucze[ROWS][COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'} }; bajt wierszPins[ROWS] = {A0, A1, A2, A3}; //połączenie z pinoutami wiersza klawiatury byte colPins[COLS] = {9, 8, 7, 6}; //połącz się z pinoutami kolumn klawiatury Keypad keyboard = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS); void setup() { tmrpcm.speakerPin = 10; Serial.początek(9600); if (!SD.begin(SD_ChipSelectPin)) { Serial.println("SD nie powiodło się"); powrót; } /* tmrpcm.setVolume(5); tmrpcm.play("trzy.wav"); //Używane do testowania(Nie uwzględniaj w kodzie końcowym) delay(1000);*/ } void loop() { Serial.println("Wprowadź trzycyfrową liczbę -"); for (i = 0; i < 4; ++i) { while((mojaliczba = klawiatura.getKey())==NO_KEY) { delay(1); // Po prostu czekaj na klawisz } // Poczekaj na zwolnienie klawisza while(keypad.getKey() != NO_KEY) { delay(1); } Serial.print(myNum); } if(myNum[3]=='A') { Serial.println("Token wysłany"); tmrpcm.setVolume(5); tmrpcm.play("tokenno.wav"); opóźnienie (2000); sprawdzać(); } if(myNum[3]=='B') { Serial.println("Token nie wysłany"); i=0; } if(myNum[3]=='*') { Serial.println("Rejestracja"); tmrpcm.setVolume(5); tmrpcm.play("gwiazda.wav"); i=0; } if(myNum[3]=='#') { Serial.println("zamykanie"); 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"); opóźnienie (1000); } if (myNum[c]=='1') { tmrpcm.setVolume(5); tmrpcm.play("jeden.wav"); opóźnienie (1000); } if (myNum[c]=='2') { tmrpcm.setVolume(5); tmrpcm.play("dwa.wav"); opóźnienie (1000); } if (myNum[c]=='3') { tmrpcm.setVolume(5); tmrpcm.play("trzy.wav"); opóźnienie (1000); } if (myNum[c]=='4') { tmrpcm.setVolume(5); tmrpcm.play("cztery.wav"); opóźnienie (1000); } if (myNum[c]=='5') { tmrpcm.setVolume(5); tmrpcm.play("pięć.wav"); opóźnienie (1000); } if (myNum[c]=='6') { tmrpcm.setVolume(5); tmrpcm.play("sześć.wav"); opóźnienie (1000); } if (myNum[c]=='7') { tmrpcm.setVolume(5); tmrpcm.play("siedem.wav"); opóźnienie (1000); } if (myNum[c]=='8') { tmrpcm.setVolume(5); tmrpcm.play("osiem.wav"); opóźnienie (1000); } if (myNum[c]=='9') { tmrpcm.setVolume(5); tmrpcm.play("dziewięć.wav"); opóźnienie (1000); } } tmrpcm.setVolume(5); tmrpcm.play("gwiazda.wav"); }

Jeśli zmienisz nazwy plików audio, upewnij się, że edytujesz je również w kodzie. Po wykonaniu tych czynności Twój projekt jest gotowy do przetestowania. Zobaczmy, jak to działa.

Krok 5: Praca nad projektem

Praca nad projektem
Praca nad projektem

Poniżej wrzuciłem filmik z projektu. Możesz to sprawdzić. Projekt zadziałał zgodnie z moimi oczekiwaniami. Jedynym ograniczeniem, z jakim się spotkałem, był brak osobnego wyświetlacza dla projektu. Nie możemy cały czas mieć podłączonego laptopa. Inny przypadek, jeśli pracujesz na laptopie przez cały dzień i masz dużo dostępnych portów USB.

Więc chcę, żebyście dodali lcd (każdy zrobi) w tym projekcie i przesłali mi link do tego projektu.

Ten projekt możesz wykorzystać w swoich biurach przy recepcjach, jeśli na co dzień odwiedza Cię dużo osób.

Dodanie oddzielnego zasilacza i lcd sprawi, że ten projekt będzie samodzielny. Powierzam to zadanie wam.

Jeśli podoba Ci się moja praca, pomóż mi, udostępniając moje projekty w mediach społecznościowych. Na razie to wszystko. Do zobaczenia wkrótce z kolejnym projektem.

Zalecana: