Статьи

Контролюємо пристрою через Bluetooth за допомогою Arduino

  1. Крок 1: Код Arduino
  2. Крок 2: Підключення схеми
  3. Крок 3: Додаток Ardudroid
  4. Крок 4: Перший тест
  5. Крок 5: Зарядка
  6. Крок 6: Додаткова інформація
  7. Крок 7: Висновок

Буває таке, що ми лягаємо спати, але забуваємо вимкнути світло, а прокидатися вже не хочеться, - холодно або тому, що ми дуже втомилися або тому, що в коридорі є монстри 🙂 Цей проект допоможе уникнути цей дискомфорт і зробить життя трохи більш простий і зручною. Ми можемо крім того, що включати або вимикати світло - контролювати потужність світла.

Ми можемо крім того, що включати або вимикати світло - контролювати потужність світла

Крок 1: Код Arduino

Ми будемо використовувати модуль Bluetooth HC-06, для цього ми встановимо зв'язок програмою для нашого Arduino Mega. Ми оголосимо необхідні параметри сумісності з додатком «Ardudroid»,

Додаток містить 13 параметрів, через які ми можемо управляти різними навантаженнями з використанням реле, якщо воно використовує 120 Вольт змінного струму або звичайні лампи 12 В. Будемо використовувати схему з транзистором в цьому проекті для керування лампами.

#define CARACTER_INICIO_CMD '*' #define CARACTER_FINAL_CMD '#' #define CARACTER_DIV_CMD '|' #define ESCRITURA_DIGITAL_CMD 10 #define ESCRITURA_ANALOGA_CMD 11 #define TEXTO_CMD 12 #define LECTURA_ARDUDROID_CMD 13 #define MAX_COMMAND 20 #define MIN_COMMAND 10 #define LONGITUD_ENTRADA_STRING 40 #define ESCRITURA_ANALOGICA_MAX 255 #define PIN_ALTO 3 #define PIN_BAJO 2 int Valordigital; int Kaioken = 14; int ledPin = 52; int speakerPin = 16; String inText; void setup () {Serial.begin (9600); Serial.println ( "6to Electronica B"); Serial.flush (); pinMode (14, OUTPUT); pinMode (15, INPUT); pinMode (16, OUTPUT); } Void loop () {march (); Serial.flush (); int ard_command = 0; int pin_num = 0; int pin_value = 0; Valordigital = analogRead (A1); // Sensor de luz if (Valordigital> = 953) // Si hay luz, apago la luz: v {digitalWrite (Kaioken, HIGH); // Apagamos la luz} else if (Valordigital <953) // Si no hay luz, enciendo la luz: v {digitalWrite (Kaioken, LOW); // Encendemos el LED} char get_char = ''; if (Serial.available () <1) return; get_char = Serial.read (); if (get_char! = CARACTER_INICIO_CMD) return; ard_command = Serial.parseInt (); // Lee comando pin_num = Serial.parseInt (); // leer el pin pin_value = Serial.parseInt (); // leer el valor // 1) COMANDOS if (ard_command == TEXTO_CMD) {inText = ""; while (Serial.available ()) {char c = Serial.read (); delay (5); if (c == CARACTER_FINAL_CMD) {break; } Else {if (c! = CARACTER_DIV_CMD) {inText + = c; delay (5); }}}} // 2) OBTENER DATOS if (ard_command == ESCRITURA_DIGITAL_CMD) {if (pin_value == PIN_BAJO) pin_value = LOW; else if (pin_value == PIN_ALTO) pin_value = HIGH; else return; set_digitalwrite (pin_num, pin_value); return; } // 3) Escritura analogica if (ard_command == ESCRITURA_ANALOGA_CMD) {analogWrite (pin_num, pin_value); return; } // 4) Enviar datos (Temperatura: V) if (ard_command == LECTURA_ARDUDROID_CMD) {return; }} // Escritura Digital void set_digitalwrite (int pin_num, int pin_value) {switch (pin_num) {case 13: pinMode (13, OUTPUT); digitalWrite (13, pin_value); break; case 12: pinMode (12, OUTPUT); digitalWrite (12, pin_value); break; case 11: pinMode (11, OUTPUT); digitalWrite (11, pin_value); break; case 10: pinMode (10, OUTPUT); digitalWrite (10, pin_value); break; case 9: pinMode (9, OUTPUT); digitalWrite (9, pin_value); break; case 8: pinMode (8, OUTPUT); digitalWrite (8, pin_value); break; case 7: pinMode (7, OUTPUT); digitalWrite (7, pin_value); break; case 6: pinMode (6, OUTPUT); digitalWrite (6, pin_value); break; case 5: pinMode (5, OUTPUT); digitalWrite (5, pin_value); break; case 4: pinMode (4, OUTPUT); digitalWrite (4, pin_value); break; case 3: pinMode (3, OUTPUT); digitalWrite (3, pin_value); break; case 2: pinMode (2, OUTPUT); Serial.println (analogRead (A0) * 0.48); Serial.println ( "° Celsius"); break; }} Void march () // LAMAS A MI: v {while (analogRead (A2) <= 15) {digitalWrite (16, HIGH); } Return; }

Ви можете завантажити файл .ino нижче

Завантажити bluetooth-control.ino

Крок 2: Підключення схеми

Як підключити наш Arduino до нашого модулю Bluetooth ви можете побачити на зображенні нижче. Після цього перед завантаженням програми вимкніть порти TX і RX, після завантаження, підключіть їх так - RX до Arduino TX і після TX до Arduino RX.

Крок 3: Додаток Ardudroid

Крок 3: Додаток Ardudroid

Після підключення всіх з'єднань відкрийте додаток Ardudroid і підключіть пристрій. Завантажити та встановити додаток ви можете в Google Play за посиланням - https://play.google.com/store/apps/details?id=com.techbitar.android.Andruino&hl=ru .

Крок 4: Перший тест

Використовуючи простий світлодіод і резистор вам самим потрібно протестувати функції програми.

Крок 5: Зарядка

Тепер, коли ми перевірили правильність роботи програми та пристрої ми перейдемо до підключення і управління нашою лампочки. Слідуючи за прикладом в зображення, ми підключимо навантаження у вигляді лампочки через реле до Arduino, щоб керувати нею. Зробимо через висновки від 2 до 13.

Крок 6: Додаткова інформація

Додаток може контролювати потужність, використовуючи МОС, якщо у нас 120 В змінного струму, або транзистор, якщо навантаження використовує постійний струм.

Якщо потрібно управляти потужністю пристрою, сигнал буде підключений до контактів 3, 5, 6, 9, 10 або 11.

Поточна програма, яку ми завантажили, має доповнення і показує температуру використовуючи lm35. Сигнал надходить на порт A0 і, якщо ви хочете прочитати, ви повинні натиснути на контакт 2, щоб записати поточну температуру в додаток.

Крок 7: Висновок

Крок 7: Висновок

Будемо сподіватися, що у вас все вийшло і ваш проект працює. Найближчим часом дивіться ще більше уроків на нашому сайті.

Всього вам доброго і нових вам винаходів.

Com/store/apps/details?

Новости