Показано с 1 по 2 из 2
  1. #1
    Новичок
    Регистрация
    29.09.2014
    Сообщений
    1
    Вес репутации
    0

    По умолчанию Голосовое управление светом в сан узле + влажностью+ температурой теплого пола

    Здравствуйте, начитавшись в интернете про ARDUINO решил попробовать что-нибудь изобрести, пришла в голову идея голосового управления светом в ванной комнате, а за одно и заставить унитаз смывать по команде, как бы это смешно не казалось))) Дальше больше, после того как электроприборы начали подчиняться голосу, возник вопрос, почему бы на оставшиеся свободные выходы не подключить датчик влажности и датчик температуры пола, что и было сделано. скетч был доработан и всё пошло как по маслу, если бы не одно но... постоянно разговаривать со светом и унитазом , оказывается, дико напрягает и возникло желание чтобы помимо голосового управления была еще возможность управлять всеми приборами, ну допустим с кнопки. То есть чтобы я мог, допустим голосом включить , а нажатием на кнопку выключить и тут меня взял ступор, никак не могу понять как это сделать (((( Во пример скетча, может кто подскажет, заранее спасибо:




    #include "SoftwareSerial.h"
    #include <OneWire.h>
    #include <DallasTemperature.h>
    #include <dht11.h>
    #define ONE_WIRE_BUS 4 // Датчик температуры подключен к порту 4
    #define DHT11PIN 5 // Датчик влажности подключен к порту 5
    OneWire oneWire(ONE_WIRE_BUS); // Настройка параметров библиотеки oneWire
    DallasTemperature sensors(&oneWire);// Свяжем библиотеки oneWire и Dallas Temperature.
    dht11 sensor;
    int currTemp = 0;
    SoftwareSerial mySerial (2,3); // RX, TX
    byte incomingByte;
    byte com = 0;
    int rele1 = 7;//Привязано к VR
    int rele2 = 8;//Привязано к VR
    int rele3 = 9;//Привязано к VR
    int rele4 = 10;//Привязано к VR
    int rele5 = 11;// Привязано к DS18b20
    int rele6 = 12;// Привязано к DHT11 hudm
    void setup() {
    Serial.println("DHT11 TEST PROGRAM ");
    mySerial.begin(9600);// устанавливаем скорость UART для модуля
    sensors.begin(); // Стартуем библиотеку
    pinMode (rele1, OUTPUT);
    pinMode (rele2, OUTPUT);
    pinMode (rele3, OUTPUT);
    pinMode (rele4, OUTPUT);
    pinMode (rele5, OUTPUT);
    pinMode (rele6, OUTPUT);
    delay(2000);
    mySerial.write(0xAA);//избавляемся от текста
    mySerial.write(0x37);// и оставляем байты
    delay(1000);
    mySerial.write(0xAA); // вызываем из памяти
    mySerial.write(0x21);// команды 1-ой группы
    delay(2000);
    Serial.println("okey");
    }
    void loop(){
    Serial.println("\n");
    int chk = sensor.read(DHT11PIN);
    Serial.print("Read sensor: ");
    switch (chk)
    {
    case DHTLIB_OK:
    Serial.println("OK");
    break;
    case DHTLIB_ERROR_CHECKSUM:
    Serial.println("Checksum error");
    break;
    case DHTLIB_ERROR_TIMEOUT:
    Serial.println("Time out error");
    break;
    default:
    Serial.println("Unknown error");
    break;
    }

    if (sensor.humidity > 55){
    digitalWrite(rele6, HIGH);
    }
    if (sensor.humidity < 45){
    digitalWrite(rele6, LOW);
    }

    {
    sensors.requestTemperatures(); // Посылаем импульс на датчик
    currTemp=sensors.getTempCByIndex(0);
    if (currTemp<38) {
    digitalWrite(rele5, HIGH);//При температуре ниже Y градусов включаем.
    }
    if (currTemp>46) {
    digitalWrite(rele5, LOW);//При температуре Х градусов отключаем .
    }

    if(mySerial.available())
    {
    com = mySerial.read() ;
    switch(com)
    {
    case 0x11:
    digitalWrite(rele1, HIGH);
    break;
    case 0x12:
    digitalWrite(rele2, HIGH);
    break;// если 1, то выключаем LED
    case 0x13:
    digitalWrite(rele3, HIGH);
    break;
    case 0x14:
    digitalWrite(rele4, HIGH);
    delay (1000);
    digitalWrite (rele4, LOW);
    break;
    case 0x15:
    digitalWrite(rele1,LOW );
    digitalWrite(rele2,LOW );
    digitalWrite(rele3,LOW );
    digitalWrite(rele4,LOW );
    break;
    }
    }
    }
    }
    Последний раз редактировалось КОТ; 29.09.2014 в 01:13.

  2. #2
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,382
    Вес репутации
    10

    По умолчанию Re: Голосовое управление светом в сан узле + влажностью+ температурой теплого пола

    Конфигурируете пин на вход, подключаете внутренний подтягивающий резистор на этом входе, кнопку подключаете одним выводом на вход контроллера, а другим выводом на GNG
    Последний раз редактировалось Chip; 29.09.2014 в 14:40.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •