Jump to content
admin

Управляем Нагрузками Через Android-Смартфон При Помощи Arduino

Recommended Posts



Простой проект для повторения: управление любыми нагрузками с Android-смартфона при помощи Arduino (или любым МК) через Bluetooth.

Приложение Led Switcher в Google Play

Что понадобится приобрести:
Arduino Nano (2$)
Bluetooth Serial модуль (3$)
Опционально Шилд реле (2$)

Подключение разных типов нагрузок к Arduino: arduinoBasicConnections.pdf

Led Switcher.apk

Share this post


Link to post
Share on other sites

Исходный код первого примера:

char incomingByte;	 // переменная для хранения входящих данных
int LED = 13;		 // LED подключен к 13 выводу (используем встроенный светодиод)
void setup() {
Serial.begin(9600); // инициализация порта на скорость 9600 бод для связи с Bluetooth-модулем
pinMode(LED, OUTPUT); // вывод LED настраиваем как выход
}
void loop() {
if (Serial.available() > 0) {	 // если пришли данные
incomingByte = Serial.read(); // считываем байт
if(incomingByte == '0')		 // если пришел символ "0",
 digitalWrite(LED, LOW);	 // то выключаем вывод "LED"
if(incomingByte == '1')		 // если пришел символ "1",
 digitalWrite(LED, HIGH);	 // то включаем вывод "LED"
}
}

LED_Switcher1.ino

Share this post


Link to post
Share on other sites

Скетч второго примера:

char incomingByte;		 // переменная для хранения входящих данных
int  load1 = 5;		    // нагрузка 1 подключена к 5 выводу
int  load2 = 6;		    // нагрузка 2 подключена к 6 выводу
void setup() {
 Serial.begin(9600);	  // инициализация порта на скорость 9600 бод для связи с Bluetooth-модулем
 pinMode(load1, OUTPUT);  // вывод load1 настраиваем как выход
 pinMode(load2, OUTPUT);  // вывод load2 настраиваем как выход
}
void loop() {
 if (Serial.available() > 0) {	  // если пришли данные
   incomingByte = Serial.read();    // считываем байт
   switch (incomingByte) {		  // перебираем входящие данные
   case '0':					    // если пришел "0" (задается в настройках Android-приложения)
  digitalWrite(load1, LOW);	  // то выключаем вывод "load1"
  break;
   case '1':					    // если пришел "1"
  digitalWrite(load1, HIGH);	 // то включаем вывод "load1"
  break;	 
   case 'B':					    // если пришел "B"
  digitalWrite(load2, LOW);	  // то выключаем вывод "load2"
  break;	 
   case 'A':					    // если пришел "A"
  digitalWrite(load2, HIGH);	 // то включаем вывод "load2"
  break;
   }
 }
}

LED_Switcher2.ino

Share this post


Link to post
Share on other sites

Вебинар «Решения Analog Devices для гальванической изоляции. Обзор технологий и новинок» (27.04.2021)

Компания «Компэл» и Analog Devices приглашают всех желающих 27/04/2021 принять участие в вебинаре, посвященном решениям Analog Devices для гальванической изоляции. В программе вебинара: технологии гальванической изоляции iCoupler, цифровые изоляторы, изолированное питание и технология isoPower, гальванически изолированные интерфейсы (RS-485, CAN, USB, I2C, LVDS) и другое.

Подробнее

Здравствуйте, вы говорили в видео, что с помощью ШИМ можно изобразить ползунки яркости, можете ли вы доработать приложение и выпустить видео об этом.

P.s Хотелось бы управлять одной нагрузкой с помощью ШИМ, то есть изменять яркость лампы на 12в, а вторую нагрузку просто включать(желательно в режиме кнопки).

Заранее большое спасибо!!!

Share this post


Link to post
Share on other sites

Пружинные клеммники Degson - высокое качество соединения по оптимальной цене!

Пружинные клеммные блоки Degson для монтажа на печатную плату – это простое и надежное соединение, которое позволяет легко решать задачи для различных приложений за счет обширного ассортимента. Клеммники Degson доступны в двух конструктивных исполнениях (торцевой контакт и зажимная клеть), имеют различные направления ввода проводника (45°, 90°, 180°) и обладают широким диапазоном поперечных сечений (0,2…2,5 мм2).

Подробнее

Новое семейство ИП от MEAN WELL мощностью 150, 300, 600 Вт с повышенной перегрузочной способностью

Компания MEAN WELL разработала семейство источников питания номинальной мощностью 150, 300 и 600 Вт с возможностью кратковременной безопасной работы при мощности в 2,5 раза выше номинальной (до 5 секунд). Данное семейство источников питания востребовано в промышленных установках с использованием электродвигателей или с емкостной нагрузкой. Применяя новые источники питания HRP/N можно получить экономический выигрыш.

Подробнее

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

Share this post


Link to post
Share on other sites

Здравствуйте.Не могу скинуть программу в мозг контроллера.

Пишет: Проблема загрузки в плату. Помощь по загрузке: http://www.arduino.c...hooting#upload.

Совет по COM1 не доступен

Что делать?

Отключить модуль Bluetooth (можно просто питание модуля), загрузить скетч, затем подключить питание модуля обратно

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
char incomingByte;     // переменная для хранения входящих данных
int  load1 = 5;       // нагрузка 1 подключена к 5 выводу
int  load2 = 6;       // нагрузка 2 подключена к 6 выводу
void setup() {
 Serial.begin(9600);    // инициализация порта на скорость 9600 бод для связи с Bluetooth-модулем
 pinMode(5, OUTPUT);  // вывод load1 настраиваем как выход
 digitalWrite(5, HIGH); // сначала реле выключено
 pinMode(6, OUTPUT);  // вывод load2 настраиваем как выход
 digitalWrite(6, HIGH); // сначала реле выключено
}
void loop() {
 if (Serial.available() > 0) {    // если пришли данные
   incomingByte = Serial.read();    // считываем байт
   switch (incomingByte) {      // перебираем входящие данные
   case '0':              // если пришел "0" (задается в настройках Android-приложения)
  digitalWrite(5, LOW);   // то выключаем вывод "load1"
  break;
   case '1':              // если пришел "1"
  digitalWrite(5, HIGH);   // то включаем вывод "load1"
  break;   
   case 'B':              // если пришел "B"
  digitalWrite(6, LOW);   // то выключаем вывод "load2"
  break;   
   case 'A':              // если пришел "A"
  digitalWrite(6, HIGH);   // то включаем вывод "load2"
  break;
   }
 }
}

 

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

  • Similar Content

    • By admin
      В видео поговорим об энергоэффективности микроконтроллеров. Сравним потребление в режима сна arduino, blue pill с STM32F103 и представителя новой линейки энергоэффективных микроконтроллеров от st — STM32L552.
      Подробную информацию об линейке L5 можно найти тут: https://www.compel.ru/lib/143383
      Пи тест часть 1: https://youtu.be/ozu1IUjH1_Q
      Пи тест часть 2: https://youtu.be/uLOWYE-JJpA
    • Guest Иван
      By Guest Иван
      Имеется магнитола Sony, модуль Bluetooth BT5.0 audio pro, с соединением звука и питания проблем не возникло. Припаялся к ауксу и питание с usb порта, все работает. На модуле есть 3 кнопки, нужно хотя бы одну, которой треки вперед щелкать. Схему модуля не нашел, схему панельки магнитолы прилагаю. Пробовал замыкать массу платы магнитолы на выход кнопки переключения треков блютуза, переключает. Но, как я понял, если подпаяться так, как на картинке (простите за такое похабное изображение) то треки будут переключаться любой кнопкой (которые в этой цепочке и висят на контакт key0) на панели магнитолы. От этого можно как-то уйти?
       
    • By Dj_Grander Z Play
      У меня есть ESP32Cam которая берет кадры (240*176пкс. QQVGA) и пересылает их серверу по UDP. С этой частью проекта проблем нет всё работает всё ОК. Но хочу прикрутить получение данных по UDP от того же сервера причем с достаточно приличной частотой. Кто пробовал работать с такими модулями, не подскажете не будет и помехой работа с камерой, работе с сервером по UDP-протоколу. У меня есть сомнения по поводу того не будет ли эспешка в момент взятия кадра зацикливаеся на этом и в этот момент не сможет принять сообщения от сервера и управлять периферией. Подскажите пожалуйста кто может т.к. работаю с этими камнями впервые. Заранее спасибо.
    • By Nikolay_R
      Добрый день! В данный момент прохожу производственную преддипломную практику (сам учусь в УРТК). Стоит задача соединить Lego EV3 и Raspberry PI по I2C интерфейсу. До этого, при работе с другими устройствами, у меня никогда не было проблем с I2C интерфейсом, но в данной связке "EV3-RPI" - начались ошибки. Перед описанием ошибок, уточню, что EV3 - Master, а Raspberry - Slave, т.к. EV3 умеет работать только в режиме Master.
      Первое, что бросается в глаза, это практически постоянная передача в эфир SLA пакета (адреса Slave-устройства). По-факту, именно с этого и должна начинаться передача, но в данном случае, её попросту не происходит. А, если быть точнее, то происходит она только каждый шестой раз.
      Следующая проблема заключается в том, что обмен данными не всегда происходит до конца. Даже если EV3 отправляет свой пакет (два байта), то ответ от Raspberry (он тоже два байта) приходит через-раз, а то и ещё реже.
      я также пробовал соединять EV3 с Arduino, Arduino с Raspberry, что бы найти причину, но там всё отлично работало и ошибок было ноль. Стабильный обмен двумя байтами, как и нужно.

      Очень нужна помощь в устранении данных ошибок!


      P.S: У EV3 используется нестандартный уровень лог. единицы (там он 4.3в) и обычные конверторы уровней уже не работают с ним. Поэтому, мне пришлось перепаивать его под другие номиналы подтягивающих резисторов, что бы всё заработало. В его работе нареканий нет.

      Ниже показаны осциллограммы работы I2C между различными устройствами, которые были задействованы.


    • By Павел Кочергин
      LG FFH 868AX.pdfЗдравствуйте. Достался мне на халяву муз.центор -лыжа ffh 868. Там даже не мп3 . Там сд ченьжер. Причем не рабочий. Ну думаю закажу на Алишке блютуз модуль и устанавлю сам. Насмотревшись ютюба, я своими "кривыми" ручками, (а по профессии я тракторист машинист широкого профиля) разобрал центр и начал искать 12в. Тыкнул мультиметром;один на корпус, другой в один из пинов шлейфа идущий на СД , щюп соскальзнул икоротнул ближайшей пин. Был щелчёк, похожий на челчёк реле. Центр потух. Не реагирует на вкл. Помогите плиз. Что могло выйте из строя , что звонить Схему ташол. Попытаюсь выложит место где коротнул

×
×
  • Create New...