Дымовой датчик
- Войдите на сайт для отправки комментариев
Втр, 24/04/2018 - 15:59
Мой первый проект, дымовой датчик наа MQ2,
3 уровня срабатывания:
1. Ничего не происходит
2. Оповещение о средней концентрации дыма, к примеру при подгорелой яишнице.
срабатывает ЛЕД подсветка, без сирены.
3. Срабатывает и ЛЕД подсветка и Сирена, причём ЛЕД мигает в ритме SOS азбуки морзе, для того что бы с улице в темноте было проще определить место пожара (к примеру если огня нет или его не видно, а дыма много).
#define mq A0
int piezo = 4;
int led = 6;
int s = 300;
int o = 800;
void setup(){
Serial.begin(9600);
pinMode (piezo, OUTPUT);
pinMode (led, OUTPUT);
digitalWrite (led, HIGH);
delay (500);
digitalWrite (led, LOW);
delay (500);
digitalWrite (led, HIGH);
delay (500);
digitalWrite (led, LOW);
delay (500);
tone (piezo, 300);
delay (100);
noTone (piezo);
}
void SOS (int speed)
{
digitalWrite (led, HIGH);
delay (speed);
digitalWrite (led, LOW);
delay (300);
}
void loop()
{
int mqval = analogRead(mq);
Serial.println (mqval);
delay(1000);
if (mqval >220 && mqval < 550)
digitalWrite (led, HIGH);
delay (50);
digitalWrite (led, LOW);
delay (30);
noTone (piezo);
if (mqval >551 && mqval < 1023)
{
digitalWrite (piezo, HIGH);
for (int x = 1; x <= 3; x++) {
SOS(s);
}
delay(1000);
for (int x = 1; x <= 3; x++) {
SOS(o);
}
delay(1000);
for (int x = 1; x <= 3; x++) {
SOS(s);
}
delay(2000);
}
}
Очень жду дельных советов и коментариев, заранее спасибо.
ну а от нас чонадо-то?
Очень жду дельных советов и коментариев, заранее спасибо.
1. Длительность тире и точки должны отличаться в 3 раза. Да и темп передачи выбран очень низким.
2. Судя по скетчу, Вы передаете не сигнал SOS, а не строку "SOS", и, опять же, с нарушением длительностей.
Я бы заменил:
int s = 100;
int o = 300;
и убрал задержки в строках 47 и 51.