Оглавление:

Система объявления токенов: 5 шагов
Система объявления токенов: 5 шагов

Видео: Система объявления токенов: 5 шагов

Видео: Система объявления токенов: 5 шагов
Видео: Мессенджер-маркетинг: как начать прогревать и продавать за 5 шагов с помощью сообщений 2024, Июль
Anonim
Система объявления токенов
Система объявления токенов

В предыдущем руководстве мы увидели, как заставить ваш Arduino говорить. Сегодня мы поговорим еще немного по той же теме. Все мы, должно быть, в какой-то момент жизни сталкивались с системой объявлений, может быть, в банке или на вокзале. Вы когда-нибудь задумывались, как работают эти системы объявлений? Что ж, они работают по тому же принципу, что и наш последний проект. Итак, сегодня в этом руководстве мы создадим систему объявления токенов, способную объявлять токены от 1 до 999, то есть всего 999 токенов (1000, если вы включите 0). Итак, приступим к процессу сборки !!!

Шаг 1. Соберите припасы

Соберите припасы
Соберите припасы
Соберите припасы
Соберите припасы
Соберите припасы
Соберите припасы

Привет, если вы ищете интернет-магазин для покупки компонентов, тогда вам нужно посетить UTSource.net. У них есть огромное разнообразие электронных модулей и компонентов по доступным ценам. Они также предоставляют услуги печатных плат до 16 слоев. Проверьте их сайт.

Давайте посмотрим на модули, которые нам нужны для этого проекта -

1. Плата Arduino Uno

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

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

4. Аудиоразъем 3,5 мм

5. Динамик со встроенным усилителем и кабелем AUX.

6. Некоторые провода заголовка

Большинство этих компонентов использовалось в наших предыдущих проектах.

Шаг 2: Принципиальная схема

Принципиальная электрическая схема
Принципиальная электрическая схема

Принципиальная схема этого проекта точно такая же, как и в проекте Talking Arduino. Единственное отличие - клавиатура. Подключить клавиатуру довольно просто. Просто подключите ряды клавиатуры к контактам Arduino, как показано выше.

(Клавиатура, которую я использовал в этом проекте, не такая же, как в схеме, потому что я не нашел нужную в списке деталей Фритцинга. Поэтому игнорируйте первый и последний контакты клавиатуры в схеме.)

Подключите левый и правый канал аудиоразъема к цифровому контакту 10 Arduino. И контакт заземления к земле Arduino.

Следуйте диаграмме, чтобы выполнить остальные подключения.

Шаг 3: Подготовка аудиофайлов

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

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

Итак, чтобы преобразовать записанные аудиофайлы или файлы, которые вы собираетесь установить на SD-карту, вы должны использовать этот онлайн-конвертер аудио. >> НАЖМИТЕ ЗДЕСЬ

Сохраните настройки преобразования, как показано на изображении выше.

А если вам нужны крутые оцифрованные голоса, которые мы слышим в реальных системах, то посетите этот веб-сайт, который преобразует письменный текст в речь. А затем мы можем скачать его в формате mp3, который затем можно преобразовать в формат.wav с указанного выше сайта.

НАЖМИТЕ ЗДЕСЬ, ЧТОБЫ ПОСЕТИТЬ САЙТ

Вы также можете скачать аудиофайлы, которые я использовал ниже. Итак, настало время программировать доску.

Шаг 4: кодирование

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

Загрузите файл.ino снизу. Скомпилируйте и загрузите программу на свою плату Arduino. Если у вас возникнут проблемы с загрузкой кода, свяжитесь со мной или оставьте комментарий ниже. Буду рад вам помочь.

#include #include "SD.h" #define SD_ChipSelectPin 4 #include "TMRpcm.h" #include "SPI.h" TMRpcm tmrpcm; char myNum [4]; int i; const byte ROWS = 4; // четыре строки const byte COLS = 4; // четыре символьных ключа столбцов [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins [ROWS] = {A0, A1, A2, A3}; // подключаемся к выводам строки байта клавиатуры colPins [COLS] = {9, 8, 7, 6}; // подключаемся к выводам столбцов клавиатуры Keypad keypad = Keypad (makeKeymap (keys), rowPins, colPins, ROWS, COLS); void setup () {tmrpcm.speakerPin = 10; Serial.begin (9600); если (! SD.begin (SD_ChipSelectPin)) {Serial.println ("Ошибка SD"); возвращение; } / * tmrpcm.setVolume (5); tmrpcm.play ("three.wav"); // Используется для тестирования (Не включать в окончательный код) delay (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); проверить(); } if (myNum [3] == 'B') {Serial.println («Токен не отправлен»); я = 0; } if (myNum [3] == '*') {Serial.println ("Рег. стол"); tmrpcm.setVolume (5); tmrpcm.play ("star.wav"); я = 0; } if (myNum [3] == '#') {Serial.println ("закрытие"); tmrpcm.setVolume (5); tmrpcm.play ("hash.wav"); я = 0; } если (myNum [3] == 'D') {Serial.println ("Sub"); tmrpcm.setVolume (5); tmrpcm.play ("D.wav"); я = 0; }} void check () {для (int c = 0; c <3; c ++) {if (myNum [c] == '0') {tmrpcm.setVolume (5); tmrpcm.play ("zero.wav"); задержка (1000); } если (myNum [c] == '1') {tmrpcm.setVolume (5); tmrpcm.play ("one.wav"); задержка (1000); } если (myNum [c] == '2') {tmrpcm.setVolume (5); tmrpcm.play ("two.wav"); задержка (1000); } если (myNum [c] == '3') {tmrpcm.setVolume (5); tmrpcm.play ("three.wav"); задержка (1000); } если (myNum [c] == '4') {tmrpcm.setVolume (5); tmrpcm.play ("four.wav"); задержка (1000); } если (myNum [c] == '5') {tmrpcm.setVolume (5); tmrpcm.play ("five.wav"); задержка (1000); } если (myNum [c] == '6') {tmrpcm.setVolume (5); tmrpcm.play ("six.wav"); задержка (1000); } если (myNum [c] == '7') {tmrpcm.setVolume (5); tmrpcm.play ("seven.wav"); задержка (1000); } если (myNum [c] == '8') {tmrpcm.setVolume (5); tmrpcm.play ("восемь.wav"); задержка (1000); } если (myNum [c] == '9') {tmrpcm.setVolume (5); tmrpcm.play ("девять.wav"); задержка (1000); }} tmrpcm.setVolume (5); tmrpcm.play ("star.wav"); }

Если вы измените имена аудиофайлов, убедитесь, что вы также редактируете их в коде. После этого ваш проект готов к тестированию. Посмотрим, как это работает.

Шаг 5: Работа над проектом

Работа над проектом
Работа над проектом

Я загрузил видео проекта ниже. Вы можете это проверить. Проект оправдал мои ожидания. Единственное ограничение, с которым я столкнулся, - это отсутствие отдельного дисплея для проекта. Мы не можем постоянно держать ноутбук подключенным. Другой случай, если вы работаете за ноутбуком весь день и у вас много USB-портов.

Итак, я хочу, чтобы вы, ребята, добавили ЖК-дисплей (любой подойдет) в этот проект и прислали мне ссылку на этот проект.

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

Добавление отдельного блока питания и ЖК-дисплея сделает этот проект самостоятельным. Я поручаю эту задачу вам, ребята.

Если вам нравится моя работа, помогите мне, поделившись моими проектами в ваших социальных сетях. На данный момент это все. Скоро увидимся с другим проектом.

Рекомендуемые: