Автоматическая система включения системы фильтрации воздуха в мастерской при звуках пилы


Используя контроллер Arduino, микрофон и твёрдотельное реле можно собрать устройство, которое услышав громкий звук работы циркулярной пилы — автоматически включит систему фильтрации воздуха (для удаления древестной пыли).

Система AudioBot работает очень просто: используя микрофон (в виде модуля детектирования звука), она реагирует на громкий шум (который указывает на включение пилы) и через твёрдотельное реле (Single Phase DC 3-32V to AC 24-380VAC SSR-40DA 40A Solid State Relay Module), включит систему фильтрации воздуха (на два часа), чтобы очистить воздух от пыли.

Программа (скетч) для Arduino

#include <Wire.h>
#include <LiquidCrystal_PCF8574.h>

LiquidCrystal_PCF8574 lcd(0x27); // set the LCD address to 0x27 for a 16 chars and 2 line display

int relayPin = 2; //fan relay control
int sensorPin = 3; //sound sensor
int onPin = 4; //on button
int offPin = 5; //off button
int ledPin = 13; //onboard led
boolean val = 0;
int show;
int hours = 0; // start hours
int minutes = 0; //start min
int seconds = 30; //start seconds

void setup()
{
  Serial.begin (9600);
  pinMode(relayPin, OUTPUT);
  pinMode(sensorPin, INPUT);
  pinMode(onPin, INPUT);
  pinMode(offPin, INPUT);
  pinMode(ledPin, OUTPUT);
  digitalWrite(relayPin, LOW); //relay off
  digitalWrite(sensorPin, LOW); //microphone
  digitalWrite(onPin, HIGH); //on button
  digitalWrite(offPin, HIGH); //off button

  int error;

  Wire.begin();
  Wire.beginTransmission(0x27); //Your LCD Address
  error = Wire.endTransmission();

  if (error == 0) {
    Serial.println(": LCD found.");
  } else {
    Serial.println(": LCD not found.");
  }
  lcd.begin(16, 2); // initialize the lcd
  show = 0;
} // setup()

void loop()
{
  //microphone sound detection
  val = digitalRead(sensorPin);
  if (val == HIGH) //sound detected
  {
    hours = 2;
    minutes = 0;
    seconds = 0;
  }
  else //silence
  {
  }

  //button on
  val = digitalRead(onPin);
  if (val == LOW) //button pushed
  {
    hours += 1;
  }
  else //no push
  {
  }

  //button off
  val = digitalRead(offPin);
  if (val == HIGH) //button pushed
  {
    hours = 0; //stop time
    minutes = 0; //stop time
    seconds = 0; //stop time
  }
  else //no push
  {
  }

  //time countdown
  if (seconds > 0)
  {
    seconds -= 1;
  }
  else
  {
    if (minutes > 0) {
      seconds = 59;
      minutes -= 1;
    }
    else
    {
      if (hours > 0)
      {
        seconds = 59;
        minutes = 59;
        hours -= 1;
      }
    }
  }
  //fan power
  if (hours + minutes + seconds > 0)
  {
    digitalWrite(relayPin, HIGH); //turn the fan on
    lcd.setBacklight(200);
    lcd.clear();
    lcd.setCursor(0, 0);
    if ( (seconds % 2) == 0)
    {
      lcd.print("FANBOY ACTIVE *");
      digitalWrite(ledPin, HIGH); //led on
    }
    else
    {
      lcd.print("FANBOY ACTIVE * ");
      digitalWrite(ledPin, LOW); //led off
    }
    lcd.setCursor(0, 1);
    lcd.print(" H:");
    lcd.print(hours);
    lcd.print(" M:");
    lcd.print(minutes);
    lcd.print(" S:");
    lcd.print(seconds);
  }
  else
  {
    digitalWrite(relayPin, LOW); //turn the fan off
    lcd.clear();
    lcd.setBacklight(0);
  }

  delay(1000);

  //Serial.print("Hours: ");
  //Serial.print(hours);
  //Serial.print(" Minutes: ");
  //Serial.print(minutes);
  //Serial.print(" Seconds: ");
  //Serial.print(seconds);
  //Serial.print(" OnPin: ");
  //Serial.print(val = digitalRead(onPin));
  //Serial.print(" OffPin: ");
  //Serial.println(val = digitalRead(offPin));

} // loop()


Ссылки
The AudioBot system

По теме
Обжарка кофейных зёрен при помощи Arduino
Автоматизация стола IKEA SKARSTA при помощи Arduino
Автоматизация токарного станка при помощи Arduino
Система уведомления о готовности кофе на Arduino
Станок для нарезки кабеля на базе Arduino

Arduino
Ардуино что это и зачем?
Arduino, термины, начало работы
КМБ для начинающих ардуинщиков
Состав стартера (точка входа для начинающих ардуинщиков)
  • 0
  • 4 февраля 2020, 13:00
  • admin

Комментарии (0)

RSS свернуть / развернуть

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.