цифровая электроника
вычислительная техника
встраиваемые системы

 

Диктофон своими руками на основе Arduino и ISD1820

Автор: Mike(admin) от 17-01-2019, 06:15

Arduino и ISD1820 (модуль записи голоса)


В данном проекте будет показано, как сопрягать модуль записи звука ISD1820 с Arduino с целью создания простого диктофона. Хотя на плате модуля диктофона ISD1820 есть кнопка, которую можно использовать для прямой записи и воспроизведения, в этом проекте мы будем использовать Arduino для управления этими действиями, чтобы вы могли реализовать более «умный» диктофон.


Диктофон своими руками на основе Arduino и ISD1820

Диктофон – это устройство, которое записывает речь (или аудио) в различных ситуациях, таких как встречи, лекции, интервью, конференции, трансляции и т. д., чтобы вы могли легко редактировать или воспроизводить их.


Существуют различные типы аппаратного и программного обеспечения, предназначенные для записи голоса, которые предоставляют несколько вариантов настройки. В этом проекте мы расскажем об одном из наиболее часто используемых модулей диктофона в сообществе любителей электроники – модуле диктофона ISD1820, и покажем, как им управлять с помощью Arduino.


Модуль ISD1820


Модуль диктофона ISD1820 основан на микросхеме ISD1820, которая представляет собой однокристальную ИС диктофона для записи и воспроизведения отдельных сообщений. Главная особенность модуля диктофона ISD1820 заключается в том, что он может хранить сообщения в своей энергонезависимой памяти и может быть сконфигурирован для хранения сообщений длиной от 8 секунд до 20 секунд.


Модуль диктофона ISD1820, используемый в этом проекте, показан ниже. Как видите, на плате много компонентов, которые помогают микросхеме ISD1820 в записи и воспроизведении.


Диктофон своими руками на основе Arduino и ISD1820

Еще одной главной особенностью этого модуля является то, что он имеет встроенный аудиоусилитель, который может управлять динамиком 0,5 Вт 8 Ом напрямую, без необходимости использования какой-либо внешней схемы усилителя. Но если вы хотите подключить более мощные динамики, вы можете подключить выход этого модуля к ИС внешнего усилителя, например, LM386.


Как работать с модулем ISD1820? Подключите небольшой 8-Омный динамик к выходу модуля, то есть через контакты SP+ и SP-. Нажмите кнопку записи (REC) на модуле, и модуль начнет запись. Продолжайте удерживать нажатой кнопку до тех пор, пока не запишите полное сообщение (например, около 10 секунд). Для воспроизведения вы можете использовать PLAYE или PLAYL. Нажмите кнопку PLAYE один раз, и все сообщение будет воспроизведено. Вам нужно нажать и удерживать кнопку PLAYL, и сообщение начнет воспроизводиться, и, если вы хотите остановить воспроизведение в любой момент, отпустите кнопку. Если вы активируете перемычку PE, воспроизведение происходит в режиме бесконечного цикла.


Подключение Arduino к ISD1820


Как было сказано ранее, модуль диктофона ISD1820 может работать независимо без какого-либо микроконтроллера. Но управление функцией записи и воспроизведения с помощью микроконтроллера, такого как, например, Arduino, дает вам возможность расширить функциональные возможности модуля до уровня сложных приложений.


Представьте себе ситуацию, когда вы разрабатываете систему безопасности, которая должна автоматически записывать голос при обнаружении движения. Это будет возможно, только если вы подключите модуль диктофона ISD1820 к Arduino (или к любому микроконтроллеру).


Схема подключения Arduino к ISD1820, а также к ИК-датчику и динамику для реализации такой простой сигнализации с записью голоса, показана ниже.


Схема подключения Arduino к ISD1820

Контакты SP+ и SP- модуля ISD1820 подключены к клеммам динамика. VCC и GND модуля подключены к + 5V и GND. Контакты REC и PLAYE подключены к цифровым контактам 2 и 3 платы Arduino. Здесь используется инфракрасный датчик отражающего типа, а цифровой выход датчика подключен к выводу 4 платы Arduino.


Код программы взаимодействия Arduino и ISD1820



int rec=2;
int play=3;
int sensor=4;
int led=13;

void setup() 
{
pinMode(rec,OUTPUT);
pinMode(play,OUTPUT);
pinMode(led,OUTPUT);
pinMode(sensor,INPUT);

digitalWrite(rec,LOW);
digitalWrite(play,LOW);
digitalWrite(led,LOW);
if(digitalRead(sensor))
{
 while(digitalRead(sensor));
}
}

void loop() 
{

if(digitalRead(sensor))
{
  digitalWrite(led,HIGH);
  digitalWrite(rec,HIGH);
  delay(5000);
  digitalWrite(led,LOW);
  digitalWrite(rec,LOW);
  delay(1000);
  digitalWrite(play,HIGH);
  delay(6000);
  digitalWrite(play,LOW);
  while(digitalRead(sensor));
}
}

Выполните подключения согласно электрической схеме и подайте питание на цепь. Когда перед ИК-датчиком нет объекта, его выход будет в низком логическом состянии, и Arduino ничего не будет делать. Когда перед ИК-датчиком появится какой-либо объект, его выходной сигнал переходит в высокий логический уровень, и Arduino начинает запись сообщения, переводя вывод REC в высокое логическое состояние и поддерживая его в течение примерно 5 секунд. В течение этого времени светодиод, подключенный к контакту 13, будет светиться, чтобы указать, что модуль записывает сообщение. После записи, сообщение воспроизводится посредством перевода вывода PLAYE в высокое логическое состояние и его поддержания в течение примерно 6 секунд.




© digitrode.ru


Теги: Arduino



   Благодарим Вас за интерес к информационному проекту digitrode.ru.
   Если Вы хотите, чтобы интересные и полезные материалы выходили чаще, и было меньше рекламы,
   Вы можее поддержать наш проект, пожертвовав любую сумму на его развитие.


Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий