Съдържание:

Система за обявяване на жетони: 5 стъпки
Система за обявяване на жетони: 5 стъпки

Видео: Система за обявяване на жетони: 5 стъпки

Видео: Система за обявяване на жетони: 5 стъпки
Видео: Стратегия за Залагане на Футболни Мачове Полувреме-Краен 1-Х 2024, Ноември
Anonim
Система за обявяване на жетони
Система за обявяване на жетони

В предишната инструкция видяхме как да накараме вашия Arduino да говори. Днес ще разгледаме малко повече по същата тема. Всички трябва да сме имали в някакъв момент от живота си система за съобщения, може би в банка или жп гара. Замисляли ли сте се как работят тези системи за съобщения? Е, те работят на същия принцип като последния ни проект. Така че днес в този урок ще направим Token Announcement System, способна да обявява жетони от 1 до 999, т.е. общо 999 токена (1000, ако включите 0). Така че нека да преминем към процеса на изграждане !!!

Стъпка 1: Съберете консумативите

Съберете консумативите
Съберете консумативите
Съберете консумативите
Съберете консумативите
Съберете консумативите
Съберете консумативите

Хей, ако търсите онлайн магазин за закупуване на компонентите, тогава UTSource.net е сайтът, който трябва да проверите. Те имат огромно разнообразие от електронни модули и компоненти на достъпни цени. Те също така предоставят PCB услуги за до 16 слоя. Проверете уебсайта им.

Нека да разгледаме модулите, от които се нуждаем за този проект -

1. Arduino Uno Board

2. 4 * 4 матрична клавиатура

3. Модул SD карта

4. 3,5 мм аудио жак

5. Високоговорител с вграден усилвател и AUX кабел

6. Някои заглавни проводници

Повечето от тези компоненти бяха използвани в предишните ни проекти.

Стъпка 2: Електрическа схема

Електрическа схема
Електрическа схема

Схемата за този проект е точно същата като в проекта Talking Arduino. Единствената разлика е клавиатурата. Свързването на клавиатурата е съвсем просто. Просто свържете редовете на клавиатурата към щифтовете на Arduino, както е показано по -горе.

(Клавиатурата, която използвах в този проект, не е същата като във веригата, защото не намерих правилната в списъка с части на Fritzing. Затова игнорирайте първия и последния щифт на клавиатурата във веригата.)

Свържете левия и десния канал на аудио жака към цифровия щифт 10 на Arduino. И заземяващият щифт към земята на Arduino.

Следвайте схемата, за да направите останалите връзки.

Стъпка 3: Подготовка на аудио файловете

Подготовка на аудио файловете
Подготовка на аудио файловете
Подготовка на аудио файловете
Подготовка на аудио файловете

Сега трябва да имате предвид това, че когато използвате модула на SD картата и библиотеката TMRpcm, можете да използвате само аудиоформата.wav. Никой друг аудио формат няма да работи.

Така че, за да конвертирате вашите записани аудио файлове или файловете, които възнамерявате да инсталирате на SD картата, трябва да използвате този онлайн аудио конвертор >> КЛИКНЕТЕ ТУК

Запазете настройките за преобразуване, както е показано на изображението по -горе.

И ако искате готини дигитализирани гласове, които чуваме в реалните системи, проверете този уебсайт, който преобразува написания текст в реч. След това можем да го изтеглим във mp3 формат, който след това може да бъде преобразуван във.wav формат от гореспоменатия сайт.

Щракнете тук, за да посетите сайта

Можете също да изтеглите аудио файловете, които използвах отдолу. Така че с това свърши времето да програмира дъската.

Стъпка 4: Кодиране

Кодиране
Кодиране

Изтеглете.ino файла отдолу. Компилирайте и качете програмата на вашия Arduino Board. Ако срещнете някакъв проблем при качването на кода, не се колебайте да се свържете с мен или да оставите коментар по -долу. Ще се радвам да ви помогна.

#include #include "SD.h" #deteine SD_ChipSelectPin 4 #include "TMRpcm.h" #include "SPI.h" TMRpcm tmrpcm; char myNum [4]; int i; const байт ROWS = 4; // четири реда const байт COLS = 4; // четири колони символни клавиши [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; байт rowPins [ROWS] = {A0, A1, A2, A3}; // свързване към изводите на реда на байта на клавиатурата colPins [COLS] = {9, 8, 7, 6}; // свързване към изводите на колони на клавиатурата Клавиатура на клавиатурата = Клавиатура (makeKeymap (клавиши), rowPins, colPins, ROWS, COLS); void setup () {tmrpcm.speakerPin = 10; Serial.begin (9600); if (! SD.begin (SD_ChipSelectPin)) {Serial.println ("SD неуспех"); връщане; } /* tmrpcm.setVolume (5); tmrpcm.play ("three.wav"); // Използва се за тестване (Не включвайте в крайния код) забавяне (1000);*/} void loop () {Serial.println ("Въведете трицифрен номер -"); for (i = 0; i <4; ++ i) {while ((myNum = keypad.getKey ()) == NO_KEY) {забавяне (1); // Просто изчакайте ключ} // Изчакайте ключът да бъде освободен while (keypad.getKey ()! = NO_KEY) {delay (1); } Serial.print (myNum ); } if (myNum [3] == 'A') {Serial.println ("Токен изпратен"); tmrpcm.setVolume (5); tmrpcm.play ("tokenno.wav"); забавяне (2000); check (); } if (myNum [3] == 'B') {Serial.println ("Токенът не е изпратен"); i = 0; } if (myNum [3] == '*') {Serial.println ("Reg desk"); tmrpcm.setVolume (5); tmrpcm.play ("star.wav"); i = 0; } if (myNum [3] == '#') {Serial.println ("затваряне"); 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"); забавяне (1000); } if (myNum [c] == '1') {tmrpcm.setVolume (5); tmrpcm.play ("one.wav"); забавяне (1000); } if (myNum [c] == '2') {tmrpcm.setVolume (5); tmrpcm.play ("two.wav"); забавяне (1000); } if (myNum [c] == '3') {tmrpcm.setVolume (5); tmrpcm.play ("three.wav"); забавяне (1000); } if (myNum [c] == '4') {tmrpcm.setVolume (5); tmrpcm.play ("four.wav"); забавяне (1000); } if (myNum [c] == '5') {tmrpcm.setVolume (5); tmrpcm.play ("five.wav"); забавяне (1000); } if (myNum [c] == '6') {tmrpcm.setVolume (5); tmrpcm.play ("six.wav"); забавяне (1000); } if (myNum [c] == '7') {tmrpcm.setVolume (5); tmrpcm.play ("seven.wav"); забавяне (1000); } if (myNum [c] == '8') {tmrpcm.setVolume (5); tmrpcm.play ("осем.wav"); забавяне (1000); } if (myNum [c] == '9') {tmrpcm.setVolume (5); tmrpcm.play ("nine.wav"); забавяне (1000); }} tmrpcm.setVolume (5); tmrpcm.play ("star.wav"); }

Ако промените имената на аудио файловете, не забравяйте да ги редактирате и в кода. След това вашият проект е готов за тестване. Нека да видим как работи.

Стъпка 5: Работа по проекта

Работа по проекта
Работа по проекта

Качих видеоклип от проекта по -долу. Можете да проверите това. Проектът работи според моите очаквания. Единственото ограничение, с което се сблъсках, беше липсата на отделен дисплей за проекта. Не можем да поддържаме лаптопа свързан през цялото време. Друг случай, ако работите на лаптоп по цял ден и имате на разположение много USB портове.

Затова искам да добавите lcd (всеки ще го направи) в този проект и да ми изпратите връзка към този проект.

Този проект може да се използва във вашите офиси на рецепциите, ако имате много хора, които посещават ежедневно.

Добавянето на отделно захранване и LCD ще направи този проект самостоятелен. Възлагам тази задача на вас, момчета.

Ако харесвате работата ми, помогнете ми, като споделите проектите си в дръжките си в социалните медии. Това е засега. Ще се видим скоро с друг проект.

Препоръчано: