Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Автоматическая запись и воспроизведение голоса своими руками

Компоненты и расходные материалы

Arduino UNO
× 1
isd1820
× 1
Динамик:0,25 Вт, 8 Ом
× 1
Перемычки (общие)
× 6

Об этом проекте

Идея!

Я жонглировал Интернетом, чтобы найти устройства, которые записывают голос и воспроизводят его снова. Я обнаружил ISD1820, который настолько разумен (всего 3 доллара), и может записывать звук в одиночку, используя некоторые rec. и кнопку воспроизведения. Мне нужно управлять этим устройством с помощью Arduino, я имею в виду запись и воспроизведение голоса только через Arduino.

Этот проект предназначен только для новичков и для тех, кто хочет узнать о работе ISD1820 с Arduino, но вы можете расширить его до очень большого смысла.

Посетите www.gadgetprogrammers.online, чтобы получить полное описание и новые идеи.

Как это работает!

Во-первых, мы просто записываем голос через ISD1820, который может записывать 20 секунд за один раз (вы также можете сохранить голос на SD-карте), и вы можете воспроизводить его снова и снова. Итак, здесь мы записываем голос, когда пользователь нажимает «r» на последовательном мониторе, и воспроизводим его, когда пользователь нажимает «p» на последовательном мониторе.

Итак, это была вся работа нашей системы

.

Ниже приведены схемы работы выводов (можете пропустить):

  • Источник питания VCC - 3,3 В
  • GND– заземление
  • ЗАПИСЬ - вход ЗАПИСИ является сигналом записи активного ВЫСОКОГО уровня. Модуль начинает запись всякий раз, когда REC становится HIGH. Этот вывод должен оставаться ВЫСОКИМ во время записи. Запись имеет приоритет перед сигналом воспроизведения (PLAYL или PLAYE).
  • ВОСПРОИЗВЕДЕНИЕ - воспроизведение, активация фронта:при обнаружении перехода в ВЫСОКОЕ состояние продолжается до тех пор, пока не будет обнаружен маркер конца сообщения (EOM) или не будет достигнут конец области памяти.
  • PLAYL - воспроизведение, активируется по уровню, когда уровень этого входного вывода переходит с НИЗКОГО на ВЫСОКИЙ, запускается цикл воспроизведения.
  • Выходы на громкоговорители - контакты SP + и SP‐ обеспечивают прямое подключение громкоговорителей с сопротивлением всего 8 Ом.
  • MIC - микрофонный вход, микрофонный вход передает свои сигналы на встроенный предусилитель.
  • FT - сквозное соединение:этот режим позволяет микрофону напрямую управлять динамиком.
  • P ‐ E - бесконечно проигрывайте записи.

Сделаем это!

Подключитесь, как указано ниже:

  • VCC => Arduino 5v
  • GND => Arduino GND
  • FT => вывод 5 Arduino
  • Воспроизвести L (PL) => вывод 4 Arduino
  • PLAY_E (P-E) => вывод 3 Arduino
  • REC => вывод 2 Arduino

После вышеприведенной распиновки загрузите код SAMPLE1:

ПРИМЕР 1:ЕСЛИ ВЫ ХОТИТЕ, ЧТО ПОЛЬЗОВАТЕЛЬ РЕШАЕТ ЗАПИСАТЬ ГОЛОС

ПРИМЕР 2:АВТОМАТИЧЕСКИ ЗАПИСЫВАЙТЕ ГОЛОС в течение 3 секунд и воспроизводите его в течение 5 секунд.

Пример 1:

  / ** ISD1820 Arduino Voice Recorder * для записи и воспроизведения звука с использованием Arduino и ISD1820 Sound Recorder * получите этот код с https://www.gadgetprogrammers.online/** ISD1820 Arduino Voice Recorder * Код Написал Аншул Пэрик в образовательных целях * 6 июня 2018 г. в 23:20, * / # define REC 2 // контакт 2 используется для записи # define PLAY_E 3 // контакт 3 используется для запуска по фронту воспроизведения # define FT 5 // контакт 5 используется для сквозной передачи // и НЕ будет записывать # define playTime 5000 // время воспроизведения 5 секунд # define recordTime 3000 // время записи 3 секунды, вы можете увеличить время до 10 секундvoid setup () {pinMode ( REC, OUTPUT); // установить вывод REC как output pinMode (PLAY_E, OUTPUT); // установить вывод PLAY_e как output pinMode (FT, OUTPUT); // установить вывод FT как вывод Serial.begin (9600); // настраиваем последовательный монитор} void loop () {while (Serial.available ()> 0) {char inChar =(char) Serial.read (); если (inChar =='p' || inChar =='P') {digitalWrite (PLAY_E, HIGH); задержка (50); digitalWrite (PLAY_E, LOW); Serial.println ("Playbak Started"); задержка (playTime); Serial.println ("Playbak Ended"); ломать; } иначе, если (inChar =='r' || inChar =='R') {digitalWrite (REC, HIGH); Serial.println («Запись началась»); задержка (время записи); digitalWrite (ЗАПИСЬ, НИЗКИЙ); Serial.println («Запись остановлена»); } Serial.println ("### Монитор последовательного порта завершен"); } // wihileSerial.println ("### Введите r для записи, p для воспроизведения"); delay (500);}  

Пример 2:

  #define REC 2 // контакт 2 используется для записи # define PLAY_E 3 // контакт 3 используется для триггера по фронту воспроизведения // когда PLAY_E переходит в HIGH, устройство воспроизводит STARTS и продолжает # define FT 5 / / контакт 5 используется для сквозной передачи # define playTime 5000 // время воспроизведения 5 секунд # define recordTime 3000 // время записи 3 секунды # define playLTime 900 // нажмите и отпустите время воспроизведения 0,9 секундыvoid setup () {pinMode (REC, OUTPUT ); // устанавливаем вывод REC как вывод pinMode (PLAY_E, OUTPUT); // устанавливаем вывод PLAY_e как вывод pinMode (FT, OUTPUT); // устанавливаем вывод FT как вывод Serial.begin (9600); // устанавливаем вверх Монитор последовательного порта} void loop () {digitalWrite (REC, HIGH); задержка (время записи); digitalWrite (ЗАПИСЬ, НИЗКИЙ); digitalWrite (PLAY_E, HIGH); задержка (50); digitalWrite (PLAY_E, LOW); задержка (playTime); delay (500);}  

Итак, теперь вы создали всю систему, поторопитесь!

ОБЪЕМ НА БУДУЩЕЕ:

Вы может записать голос и сохранить его на SD-карте для использования в будущем, и вы можете создавать рации и многое другое ..... в соответствии с вашим воображением :)

Если хотите, поделитесь ....... :)

Посетите нас и продвигайте нас, чтобы мы могли создавать для вас новые проекты www.gadgetprogrammers.online

Код

  • образец 1
  • ОБРАЗЕЦ 2
пример 1 Arduino
ПОЖАЛУЙСТА, ВСТАВЬТЕ ЭТОТ КОД В ARDUINO И ЗАПУСТИТЕ ПОСЛЕ СОЕДИНЕНИЯ.
 / ** ISD1820 Arduino Voice Recorder * для записи и воспроизведения звука с помощью Arduino и ISD1820 Sound Recorder * получите этот код с https://www.gadgetprogrammers.online/* * ISD1820 Диктофон Arduino * Код, написанный Аншул Пэрик для образовательных целей * 6 июня 2018 г. в 23:20 * / # define REC 2 // контакт 2 используется для записи # define PLAY_E 3 // контакт 3 используется для триггера по фронту воспроизведения # define FT 5 // контакт 5 используется для сквозной передачи // и НЕ будет записывать # define playTime 5000 // время воспроизведения 5 секунд # define recordTime 3000 // время записи 3 секунды вы можете увеличить время до 10 секундvoid setup () {pinMode (REC, OUTPUT); // установить вывод REC как output pinMode (PLAY_E, OUTPUT); // установить вывод PLAY_e как output pinMode (FT, OUTPUT); // установить вывод FT как вывод Serial.begin (9600); // настраиваем последовательный монитор} void loop () {while (Serial.available ()> 0) {char inChar =(char) Serial.read (); если (inChar =='p' || inChar =='P') {digitalWrite (PLAY_E, HIGH); задержка (50); digitalWrite (PLAY_E, LOW); Serial.println ("Playbak Started"); задержка (playTime); Serial.println ("Playbak Ended"); ломать; } иначе, если (inChar =='r' || inChar =='R') {digitalWrite (REC, HIGH); Serial.println («Запись началась»); задержка (время записи); digitalWrite (ЗАПИСЬ, НИЗКИЙ); Serial.println («Запись остановлена»); } Serial.println ("### Монитор последовательного порта завершен"); } // wihileSerial.println ("### Введите r для записи, p для воспроизведения"); delay (500);} 
ОБРАЗЕЦ 2 Arduino
Непрерывно записывайте голос в течение 3 секунд. и воспроизведение в течение 5 секунд
 #define REC 2 // контакт 2 используется для записи # define PLAY_E 3 // контакт 3 используется для запуска по фронту воспроизведения // когда PLAY_E переходит в HIGH, устройство воспроизводит НАЧАЛО и продолжает # define FT 5 // вывод 5 используется для подачи через # define playTime 5000 // время воспроизведения 5 секунд # define recordTime 3000 // время записи 3 секунды # define playLTime 900 // нажмите и отпустите время воспроизведения 0,9 секундыvoid setup () {pinMode (REC , OUTPUT); // установить вывод REC как output pinMode (PLAY_E, OUTPUT); // установить вывод PLAY_e как output pinMode (FT, OUTPUT); // установить вывод FT как вывод Serial.begin (9600); / / настроить последовательный монитор} void loop () {digitalWrite (REC, HIGH); задержка (время записи); digitalWrite (ЗАПИСЬ, НИЗКИЙ); digitalWrite (PLAY_E, HIGH); задержка (50); digitalWrite (PLAY_E, LOW); задержка (playTime); delay (500);} 

Схема


Производственный процесс

  1. Канал и замок
  2. Лук и стрела
  3. LP-запись
  4. Почесывать и нюхать
  5. Масло и маргарин
  6. Производственная мобильность:данные, голос, видео и местоположение
  7. Монитор окружающей среды и качества воздуха своими руками
  8. Сделай сам:мониторинг и регулирование температуры для домашнего пивоварения
  9. Сделай сам дешевый контроллер для перчаток и пропеллерный автомобиль
  10. Голосовые приложения Four Warehouse для защиты заказов и сотрудников