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

Литиевые ХИТы Fanso: устойчивость к высоким температурам

Литиевые ХИТы для широкого круга применений, в том числе в промышленности, соответствуют требованиям современного рынка и способны работать в самых жестких условиях. Основные требования – это длительность хранения и работы, высокая удельная емкость, а также защита от воздействия таких внешних факторов, как температура и влажность. ЛХИТ превосходят по плотности энергии и нормальному напряжению другие элементы автономного питания: 2,9…3,6 В против 1,2…1,5 В

Читать статью...

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

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

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

Share this post


Link to post
Share on other sites

ОК. Сделаем. Правда нескоро, но сделаем

Share this post


Link to post
Share on other sites

Плавкие предохранители LittelFuse. Грамотный подбор

Выбор оптимального плавкого предохранителя требует учета многих параметров. Для упрощения выбора оптимального предохранителя и автоматизации расчетов Littelfuse предлагает онлайн-утилиту.

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

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

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

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

Что делать?

Share this post


Link to post
Share on other sites

Все получилось, не имея навыков программирования, для меня чайника очень приятное видео, если есть возможность подскажите как переделать скетч, чтобы при отправки команды 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 STmaster23
      Добрый день, дорогие читатели.

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

      Устройство может измерять температуру и влажность, имеет 2 независимых реле которые коммутируют сеть 220 В на две независимых розетки (розетка влажности и розетка температуры).
      В ручном режиме, с помощью кнопок устанавливаются пределы включения и отключения реле, установленные пределы записываются в энергонезависимую память ARDUINO, и при перезапуске устройства, выставленные вами настройки восстанавливаются.

      При попытке поисков в интернете готовых устройств такого рода, я натыкался на огромные цены, из-за этого меня посетила мысль сделать такое устройство на базе Arduino.

      В основе устройства - Arduino NANO. Коммутация производится с помощью 2-х модулей реле для Ардуино с опторазвязкой. Управление выполняется с помощью самодельной клавиатуры на 5 кнопок. Для отображения информации с датчика и настроек используется LCD дисплей 16х2, подключенный по шине I2C к Ардуино. В качестве датчика температуры и влажности применен модуль SHT-31D.
      Все модули были заказаны на Aliexpress, из-за чего стоимость устройства значительно уменьшилась, чем если бы эти модули покупались в местных магазинах.

      В корпус было решено делать из распределительной коробки для электропроводки, потому как материал из которого сделана коробка, хорошо поддается проделывания всяческих отверстий с помощью подручных средств. Внутри я смонтировал две розетки, для подключения устройств, которые будет воздействовать на температуру и влажность т.е. холодильник и вентилятор. Дополнительно в корпусе были установлены двойной выключатель 220 В для отключения питания розеток. И выключатель блока питания на 5 В, для питания Ардуино и всех его модулей.

      И уже после окончательной сборки были ещё добавлены две индикаторные лампы на 220 В, для визуализации наличия напряжения в розетках.

      Основная часть времени создания устройства с нуля была потрачена на ожидание посылок из Китая и написание прошивки для Ардуино. В целом на создание ушло несколько месяцев. Несколько месяцев интернет серфинга в поисках информации по написанию скетчей для ардуино, пока ехали посылки, но и после этого штук 15 версий различных вариантов скетча и подбор наиболее подходящего.

      Датчик сделан выносной на проводе от какого то USB устройства, потому что датчик подключается по шине I2C, соответственно USB шнур с 4-мя провода пришелся как никогда кстати.

      Вот так выглядит устройство, уже в готовом виде...


    • By _qwerty
      Добрый день. Продам
      отладочные платы для STM32
      Отладочная плата на базе MCU STM32F429ZIT6 (ARM Cortex-M4) - 2600 р. В наличии 2 шт. Отладочная плата на базе MCU STM32F407VGT6 (ARM Cortex-M4) - 1600 р. В наличии 2 шт. Отладочная плата на базе MCU STM32F303VCT6 (ARM Cortex-M4) - 1200 р. В наличии 2 шт. Отладочная плата на базе MCU STM32F103RBT6 (ARM Cortex-M3) - 1000 р. В наличии 2 шт. образовательный набор Амперка Tetra для обучения детей прикладному программированию на основе визуального языка Scratch - 4500 р. В наличии 2 шт.
      электронный конструктор БХВ-Петербург Дерзай 36608 Стартовый набор Arduino - 1500 р. В наличии 2 шт.
      Все новое, не использовалось, возможна отправка почтой по России


















    • 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 трансивер. Может кто-то имеет опыт в разработках сетевого оборудования, подскажет литературу по этой тематике или даст мудрый совет, а может посоветует другие чипы? Буду искренне благодарен! 
  • Сообщения

    • Напиши цифры как делал 50*3,14=157    Радиус 50 умножаем на 3,14 157/4=39,25    Преобразовываем в прямоугольник
    • Ну, я прожил 54 года и , надеюсь, поживу ещё немного. А когда придёт время, мне бы хотелось закончить свой путь в тени бесполезного дерева, а не под полезной опорой ЛЭП.
    • Жучиле невдомёк, что такого деятеля как он, в данный "телецентр" никто не пустит-в лучшем случае. А в худшем-лично вытурю ссаной тряпкой и кастрирую в ближайших кустах. То есть девайсы с выходной мощностью в киловатт и более не имеют права называться высококачественными априори? Ню-ню. Расскажи это в офисе QSC или Crest Audio. Вылетишь оттуда на сверхзвуковой скорости через волшебный пендаль от инженеров. Да-да. Один твой Уникум чего стоит. Уникально генерил 100Мгц, а аффтар даже ухом не повёл. Пока носом не ткнули. 
    • С перекосом разобрался, впаивал все проверял же, а все равно ошибся с номиналом R53, причем конкретно так ошибся. На выходе ноль, потребление по плечам 250 ма. Дома теперь прогрею выставлю ток УНА и выхода, заодно посмотрю осциллографом что там творится. 
    • Нормальную схему выложите, и фото печатной платы в хорошем качестве, для начала. Гадалок тут нет.
    • Если недостаточно частот, то однозначно - темброблок. Если чувствительности хватает, то на вход достаточно будет подобного, собрать можно прямо на выводах регуляторов тембра:         Если не хватает чувствительности, то активный - с транзистором. Например как в "Ритм - 202", или "Аэлита-102". Только делать надо 2-х канальный. Просто добавляется транзистор на выход темброблока. Но это вряд-ли понадобится.    
    • Тебе зачем это?вернее для каких целей?
×
×
  • Create New...