Реле с микрофоном

Satanya
Offline
Зарегистрирован: 02.03.2019

Приветствую,Господа!
Нужна помощь с разработкой,понимаю в этом немного,но,как оказалось недостаточно)
Есть схема с микрофоном,реле и arduino nano.
При получении сигнала с микрофона,реле должно переключится в рабочее состояние,а при отстутствии сигнала,выключится.Но,реле включается и выключается кучу раз.
Подскажите как исправить пожалуйста!
Спасибо)



int relayPin=6;
int sensorPin=10;
boolean val =0;
 
void setup(){
  pinMode(relayPin, OUTPUT);
  pinMode(sensorPin, INPUT);
  Serial.begin (9600);
}
  
void loop (){
  val =digitalRead(sensorPin);
  Serial.println (val);
  // when the sensor detects a signal above the threshold value, relay turns on
  if (val==HIGH) {
    digitalWrite(relayPin, HIGH);
  }
  else {
    digitalWrite(relayPin, LOW);
  }
}
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Satanya пишет:

Подскажите как исправить пожалуйста!

Для начала, вставить код как положено.

Как именно "положено" написано в первой теме раздела "Песочница".

bwn
Offline
Зарегистрирован: 25.08.2014

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

Satanya
Offline
Зарегистрирован: 02.03.2019

Извинияюсь,поспешил)
Микрофон HW-484
Реле SRD-05VDC-SL-C

int relayPin=6;
int sensorPin=10;
boolean val =0;
 
void setup(){
  pinMode(relayPin, OUTPUT);
  pinMode(sensorPin, INPUT);
  Serial.begin (9600);
}
  
void loop (){
  val =digitalRead(sensorPin);
  Serial.println (val);
  // when the sensor detects a signal above the threshold value, relay turns on
  if (val==HIGH) {
    digitalWrite(relayPin, HIGH);
  }
  else {
    digitalWrite(relayPin, LOW);
  }
}

 

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

А что у Вас выдается в 13 строке при работе?

Satanya
Offline
Зарегистрирован: 02.03.2019

Если речь о мониторе порта,то постоянно сменяющиеся значения 0-1

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Кроме того можно использовать digitalWrite(relayPin, val); и это будет вторая строка в loop() и все.

Более того, можно исключить отсюда нану и поставить один транзистор и 2 или 3 резистра.

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Но проблема, как мне кажется, у Вас не в программе, а в микрофоне. Проверьте его.

Satanya
Offline
Зарегистрирован: 02.03.2019

Ардуино будет исползоваться в дальнейшем,для добавления других деталей)
write вставил)Спасибо)

Satanya
Offline
Зарегистрирован: 02.03.2019

Микрофоны уже несколько перепроверил)
Может быть есть возможность включать реле на определенное время?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

есть

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Осциллограф есть? Посмотрите, что на 10-ом пине. Уверен, что там "болтанка" отсюда и включение-выключение. Если так, то я бы сгладил сигнал, поставив перед пином ФНЧ. 

Satanya
Offline
Зарегистрирован: 02.03.2019

Нет,увы нету)
Но,фильтр поставить попробую)

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Кстати, пришло тут в голову, а что Вы за микрофон используете? Да и вообще - неплохо бы схему с деталировкой Вашего аппарата.

gfx125
Offline
Зарегистрирован: 27.05.2017

Satanya пишет:

Микрофон HW-484

Это модуль? Какой выход используется - аналоговый или цифра?

 

Satanya
Offline
Зарегистрирован: 02.03.2019

Да,модуль.Выход цифровой)

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Satanya пишет:

Да,модуль.Выход цифровой)

Значит, там уже еслть фильтр и триггер шмитта. Хотя, посмотреть осциллографом не помешало бы. Купите хоть DSO138 - стоит копейки, а выручит не раз.

Муж_Долговой
Муж_Долговой аватар
Offline
Зарегистрирован: 07.10.2018

Микрофон слышит щелчки реле и пугается.

И при регулировке микрофона на максимальную чувствительность ... происходит переключение во время срабатывания реле из-за броска по питанию. Реле нужно запитать от другого источника и накрыть подушкой на время испытания.

gfx125
Offline
Зарегистрирован: 27.05.2017

Satanya пишет:
Да,модуль.Выход цифровой)

Что за сигнал слушает микрофон? Попробуй покрутить регулятор.

 

Satanya
Offline
Зарегистрирован: 02.03.2019

Микрофон слушает вдох воздуха,будучи установленным в шахте.
Регулятор крутил,либо щелкает,либо становится слишком чувствительным

Satanya
Offline
Зарегистрирован: 02.03.2019

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

Satanya
Offline
Зарегистрирован: 02.03.2019

Микрофон на данной чувствительности реле не слышит,но,попробую)