Arduino и реле

Arduino и реле Лодки

Описание работы управлением светом с компьютера по bluetooth.

На фото ниже показано, что я подключил модуль bluetooth hc-06 вместо радиоуправления. Как и выше, никаких изменений в коде нет. Уточнил только количество реле и тип сигнала низкого уровня. После этого можно начинать управлять светом, включать его с компьютера через беспроводную связь Bluetooth и выключатель, который можно установить в монтажную коробку как обычный выключатель.

Однако у этого варианта есть много недостатков, о которых я рассказывал ранее в проекте о контроле света из трех мест.

Подводя итоги…

Управление реле с компьютера, скорее всего не очень востребовано, так как мы редко нуждаемся в управлении светом за компьютером. Хотя… Это возможно только мое мнение!

В связи с тем, что это мое первое приложение для компьютера, некоторые моменты не учтены и есть недоработки. Реле также должно управляться через Wi-Fi. Приглашаю вас поделиться своими мнениями и предложениями.

Смотрите про коптеры:  Drake показал свой новый личный самолет за 100 000 000$

Понравился ли вам проект Управление реле с компьютера с помощью Arduino и bluetooth? Не забудьте поделиться им со своими друзьями в социальных сетях.

Описание программы для управления реле с компьютера при помощи arduino и bluetooth.

Прежде чем создавать программу, необходимо определиться с ее функциями и возможностями. Идея заключается в том, чтобы иметь кнопку для включения и выключения реле или светодиода. Изначально я планировал сделать две кнопки управления, одну, которая включает реле, и другую, которая его выключает.

Было решено увеличить количество управляемых устройств, чтобы сделать программу более функциональной. Для этого достаточно изменить 1 значение в коде, и количество элементов изменится с 1 до 5.

Изменение цвета обводки при нажатии на кнопку изменяет ее цвет. Наглядно показывает, как работает кнопка. Кроме того, при изменении состояния реле меняется цвет шрифта на кнопке и изменяется состояние реле:

ВКЛ

или

ВЫКЛ

Это мое первое приложение в Processing, поэтому не судите строго. Если вы видите какие-то костыли, пожалуйста, укажите на лучшее решение. Оставляйте свои предложения в комментариях.

Для работы над проектом потребуется следующая электроника:

– NANO ARDUINO (НА АНГЛИЙСКОМ)

– HC-05 hc-06 Bluetooth

– Релейный модуль 5 в 1, 2,4, 6, 8 каналах

Описание кода processing ide для создания программы управления arduino.

Затем мы создаем объект для включения последовательного соединения и массив для хранения статусов реле. Для данной модели int n = 5 определяет количество управляемых реле.

boolean flag[] = new boolean[n];
boolean flagOld[] = new boolean[n];
int step = 70;
void setup() {
  size(450, 480);
  myPort = new Serial(this, "COM18", 9600); // Запускает последовательное соедениние
  myPort.bufferUntil('n'); // Определяет, до какого символа будут считываться данные с последовательного порта. Символ "n" или "Новая строка"
}

В разделе настройки мы должны установить размер окна программы и запустить последовательное соединение. Что касается номера COM-порта. Необходимо перейти в раздел “Панель управленияОборудование и звукУстройства и принтеры”.

Щелкнув значок правой кнопкой мыши, можно просмотреть свойства устройства.

В открывшемся окне перейдите на вкладку “Службы”. Здесь мы увидим “Serial port”, в моем случае это “COM18”. Вы получите еще одну.

В главной функции draw (), которая постоянно повторяется, мы выполняем все графические функции программы и вспомогательные функции. Сначала установите цвет фона, цвет заливки, размер и цвет контура, затем нарисуйте кнопку с помощью функции rect(). Используя функцию text(), мы выводим весь текст, включая строку ledStatus.

  background(227, 230, 231);
  textSize(26);
  fill(20, 160, 133);
  text("Управление реле с компьютера", 15, 35);
  textSize(24);
  fill(33);
  text("№", 12, 80);
  text("Реле", 80, 80);
  text("Состояние", 230, 80);

    textSize(24);
    fill(33);
    text(i 1, 12, 135 i*step);

    fill(20, 160, 133); // Зеленый Цвет
    stroke(33);
    strokeWeight(1);
    rect(50, 100 i*step, 150, 50, 10);  
    fill(255);
    textSize(28);
    text("Включить", 60, 135 i*step);

Теперь вам нужно заставить кнопки работать. Для этого используется оператор if. Когда кнопка нажата, через последовательный порт на Arduino посылается команда, которая включает или выключает реле. Используйте следующие строки для выделения кнопки при ее нажатии.

// Если нажата кнопка 
    if (mousePressed && mouseX>50 && mouseX<200 && mouseY>100 i*step && mouseY<150 i*step) {

      // Выделяет кнопки красным цветом при нажатии
      stroke(255, 0, 0);
      strokeWeight(3);
      noFill();
      rect(50, 100 i*step, 150, 50, 10);
      if (!flagOld[i])
      {
        flag[i] = !flag[i];
        flagOld[i] = true;
        int s;
        if (flag[i])
          s = i;
        else
          s = i n;
        myPort.write(str(s)); // Посылает символ 
      }
    } else {

      flagOld[i] = false;
    }

Изменение значения флага в таблице изменяет состояние кнопки и состояние, отображаемое под ней.

if (flag[i]) {
      fill(20, 160, 133); // Зеленый Цвет
      stroke(33);
      strokeWeight(1);
      rect(50, 100 i*step, 150, 50, 10);  
      fill(255);
      textSize(26);
      text(onButton, 60, 135 i*step);
      ledStatus[i] = "ВКЛ.";
    } else
    {
      fill(20, 160, 133); // Зеленый Цвет
      stroke(33);
      strokeWeight(1);
      rect(50, 100 i*step, 150, 50, 10);  
      fill(255, 255, 0);
      textSize(26);
      text(offButton, 60, 135 i*step);
      ledStatus[i] = "ВЫКЛ.";
    }

Наличие цикла позволит вам выводить определенное количество элементов управления.

for (int i=0; i< n; i  ) {
...
}

Версию программы выложу с подключением и без подключения к последовательному порту, чтобы была возможность проверить интерфейс программу.

Arduino hc-06 (подключение, управление реле) |

С помощью модуля HC-06 Bluetooth и платы Arduino смартфон можно использовать для управления различными исполнительными механизмами. В этой статье рассматривается управление тремя реле со смартфона.

Arduino и реле

Непосредственно к плате Arduino подключен Bluetooth-модуль HC-06, который управляет реле.

Модуль HC-06 Bluetooth подключается к плате Arduino Nano очень легко:

ArduinoHC-06
RXTXD
TXRXD
5VVCC
GNDGND

Модули H C-06 Bluetooth необходимо подключить к плате Arduino, загрузив скетч, который будет перехватывать команды с последовательного порта и управлять реле. Монитор порта позволяет просматривать сигналы, посылаемые в последовательный порт модулем HC-06 Bluetooth.

Arduino и реле

int val;
 
void setup(){ Serial.begin(9600);
pinMode(11, OUTPUT); 
pinMode(12, OUTPUT); 
pinMode(13, OUTPUT); 
}
 
void loop(){if(Serial.available()){
val = Serial.read();
if(val == '1'){digitalWrite(13, HIGH);}if(val == '0'){digitalWrite(13, LOW);}if(val == '3'){digitalWrite(12, HIGH);}if(val == '2'){digitalWrite(12, LOW);}if(val == '5'){digitalWrite(11, HIGH);}if(val == '4'){digitalWrite(11, LOW);}  
 
Serial.println(val-48);
}}

Для программирования Bluetooth-модуля HC-06 подключите его к плате Arduino, затем перейдите к настройкам Bluetooth на смартфоне:

  • Включите Bluetooth на телефоне и выполните поиск новых устройств
  • Найдите “HC-06″ в списке беспорядка и подключитесь к нему.
  • Телефон попросит вас ввести пин-код. Вы должны ввести “1234” или “0000”.

Эту процедуру нужно выполнить только один раз, после чего подключение будет происходить автоматически.

Далее установите приложение app-debug.apk

Нажмите кнопку для реле P1, и светодиод, расположенный на плате Arduino, будет активирован. Два других реле будут управляться выходами D11 и D12.

Форум — http://forum.radiocopter.ru/viewtopic.php?pid=585#p585

Arduino и реле

§

§

Регуляторы громкости, баланса и тембра на стереоприемниках имеют следующие характеристики:

  • Диапазон регулировки громкости (типичный) 75 дБ
  • Диапазон регулировки тембра на частоте 40 Гц 15/-15 дБ
  • Диапазон регулировки твитера на частоте 16 кГц 15/-15 дБ
  • Гармонический коэффициент, %, макс. 0, 06
  • Уровень шума (типичный), -80 дБ
  • Входное сопротивление, кОм, не менее 20
  • Выходное сопротивление, 20 кОм
  • Уровень межканального переходного затухания, 70 дБ
  • Потребляемый ток при 9… 16 В 10 мА

Другие особенности контроллера включают в себя регулировку громкости с компенсацией тона и режим “расширенного стерео”. Ниже приведено несколько примеров использования регулятора громкости с тональной компенсацией и режима “расширенного стерео”.

Для управляющих выводов 4,7,9,12,14 рекомендуется напряжение 12 В, а для входного напряжения – 0,3.0,5 В.

Arduino и реле

Беспроводное управление светом с 2 мест с помощью bluetooth и переключателя.

На моем сайте есть проект, в котором я объясняю, как можно управлять светом из трех мест с помощью: пульта дистанционного управления, радиопульта, выключателя. Этот элемент управления можно переделать. А вместо или в дополнение к пульту дистанционного управления можно подключить bluetooth-радиопульт.

Блютуз модуль и реле купить дешево – низкие цены, бесплатная доставка в интернет-магазине joom

§

Модуль bluetooth реле для умного дома и iot (4.25$)

🙂 arduino аля nano (контроллер, он же мозгг) 8266 (для вифи, для блюпопа НС-05-06) блок реле сколько душа пожелает remoteXY (аналог блинка, но лично мне проще и быстрее, хотя и платное и есть моменты) интернет (облако) и вы управляете своим домом как хотите и откуда хотите, хотите по блюпопу, хотите по эзернету, хотите в облаке.

Если говорить об умных домах, то мы предлагаем MAX6675 (TO-92, потому что датчик слишком широк для отверстия, и давно бы уже поставили DS18B20). Имеем MAX6675, длинный шланг и к-пару, к паре вопросов нет, потому что на тм-902с все нормально, с 6675 показания моросят с дикой силой (вода закипает при 102 градусах, термостатический датчик разбег до -1 градуса), при этом моросит сам 6675 (замыкает вход и удивляется разбегу), показания сильно меняются при прогреве 6675 (см. компенсацию холодного спая, но длинный шланг дико уродует). Температурный диапазон от 60 до 120 (85 до 100) с желаемой точностью -0. (1-5) градусов, стабильность

Пример исходного кода arduino управления реле по bluetooth.

Кроме того, вы можете изменить количество реле, которые управляются с помощью программы для ПК. Кроме того, скетч Arduino должен быть как можно более универсальным.

В качестве первого шага подключим библиотеку для создания программного Serial port. Далее укажем переменные, к которым мы будем подключать модуль Bluetooth.

#include <SoftwareSerial.h>
const int rx = 3;
const int tx = 4;
SoftwareSerial mySerial (rx, tx);

Также в скетче я предусмотрел настройки для изменения типа рел. Значение 1 – позволит управлять реле высокого уровня. Значение 0 – в свою очередь позволит управлять реле низкого уровня.

const bool level = 1; // 1 - реле высокого уровня 0 - реле низкого уровня
int relay_num = 4;     // количество реле 1-5
int sdvig_pin = 5;     // начальный пин подключения

Ниже приведены 2 переменные, определяющие, сколько реле будет подключено и с какого вывода будет производиться подключение. Таким образом, если мы начнем с контакта 5 и подключим 2 реле, реле должны быть подключены к контактам 5,6. Штырьки 5,6,7,8 будут использоваться для подключения четырех реле. И так далее.

Что нужно знать об основных настройках. Я не закончу программу. Если вы знаете, как программировать, вам не составит труда разобраться. Костыль также является частью программы. Напишите в комментариях, если у вас есть решение.

Схема подключения arduino nano, bluetooth модуля hc-06 и модуля с двумя реле.

Как видите, схема не сильно изменилась, и ею можно управлять с помощью компьютера и переключателей.

Приложение для компьютера с двумя кнопками управления будет выглядеть следующим образом.

Схема подключения модуля с четырьмя реле и bluetooth hc-06 к arduino.

Количество реле может быть от 1 до 5. Пример подключения модуля с четырьмя реле и Bluetooth HC-06 к Arduino показан на схеме ниже. Можно использовать различные реле и модули Bluetooth.

Шаг 1. код arduino

С помощью модуля Bluetooth HC-06 мы установим соединение с нашей программой Arduino Mega. Будут объявлены параметры совместимости для приложения “Ardudroid”,

Мы используем это приложение для управления различными нагрузками через реле, независимо от того, используют ли они 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;
}

Шаг 2. подключение схемы

На рисунке ниже показано, как подключить Arduino к модулю Bluetooth. Затем отключите порты TX и RX до загрузки программы, а после загрузки подключите их следующим образом – RX к TX Arduino, а после TX к RX Arduino.

Шаг 4. первый тест

Вы должны сами проверить функции приложения, используя простой светодиод и резистор.

Шаг 5. зарядка

Теперь мы подключим и будем управлять нашей лампочкой после того, как проверим, что приложение и устройство работают правильно. Мы будем управлять лампочкой, подключив ее к Arduino через реле, как показано на рисунке. Мы будем делать это через контакты 2-13.

Шаг 6. дополнительная информация

М ОС или транзисторы можно использовать для управления электричеством, если нагрузка постоянного тока.

Если вы хотите управлять питанием устройства, вы подключите сигнал к контактам 3, 5, 6, 9, 10 или 11.

В программе, которую мы сейчас используем, есть дополнение, которое показывает температуру с помощью Lm35. Чтобы приложение получило текущую температуру, необходимо нажать контакт 2, чтобы записать ее в порт A0.

Шаг 7. заключение

Мы надеемся, что у вас все получилось и ваш проект успешен. На нашем сайте скоро появятся новые руководства.

Желаю Вам удачи и новых изобретений.

Оцените статью
Радиокоптер.ру
Добавить комментарий