Jump to content
SaintYGL

Лампа с беспроводным управлением на Arduino

Recommended Posts

Здравствуйте!

Данная тема посвящена разработке устройства, имеющего название "Лампа с беспроводным управлением на Arduino".

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

Концепция: устройство имеет Bluetooth-модуль, по которому соединяется с телефоном, посредством чего и осуществляется беспроводное управление. Также к Arduino подключено двухканальное реле, которое переключает ток, идущий к патронам, в которые вкручены лампы. По команде, переданной по bluetooth, реле переключается в одно из положений (обе выкл.  / 1 вкл, 2 выкл. / 1 выкл, 2 вкл. / обе вкл.)

Загвоздки: 1) В статье всё осуществляется с помощью отдельного микроконтроллера ATMega 328p, расположенного на макетной плате, в то время как Arduino используется лишь как программатор. Мне же необходимо, чтобы данное устройство работало не с отдельным микроконтроллером, а с самой Arduino. Кварцевый резонатор в ней есть, кнопка есть, диоды есть, bluetooth-модуль и реле докуплены.

2) Если копировать код из статьи (а точнее перепечатать его со скриншота) и вставить в Arduino IDE, то появятся следующие ошибки: 

Lamp: 5: error: a function-definition is not allowed here before '{' token

D: \ Saint \ \ \ \ \ \ \ "\ \ \ \ \ \ \ \ \ Lamp \ Lamp.ino: In function 'void loop ()':

Lamp: 16: error: 'incomingInt' was not declared in this scope

Lamp: 27: error: 'class HardwareSerial' has no member named 'printIn'

Lamp: 30: error: expected '}' at end of input

 

Сам код, чтобы его не нужно было также перепечатывать со скриншота:

#include <Wire.h> 
int incomingInt = 0 
void setup ( ) 
{ 
Serial.begin (9600) ; 
Serial.setTimeout (1000) ; 
pinMode (7, OUTPUT) ; 
pinMode (5, OUTPUT) ; 
} 
void loop ( ) 
{ 
if (Serial.available ( ) > 0) 
{ 
incomingInt = Serial.parseInt (); 
if (incomingInt = 500) 
{ 
digitalWrite (5, HIGH) ; 
} 
else digitalWrite (5, LOW) ; 
if (incomingInt == 422) 
{ 
digitalWrite (7, HIGH) ; 
} 
else digitalWrite (7, LOW) ; 
Serial.printIn(incomingInt) ; 
} 
} 

 

На данный момент это всё, по мере развития проекта тема будет мной дополняться. Также я буду рад любому совету, который поможет разобраться с этим устройством. Связаться со мной можно через ВКонтакте: vk.com/sainty_gl

Share this post


Link to post
Share on other sites
18 минут назад, SaintYGL сказал:

Лампа с беспроводным управлением на Arduino

18 минут назад, SaintYGL сказал:

устройство имеет Bluetooth-модул

Ардуйня там даром не нужна. Берем ESP8266, получаем Wi-Fi соединение. При желании подключаем к нему Bluetooth модуль, получаем Wi-Fi+Bluetooth (хотя синезубое управление нафиг никому не нужно). В итоге имеем гораздо более гибкую платформу по меньшей цене плюс на порядок меньшие габариты. А с ардуйней в качестве управления проект изначально мертворожденный.

Share this post


Link to post
Share on other sites
#include <Wire.h> 
int incomingInt = 0 
void setup ( ) 
{ 
	Serial.begin(9600) ; 
	Serial.setTimeout(1000) ; 
	pinMode(7, OUTPUT) ; 
	pinMode(5, OUTPUT) ; 
} 
void loop ( ) 
{ 
	if (Serial.available ( ) > 0) 
	{ 
		incomingInt = Serial.parseInt (); 
		if (incomingInt == 500) 
		{ 
			digitalWrite(5, HIGH); 
		} 
		else digitalWrite(5, LOW); 
	if (incomingInt == 422) 
	{ 
		digitalWrite(7, HIGH) ; 
	} 
	else digitalWrite (7, LOW) ; 
	Serial.println(incomingInt) ; 
	} 
} 

найдите пару отличий.

Share this post


Link to post
Share on other sites

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

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

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

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