Голосове управління 4 канальним реле через Bluetooth

Звукові модулі та їх особливості, обговорення плеєрів, мікрофонів та підсилювачів звуку, запис та відтворення голосу з допомогою контролерів Ардуіно
Відповісти
Аватар користувача
Arduino
Site Admin
Повідомлень: 98
З нами з: 16 травня 2017 18:18

Голосове управління 4 канальним реле через Bluetooth

Повідомлення Arduino » 01 квітня 2018 15:19

Управління голосом - частина Home Automation набуває популярності, оскільки допомагає зменшити людські зусилля та помилки і таким чином підвищити ефективність. За допомогою системи Bluetooth Home Automation ми можемо керувати різними пристроями, такими як світильники, вентилятори, телевізори, змінного струму та ін. Крім того, система домашньої автоматизації також може забезпечити інші функції, такі як безпека, сигналізація, аварійні системи тощо.
Voice Activated Home Automation- цеколи різні пристрої контролюються, відправляючи Голосові Команди.
1Voice-AHAC.jpg
Необхідні компоненти
  • Arduino ONE - 1
  • HC - 05 модуль Bluetooth - 1
  • Смартфон або планшет - 1
  • Транзистор NPN 2N2222 - 4
  • Реле 12 В - 4
  • Резистор 1 кОм - 4
  • 1N4007 PN перехідний діод - 4
  • Блок живлення
  • З'єднувальні дроти
  • макетна плата
Додаток для передачі голосу в Bluetooth скачати тут BT Voice Control для Arduino

Використовуємо для Голосове управління 4 канальним реле через Bluetooth HC-05

Bluetooth HC-05 : для бездротового зв'язку ми використовували технологію Bluetooth, а модуль, який використовується для цього, був HC-05. Цей модуль можна взаємодіяти за допомогою протоколу UART з широким діапазоном програмованих швидкість передавання, але стандартна швидкість передачі даних - 9600 біт / сек. Модуль Bluetooth HC-05 може бути налаштований як основний або веденний, тоді як інший модуль HC-06 може працювати тільки в підпорядкованому режимі.

Наступне зображення показує модуль Bluetooth HC-05, який використовується в цьому проекті. У цьому модулі є контакти для VCC (5В), GND, TX та RX.
Для створення пари використовується пін Module (1234 або 0000).
hc05-06.jpg
hc05-1.jpg
BT Voice Control для Arduino : Цей додаток розроблений компанією SimpleLabsIN для голосових проектів Arduino. Цей додаток для Android використовує функцію розпізнавання голосу телефону та перетворить голосові команди на текст та передасть рядок через Bluetooth.

Реле (4-канальний) : Реле використовується для підключення невеликої струмової транзистори з великою струмовою ланцюгом змінного струму. У цьому проекті ми використали попередньо побудовану плату ретрансляції з 4-канальними каналами.
4rele.jpg
Схема складання управління 4 канальним реле через Bluetooth HC-05
Тепер ми побачимо дизайн схеми домашньої автоматизації з активацією голосу. Спочатку ми підключимо модуль Bluetooth до Arduino. Оскільки Bluetooth використовує протокол UART, нам потрібно використовувати RX і TX шпильки Arduino. Ми будемо використовувати бібліотеку "SoftwareSerial", щоб визначити наші власні шпильки RX і TX (Pin 2 - це RX, а Pin 3 - TX).

ПРИМІТКА. Ми не випустили з'єднання TX з Bluetooth RX та Arduino, оскільки воно не використовується. Якщо ви зіткнулися з проблемою, підключіть дільник напруги, щоб перетворити сигнал 5V на Arduino TX на 3,3 В стандарту Bluetooth RX.

Далі ми підключимо реле до Arduino. Оскільки ми використовували готову плату для ретрансляції з 4-канальними каналами, все, що нам потрібно зробити, це підключити входи окремих реле до Arduino. Для детального підключення, наприклад, резистора, транзистора, діода та реле, наведіть схему.

ПРИМІТКА. Ми не підключили жодного навантаження до реле, але завжди можна підключити невеликі навантаження та перевірити функціонування. Будьте обережні, використовуючи мережу змінного струму з релейною дошкою.

Робота Проекту голосового управління реле
У цьому проекті розроблена проста система Voice Activated Home Automation. Голосові команди використовуються для керування різними приладами. Тепер ми побачимо роботу проекту. Всі з'єднання виконані відповідно до схеми вище.

Після здійснення необхідних з'єднань ми повинні ввімкнути живлення в ланцюг. Тепер нам потрібно з'єднати телефон Bluetooth із модулем Bluetooth HC-05. До цього ми повинні встановити додаток, згадане вище в телефоні. На головному екрані програми виглядає приблизно так.
Screenshot-1.jpg
Наступний крок - підключити телефон до модуля Bluetooth. Для цього виберіть опцію «Підключити робот» і виберіть відповідний пристрій Bluetooth. Якщо пристрої не з'єднувалися раніше, ми повинні тепер об'єднати їх у пару за допомогою PIN-коду модуля Bluetooth HC-05.
Screenshot-2.jpg
Після успішного з'єднання пристрої готові передавати дані. Для цього натисніть значок мікрофона натискання в додатку та розпочніть передачу голосових команд.

ПРИМІТКА . Переконайтеся, що в телефоні увімкнено функцію розпізнавання голосу (це зазвичай пов'язано з додатком Google).

Наприклад, якщо ми натискаємо на значок мікрофона і сказати: «включити світло», додаток розпізнає команду і передає її в модуль Bluetooth. Крім того, команда відображається на екрані для нашого посилання.
Screenshot-3.jpg
Коли рядок «включити світло» виявлено додатком, він буде посилати рядок як «* поворот на світлі #». Отже, фактичне повідомлення, отримане модулем Bluetooth, має формат "* Message #". Причина використання «*» і «#» і в кінці рядка є ідентифікація, щоб визначити час початку і закінчення повідомлення.

Ми можемо видалити рядок "#" з рядка, але залишити "*", щоб визначити початок рядка. Отримане повідомлення порівнюється з деякими заздалегідь визначеними рядками, і якщо повідомлення співпадає з будь-яким з них, то відбувається відповідна дія, як увімкнення чи вимкнення навантаження.

Ми використали такі команди: "увімкнути змінний сигнал", "вимкнути змінний сигнал", "увімкнути світло", "вимкнути світло", "увімкнути телевізор", "вимкнути телевізор", "увімкнути вентилятор", " вимкнути вентилятор "," включити все "та" вимкнути все ".

Код: Виділити все

#include <SoftwareSerial.h>

const int rxPin = 2;
const int txPin = 3;               
SoftwareSerial mySerial(rxPin, txPin);

int ac=4;
int light=5;
int fan=6;
int tv=7;
String data;

void setup() 
{
   Serial.begin(9600);
   mySerial.begin(9600);
   
   pinMode(ac, OUTPUT);
   pinMode(light, OUTPUT);
   pinMode(fan, OUTPUT);
   pinMode(tv, OUTPUT);
 
   digitalWrite(ac, LOW);
   digitalWrite(light, LOW);
   digitalWrite(fan, LOW);
   digitalWrite(tv, LOW);
}

void loop() 
{
    int i=0;
    char ch=0;
    data="";
    while(1)
    { 
      while(mySerial.available()<=0);
      ch = mySerial.read();
      if(ch=='#')
      break;
      data+=ch;
    }
   Serial.println(data);
    
    if(data=="*turn on AC")
    { 
      digitalWrite(ac,HIGH);
      Serial.println("ac on");
    }
    else if(data=="*turn off AC")
    {
      digitalWrite(ac,LOW);
      Serial.println("ac off");
    }
    else if(data=="*turn on light")
    {
      digitalWrite(light,HIGH);
      Serial.println("light on");
    }
    else if(data=="*turn off light")
    {
      digitalWrite(light,LOW);
      Serial.println("light off");
    }
    else if(data=="*turn on fan")
    {
      digitalWrite(fan,HIGH);
      Serial.println("fan on");
    }
    else if(data=="*turn off fan")
    {
      digitalWrite(fan,LOW);
      Serial.println("fan off");
    }
    else if(data=="*turn on TV")
    {
      digitalWrite(tv,HIGH);
      Serial.println("tv on");
    }
    else if(data=="*turn on TV")
    {
      digitalWrite(tv,LOW);
      Serial.println("tv off");
    }
    else if(data=="*turn on all")
    {
      digitalWrite(ac,HIGH);
      digitalWrite(light,HIGH);
      digitalWrite(fan,HIGH);
      digitalWrite(tv,HIGH);
      Serial.println("all on");
    }
    else if(data=="*turn off all")
    {
      digitalWrite(ac,LOW);
      digitalWrite(light,LOW);
      digitalWrite(fan,LOW);
      digitalWrite(tv,LOW);
      Serial.println("all off");
    
    }
    
}
Відео https://youtu.be/dHwInrh5niU

Відповісти

Повернутись до “Звук та ультразвук”