Pull to refresh

Comments 99

Огромное спасибо автору. Надеюсь увидеть еще топиков на подобную тематику.
А вы не подскажите светимость данного светодиода, на сайте не смог найти, только энергопотребление. Мне интересно посчитать сколько примерно нужно таких светодиодов, что бы сделать полноценное освещение в комнате и насколько это будет дорого.
Даже не знаю как посчитать, оригинального для сравнения не имею. Для лампы — достаточно ярко, напрямую — слепит.
Случайно отправилось раньше времени.
Тут предлагают готовую лампу, мощностью как и светодиод 3Вт. Я почти уверен, что на нем она и сделана. Написано, что 110 люменов дает. На правду похоже. У меня дома 3 таких лампы (только не спота, а с расссеивателями) едва освещают небольшую комнатку (метров 6-7 квадратных). Поэтому могу предположить, что для создания полноценного освещения, надо от 1 до 2 таких сетодиодов на квадратный метр площади.
Да, это почти совпало с моим гаданием на кофейной гуще, у меня получилось 3-4 на квадрат.
Подумайте на тему светодиодных лент. Проще монтировать и выглядят эстетичнее.
1Вт светодиода примерно равен 1Вт люминесцентной лампы (где-то больше, где-то меньше).
Комнату нормально осветить — надо 100Вт.
Тут в 100$ не уложиться…
Красиво, сам помнится неделю развлекался с RGB светодиодом. Завораживает.
Очень круто, мечтаю сам такое сделать. Уважаю!
UFO just landed and posted this here
Пожалуйста, выложите фотки работающего гаджета!
Видео добавил. Снимать такое не умею, да и не чем, так что какое получилось.
Как не снимешь, вживую оно куда лучше смотрится.
Спасибо!
по мне, так вышел бы отличный бэклайт для пола
В ближайших планах сделать девайс и софт для управления N rgb-светодиодами. Надо только на практике посмотреть сколько каналов выдержит один МК.
А уж куда расставить светодиоды — придумать потом можно.

UFO just landed and posted this here
Выдержит не по питанию, а по расчетам. Я еще не настолько хорошо знаю МК, что бы с уверенностью сказать на сколько каналов хватит процессорного времени.
Выводить планирую через сдвиговый регистр+транзисторы дарлингтона, так что с питанием там все просто.
вполне себе видео получилось, не прибедняйтесь ;)
хороший такой ночничок получился.
Красота! Без видео статья казалась не полной.
Видео хватит? Или обязательно фото?
Вас что интересует? В данном проекте я использовал самый простой вариант — CDC. Лампа видится в системе как обычное COM-устройство.
Используемая мною библиотека, найденная на просторах интерната (Delphi): narod.ru/disk/21637241000/ComPort.rar.html

Интернета, конечно же =)
Не совсем в тему. Насколько трудоемко (в сравнении с этим замечательным девайсом) сделать USB-термометр? Задачи: перодическое считывание температуры и запись куда-нибудь (например, в текстовый файл) в автоматическом режиме.
Легче раз… Во много.

Пример работы с датчиком температуры предоставлен самим микрочипом. Достаточно подредактировать исходники софта, дабы они сохраняли данные, а не выводили на график.
www.gamma.spb.ru/articles.php?i=29
Где-то встречал даже более практичный урок без мусора, с одним датчиком.

Да и самостоятельно сделать все не сложно, если захотеть. Если разбить задачу на элементы, то необходимо:
-установить таймер на нужный интервал
-подключить датчик температуры
-снимать показания датчика по таймеру
-сразу отправлять результат на комп
-на компе принимать данные и записывать в файл.
Разобраться в каждом пункте — и будет готовый девайс.
Спасибо! Надеюсь, это окажется действительно легче :-)
UFO just landed and posted this here
Спасибо! Надеюсь, смогу найти понятные примеры использования этих технологий :-)
UFO just landed and posted this here
Спасибо! Если результат будет не стыдно показать, напишу :-).
SDcard + Microchip Memory Disk Drive File System Library на любом пике с spi :)
UFO just landed and posted this here
Для этого подходят отладочные платы.

Если сделать такую на пике один раз, на ней можно будет разрабатывать как и на ардуино.
Готовые схемы тоже есть.
Повторить в домашних условиях Jaluino куда проще, чем Arduino, а использовать готовые платы — не спортивно =)
UFO just landed and posted this here
>безусловно паять самому было бы спортивнее, но это несправедливо для того же ethernet shield, т.к. плату для него ЛУТ-ом не изготовишь…

Изготовишь. У меня плата с TMS320VC5509APGE на 144 ноги (сигнальный процессор 200МГц) + CS8900A на 100 ног (сетевуха) сделана методом лазерного утюга.
В итоге имею очень удобную макетку с USB и ETHERNET.
Почему это лутом не изготовишь? Запросто, чуть сложней чем обычную, но не более того. Там же не BGA корпус.
UFO just landed and posted this here
Думаю там вручную можно и по двум развести.
Спасибо! Отличная статья… достаточно подробная но не занудная… можно сказать почти готовый урок для студентов соотв. ВУЗа… а то как вы выразились
Изучать работу микроконтроллеров я решил на практике: делать что-то реальное куда интереснее, чем гонять десяток светодиодов в симуляторе.

действительно многим студентам не интересно покорять симулятор без возможности в последствии пощупать готовую железку
отлично, две таких лампы из икеи я уже имею со времён предыдущей статьи. надеюсь мне хватит мотивации собрать свою лампу настроения.
У Atmel тоже есть мк с «железным» usb, например AT90USBXX правда только в TQFP. Но он отлично паяется, даже простым советским паяльником:) Ну или популярная софтварная реализация V-USB, тогда мк можно в три-четыре раза дешевле брать.
Может глупый вопрос. В чем существенная разница между программной эмуляцией USB и аппаратной поддержкой? Правильно ли я понимаю, что проблема только в том, что в случае с программной эмуляцией, под это будет тратится часть памяти микроконтроллера?
Точно, памяти надо много (в масштабах МК) и еще USB это быстрая шина, следовательно нужна хорошая скорость реакции программы, иначе устройство будет попросту отваливаться и вы будете видеть «Устройство USB неопознанно», а кроме того масса процессорного времени (тактов ядра) уходит на обработку всех этих сложных транзакций USB, и на выполнение кода приложения остается меньше…

Поэтому там где МК нагружен выполнением своих задач — хорошее решение не экономить и использовать аппаратный, а там где МК только «лампочками мигает», вполне сойдет и программный. :D
Справедливости ради надо заметить, что програмных реализаций существует не одна (на примере AVR) и в целом со своими задачами они отлично справляются!
Ну там не все так просто. Там надо постоянно дергать usbpoll() чуть затупил — девайс отпал. Так что для загруженных проектов не покатит.
Софтовая эмуляция — до 10-50 кб/сек.
Железная — до 700Кб.
в pic18 предел — full speed 12Mbps, это теоретический, обычно упирается в производительность вашего firmware.

Из всего, что я видел вживую на пиках — предел был 8мбпс
p.p.s.: если опрашивать, например, внешний ADC, то фирмваре съедает очень много тактов и скорость падает до 1мбпс, что примерно равно результатам AT90XXX
Ну, как вижу, вам проще взять usb-порт компа, заменить D+ и D- на Tx и Rx от com и использовать его для «usb» соединения при помощи простого max232. =)
Почему же вы не используете V-USB, раз это так просто? UART првычнее?

Ну это так, шутя =) В вашем проекте это выглядит довольно-таки удачным и хитрым ходом.
Не спорю, что припаять можно все, но это не самый простой вариант, правда?
V-USB тоже хорош для простых задач, но это не значит что он годится всегда.

А по ценам… Не знаю с чем лучше сравнивать. К примеру, mega8 для меня стоит 90руб.
18f14k50 стоит ровно столько же.
>Не спорю, что припаять можно все, но это не самый простой вариант, правда?
Я хоть электроникой толко как хобби занимаюсь, но вот склоняюсь к smd, притом, что паяльной станции у меня нет и паяю все советским паяльником. Для SOIC и TQFP платы ЛУТом с первого раза получаются, паяется чуть ли не проще чем DIP. И дырок сверлить не надо:) Сложно было только для LQFP сделать плату, ну там дорожка/просвет по 0.2мм. Основной плюс DIP'а, что можно на макетке спаять, но макетки это уж сильно муторно, в разы проще ЛУТ освоить.

>К примеру, mega8 для меня стоит 90руб. 18f14k50 стоит ровно столько же.
Везет вам, у нас mega8 за сотню, а экзотики типа 18f вобще нету.
Когда еще не пробовал — кажется что dip проще. Уже есть желание перебраться на smd. Но не выкидывать же все накупленное =)
Пока последним плюсом dip остается возможность использования кроваток для МК. Можно легко переставлять их с платы на плату.
Супер! Надеюсь вы продолжите выкладывать статьи о своем дальнейшем освоении микроконтроллеров.
Спасибо за статью! Тоже являюсь приверженцем контроллеров PIC ;)

P.S.: вместо керамического резонатора рекомендую использовать кварц, т.к. довольно часто итоговое устройство не работает с usb-хабами из-за отклонения частоты.
Керамический был выбран по двум причинам: это проще, и он вполне рабочий.
Да, можно поставить кварц, но придется добавить пару конденсаторов.

А что там с отклонениями? Ничего такого не замечал.
Я недавно собирал 10 экземпляров одного устройства на 18f2550 с керамикой, одно из них вообще не работало, 3 работали с перебоями, если их втыкать в дешёвый китайский хаб.

После замены керамики на кварцы все 10 заработали даже в самых ужасных условиях.
Спасибо за совет, при переходе на смд можно будет и кварц взять.

Тем не менее, керамика тоже способна выполнять свою задачу.
Не много наивный вопрос: А зачем?
PIC изучить? Применения ему в быту не так много, а на предприятии учиться лучше сразу под выпускаемую продукцию.
А для себя светильник под управлением компа можно сделать через LPT, поиграться пару месяцев и забыть.
Было две цели: изучить что такое МК и сделать что-то своими руками.

Почему pic? А почему нет?
И почему в быту ему меньше применений? Он, вроде умеет ровно тоже самое, что и avr.

Ну, а если почитать статью, то можно заметить что тут не просто управление тремя светодиодами с компьютера. Лампа вполне работоспособна и без пк.
Мне кажется, что PIC и AVR пора бы уже похоронить или оставить только для узкоспециализированных задач, а больше внимания уделять ARM.
На нем, к примеру можно было сделать фоторамку настроения, да ещё снабдить модулем изменения изображения в зависимости от частоты и интенсивности шума в помещении. Но сил на это, разумеется, понадобиться на порядок больше.
С ARM еще не знакомился, потому не знаю что там и как. Для самостоятельного изучения на примерах — недостаточно много информации в сети. А серьезно изучать пока не вижу смысла.

Фоторамка… тут больше сложность сделать хорошую фоторамку, что б не стыдно было поставить на стол, нежели оживить ее.
Ну, пока армов по 1$ нет.
А всякие Cortex M0 — с их микроскопическим объемом памяти и бОльшим энергопотреблением — все равно компромисс.
UFO just landed and posted this here
Что в вашем понимании «с управлением через USB напрямую»?
Лампа накаливания не умеет общаться по протоколу USB, как и тиристор. Тут может подойти управление через LPT.

Ну, а если все же использовать МК, то достаточно тиристор подсоединить к МК и сделать диммер.
С передачей команды все как и здесь будет, это везде одинаково независимо от того, что с полученными данными будет делать МК.
UFO just landed and posted this here
Так чем сервомоторчики отличаются от светодиодов? Что скажешь делать микроконтролеру при получении команды — то и будет делать. Светодиод воткнешь — будет моргать. Серво — двигаться. Реле — включать лампу.

Команда отправляется с ПК по событию.
В текущей программе у меня так заготовка для уведомлений работает.

Остается только отлавливать события и отправлять определенную команду, вот это реализовать пока времени нет.
UFO just landed and posted this here
Да, именно так. Но при подключении рабочего устройства к пк при помощи софта можно менять настройки, отправлять команды таймеру, сообщения о уведомлениях, а так же напрямую управлять цветом.
Круто! =) И программа симпатичная вышла.

Единственно, касательно юзабилити, было бы намного удобнее применить ползунки для насыщенности, яркости…
Программа писалась лишь бы работала, о удобстве задумывался мало.
Да. ползунки не помешали бы… но куда их 6 штук разместить?
Выглядит завораживающе, но всё же, почему именно PIC? AVR много дешевле, проще(не только в программировании), но и вообще он какой-то… Более народный что ли.
Много дешевле 90 руб (ну ладно, в данном проекте использован старший МК за 200р, но хватило бы и pic18f14k50)?
Я же не массовое производство устраиваю, что бы экономить каждую копейку?

А в чем простота авр… пока мне не понятно. Тут итак достаточно просто все.

Почему именно пик? Так в статье же написано:
просто режил начать с МК в DIP корпусе и аппаратным USB. У Atmel таких нет.
Нечего тут спорить, это делается и на AVR, и на PIC, и на ARM.
Кому что удобнее — то и нужно использовать, цена чипа при еденичном производстве меркнет по сравнению с ценой вашего времени.
Снимаю шляпу!
Очень приятно что остались еще люди, которые могут решать подобные задачи своими силами.
Круто!
А он работает автономно, или все-таки нужно управлять с компьютера изменением цвета?
Да, он может рабтать автономно, нужно только питание через miniUSB (5в, желательно 1А+).
В автономном режиме доступны 5 различных программ, которые переключаются нажатием кнопки. Так же можно переключать программы на альтернативный режим зажатием кнопки. Так что суммарно получается 7 различных программ и 3 фиксированных цвета (+ выключенное состояние).
С компьютера можно изменять параметры каждой программы с сохранением в энергонезависимую память, потому после переноса лампы подальше от пк она будет светить так, как ее настроили.

Радиопередачи нет, потому устанавливать таймер обратного отсчета, отправлять увдомления, и контролировать цвет напрямую в автономном режме не получится.
Спасибо, добавил в избранное!
С пиками работать умею уже хорошо, валяются у меня тут 2 штуки 18ф4550, вот на их основе и делаю девайсы! А лампу настроения хотел давно уже сделать, осталась проблема найти подходящий фонарь и светодиод найти.
К автору — очень хотелось бы увидеть в отдельной статье пример реализации usb интерфейса в микроконтроллере (аппаратный/программный) и соответственно написание управляющего ПО для ПК.
То есть простой подробный пример прошивки+софта для передачи данных по usb в обе стороны?
а просто FT232R использовать никак?
А в чем разница между примером для pic usb и ft232?

Немного изменится инициализация. Ну и отправлять байты нужно будет не на serial_hw_data, а на usb_serial_data.
Со стороны компьютера разницы не будет никакой (если использовать режим CDC).

Вот только ft232 стоит дополнительные 200р и идет в SO корпусе, что достаточно мелко для первых шагов.
Если так надо — разберу данную задачу подробно. На деле там ничего сложного: подключение нужной библиотеки с каждой стороны и пара строчек кода для отправки и приема данных.
Очень хорошо написано, но синтаксис языка программирования меня смутил. И не в тему пинание Ардуино.
Да, нечто паскалеподобное… Уровень школьной программы, где-то (или там сейчас только ворд и ексель проходят?).
Здесь достаточно информации для привыкания.
Но никто не заставляет использовать именно этот компилятор, есть куда более профессиональные Сшные.

А насчет ардуино: я просто говорю, чо есть альтернатива. Потратив минимум усилий можно сделать себе аналогичное устройство за куда меньшие деньги. Лично я не вижу в ардуино ни одного плюса, кроме заводской сборки.
Кому-то может лень делать плату самому — пусть сидят на полуфабрикате. Некоторым, может, и симулятора хватит.

В нашей глуши пики с УСБ по 10 баксов стоят. Атмелы раз в пять дешевле.
Большое большое, просто ОГРОМНОЕ спасибо Вам, Алексей!
Возможно ли использовать эту схему с 12-вольтовыми светодиодами (светодиодная лента)? Что нужно переделать?
А если нет — какие есть аналоги этой схемы для 12-вольтовых диодов?
С небольшими изменениями — можно.
Если лента обычная (один плюс и три минуса), то достаточно подать на ленту 12в, желательно заменить транзисторы на N-канальные мосфеты.
При использовании двух источников питания следует объеденить земли. При питании только от 12в — поставить стабилизатор на 5в для питания микроконтроллера.

Если лента китайская (три плюса и один минус) — схему придется немного усложнить, и на словах это объяснить будет сложнее.
Еще вопрос: какие транзисторы Вы использовали в данной версии лампы и какие подойдут для 12 вольт?
Sign up to leave a comment.

Articles