admin

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

12 posts in this topic

admin    2347



Простой проект для повторения: управление любыми нагрузками с 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
admin    2347

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

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
admin    2347

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

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

Опорное решение: компоненты для защиты RS-485

Компания Bourns анонсировала новую (4-ю) версию демонстрационной платы для тестирования защиты низковольтных слаботочных цепей от токовых перегрузок и импульсных перенапряжений, в частности, для защиты интерфейса RS-485. Мы собрали для вас всю самую интересную информацию по данной теме на одной странице.

Подробнее...

MaxTms1    0

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

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

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

Share this post


Link to post
Share on other sites

Видео вебинара «Уникальный подход MORNSUN к разработке DC/DC-преобразователей. Что на выходе?»

На сайте КОМПЭЛ доступны материалы вебинара, посвященные последнему поколению DC/DC преобразователей с фиксированным входом R3 от MORNSUN. Вы можете посмотреть видеозапись, ознакомиться с презентацией и ответами на вопросы.

Подробнее...

DoctorRock    0

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

Share this post


Link to post
Share on other sites
admin    2347

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

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

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

Что делать?

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

Share this post


Link to post
Share on other sites
Lachin Gu    0

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

Share this post


Link to post
Share on other sites
Mixus    0

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

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

Your content will need to be approved by a moderator

Guest
You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoticons maximum 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 Aven
      Продам остатки от разработки, в наличии 4 штуки.
      Описание:
      Контроллер - Atmega328 с загрузчиком Ардуино Нано
      USB порт в преобразователем CH340 для работы с контроллером + Jack 2.5 UART
      4 тактовые кнопки
      2 разъема для подключения аккумулятора
      2 разъема Vcc+GPIO+GND
      5-контактный разъем для шагового двигателя
      Контроллер заряда АКБ (сигнальные линии заведены на контроллер)
      Делитель для измерения заряда АКБ.
      Дисплей 0,96/1,3 дюйма, OLED
      Цена:
      С дисплеем 0,96 - 1000руб
      С дисплеем 1,3 - 1200руб.
      Отправка за ваш счет.

       
    • By Aven
      Разработка устройств на базе Ардуино любой сложности, написание прошивки, проектирование печатной платы, производство прототипов.
      Быстро и качественно разработаю ардуиноподобные устройства под ваши требования, возможна сборка макета или разработка полноценной печатной платы под ваши требования.
      Быстро и качественно, за адекватную цену.
      КОнтакты: ЛС или Rough_ne@mail.ru
      Примеры:
      SDR приемник для анализа сетевых наводок на связке Ардуино+Raspberry.

       
      Часы на ГРИ.  Разработка полностью с нуля, до того как в сети появилось что-то подобное.
      Bluetooth, RGB подсветка, игры, календарь, будильник:) Проектировал на подарок.


       
      Оружейный хронограф для пневматики. Инициативная работа, может когда-нибудь начну продавать:)
      OLED дисплей, контроль заряда, несколько режимов работы.


       
      Кормушка для животных с Wi-Fi.

       
      И много чего еще:
       

    • By StilFer
      Доброго времени суток! Столкнулся с задачей передачи данных через оптоволокно, пробовал использовать такую связку Arduino (ATSAMD21G18) -> Ethernet модуль на W5500 -> Медиаконвертер(на IC IP101GR). Все работает, но теперь хочу сделать все по-человечески, развести на одной плате и на выходе под оптику поставить либо SFP трансивер, либо 1x9. Понятно что на прямую SFP или 1x9 трансивер к ардуине не подключить, надо использовать, так сказать, посредника, стал курить даташиты на W5500 и на IC IP101GR, но возникла сложность с поиском литературы про связь интерфейсов MII/RMII с контроллером, связь с SFP либо с 1x9 модулем. Не до конца понял, но показалось что можно к W5500 вместо RJ45 коннектора подключить напрямую 1x9 трансивер. Может кто-то имеет опыт в разработках сетевого оборудования, подскажет литературу по этой тематике или даст мудрый совет, а может посоветует другие чипы? Буду искренне благодарен! 
    • By Ant1500
      Подскажите, пожалуйста, можно ли подключить показанную антенну к данному модулю для увеличения дальности связи?
      Каким образом следует припаять коаксиал к модулю? Можно ли сделать индуктивную связь (без пайки)?
      Модуль и антенна с Aliexpress . Работа модуля проверена. Работает хорошо на дистанции до 5-7 м. Хотелось большего.
    • By Alexandr Petrenko
      Нужна помощь, так случилось, что я никак не связан с радиотехникой и т.д, но мне нужно сделать перчатку (тема дипломной работы) по видео AlexGyver, которая по сути и есть стробоскопом на базе Arduino nano. И я её кое-как спаял и конечно же она не работает, причины искать нет смысла, потому что может быть всё что угодно. Подскажите мне как можно упростить это устройство чтобы я его смог сделать, что-то проще, желательно схему иначе я не справлюсь.
      Вот то видео:
      https://www.youtube.com/watch?v=rLpn_4ERJXQ