admin

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

12 сообщений в этой теме

admin    2 321



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

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

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

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

Led Switcher.apk

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
admin    2 321

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
admin    2 321

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
MaxTms1    0

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
UTSource

Найдите миллионы труднодоступных

электронных компонентов

Evgenii85    0

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

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

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

Что делать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
DoctorRock    0

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
admin    2 321

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

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

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

Что делать?

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Lachin Gu    0

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Mixus    0

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
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;
   }
 }
}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Похожие публикации

    • Автор: Aven
      Находимся в поиске программиста на длительный проект.
      Что есть: плата на основе STM32F103 + SIM808 (используется GSM, GPS, Bluetooth) + GPIO
      Задача - заставить все это работать с сервером (сервер пишется).
      Подробности при личном общении.
      Желательно Ростов-на-Дону или Ростовская область.
      Связь через ЛС или почту Rough_ne(a)mail.ru.
       
    • Автор: Kudich
      Всех приветствую!
      Сам я программирую на стандартной среде ардуинки, и в одном проекте потребовалось увеличить частоту ШИМ на портах 5,6,9,10,11,13 Arduino Micro. На этой ардуино стоит Atmega32u4, есть тут знатоки avr? Как повысить частоту на этих пинах?
    • Автор: Kirillius Labutin
      Добрый день.
      Небольшая предыстория: имеется инвертор 12DC -> 220AC с функцией подзарядки АКБ, который обеспечивает питанием оборудование для видеонаблюдения в небольшом магазинчике. Иными словами это некоторое подобие ИБП.
      Планирую сделать модуль для мониторинга инвертора, чтобы удалённо знать о пропадании электропитания и отслеживать степень разряда АКБ.
      Лезть внутрь инвертора не хочу, поэтому наличие внешнего питания я решил определять по силе и направлению тока в кабеле между инвертором и АКБ. Если есть внешнее питание - идёт зарядка и ток, допустим -1,5 Ампер, либо 0 когда АКБ заряжен. Если же внешнее питание пропадает, то инвертор нагружает АКБ и получаем ток +30-35А.
      Вопрос касается измерения такой силы тока, наиболее простым и логичным решением мне показалось использование измерительного шунта и усиление напряжения на нём с помощью операционного усилителя. В интернете нашёл такую схему:
       
      У меня совершенно нет никакого опыта работы с ОУ и я с трудом представляю как они работают. Если я правильно понял, то данная схема на выходе даст либо положительное, либо отрицательное напряжение.
      Поэтому, прошу подсказать каким образом я могу модифицировать данную схему и какие номиналы R и Rш использовать (теоретически максимально возможный ток в цепи 75А), чтобы на выходе получить постоянное напряжение в диапазоне 0-5 Вольт, при этом сам микроконтроллер и ОУ питаются от той же цепи, где производится измерение.
      P.S. Высокая точность не важна. Важно только знать ток разрядки АКБ.
      В общем виде схема примерно такая:

    • Гость Keil
      Автор: Гость Keil
      Добрый день, ситуация такая - попались мне под руку куча рассыпухи в числе которых достаточное количетво тинек и прочей лабуды - пытась хеловродить, попробовал взять готовый пример работы тиньки и лсдишника здесь также имею ардуинку как  Айсипи и чудесно мигаю светодиодом на мк прошитом ею же  так вот при попытке залить код который по ссылке чуда не произошло.
      курение мануалов лсдишника дало понять лиш одно что старший и младший биты одинаковы с лсдишником со статьи - лсдишник рабочий (игрался контрастом одной строки через V0  и потенциометр ) - как в прочем и мк, было задумано ковырнуть все это в протеусе и атмельстудии, но результатом не увенчалось. Пожалуйста тыкните носом что да где не так.
      fail.zip
    • Гость Andrey-Docent
      Автор: Гость Andrey-Docent
      Всем привет! Планируется сделать на базе arduino устройство, ведущее обмен данными с переферийным устройством по интерфейсу rs-232 и также необходимо контролировать работу arduino с помощью компьютера тоже посредством интерфейса rs-232. Но у arduino только один такой порт. Первая мысль в связи с этим - сделать ещё один порт и вывести линии RX и TX на другие (например цифровые) ножки порта. Можно ли как-то это сделать? Нет ли готовых библиотек для этого (на данный момент не нашёл таковых в интернете)? Может есть ещё какой-нибудь обходной путь? Заранее спасибо.
  • Сообщения

    • Всем спасибо большое. А решение проблемы оказалось бональным. Через микроскоп увидел что часть напыления на матрице исчезло"как корова языком"     
    • Ребят, убедительная просьба-  я в ближнее зарубежье и в Украину не рассылаю, тут сразу-мимо.
    • путеводитель по журналу Радио (журнал Радио издаётся с 1924 года) http://www.radioway.ru/ в журнале Радио есть раздел Журнал "Радио". "Радио" - начинающим вот пример о том что такое транзистор http://www.radioway.ru/thema/_radio__-_nachinayushim/p/6/ занимательные эксперименты http://www.radioway.ru/thema/_radio__-_nachinayushim/p/11/
      радиоприём и детектирование http://www.radioway.ru/1988/05/radiopriem_i_detektirovanie.html
      радиотехнические расчёты http://www.radioway.ru/thema/_radio__-_nachinayushim/p/34/ азы обозначений радиодеталей. Условно-графическое обозначение (УГО) радиоэлементов в принципиальных электрических схемах http://www.radioway.ru/search/ года 1985 - 1986 и
      ещё в журнале за 1985 год с №1 смотри основы цифровой техники http://www.radioway.ru/year/1985/ а так же УГО с номера 5 http://www.radioway.ru/year/1985/05/ по номер 12
      сокращения и обозначения http://www.radioway.ru/1985/07/sokrashenija_i_uslovnye_oboznachenija.html В приложении книга "Современный тюнер своими руками" автор Б.Ю. Семёнов Читай журналы Радио в Интернете и в библиотеке. Ссылки на видео ютуб не даю. Сама найдёшь то что надо будет. Больше читай и практикуй на простых схемах. Все простые схемы для освоения азов есть в журнале Радио раздел для начинающих. Ну и здесь на форуме раздел Начинающим. http://forum.cxem.net/index.php?/forum/14-начинающим/ Удачи в освоении радиотехники и электроники. [B._YU._Semenov]_Sovremennuei_tyuner_svoimi_rukami(BookFi).djvu
    • И в чём, интересно, ожидается экономия при такой замене?
    • Пьеза новая бъёт 2См. Так что, 20000 вольт могут некоторые экземпляры дать. Сгорает не только мультиметр, а вообще любое устройство, которое имеет активные элементы. Даже если ты лампочку на 230В подключишь в сеть 230В(мощностью 100кВт например) и выключишь сразу, она не успеет мигнуть. Так как нужно пару десятков ватт мощности долговременно, что бы спираль лампочки раскалить до белого каления! А пьеза, она лишь только "пстрик" делает. Хотя, если лампочка на 230В будет мощностью 0.0001Вт, тогда она может даже перегореть. 20000 вольт всё же! Одна пьеза сможет 100 лампочек последовательно зажечь.
    • Еще одна коробка уехала в Уфу. Осталось совсем чуть-чуть.