?

Log in

Cообщество любителей Arduino [entries|archive|friends|userinfo]
Cообщество любителей Arduino

[ website | Официальный сайт Arduino ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Запустить моторы! [Dec. 8th, 2016|04:36 pm]
Cообщество любителей Arduino

robnightingale
В первый раз пришлось что-то делать в ардуинском loop()'e и тут же вспомнились незабвенные Windows 3.1, где любая программа была по сути машиной конечных состояний. В виндах хотя бы можно было делегировать в вышестоящий message loop и потом ожидать события, а здесь и этого нельзя. А в остальном - прикольно. Попутно выяснилось, что скетч-язык (или как его там) поддерживает массивы с несколькими измерениями, что приятно. А вот то, что нет поддержки delay() или sleep() без stop the world эффекта очень удручает. Пришлось ваять свое. Больше всего меня удивило, что delay() вырубал даже моторы - т.е. вслючаешь мотор, подаешь напряжение. Видно как гусеница у робота дергается и упс! полный стоп. delay(), который сидел следующим оператором, отключтл все. Он что, собака, напряжение отключает?! Как это у него выходит?
Link1 comment|Leave a comment

Конфликт библиотек [Nov. 10th, 2016|06:39 pm]
Cообщество любителей Arduino

tararoev_dl
[Current Music |Deep Forest - Savana Dance | Powered by Last.fm]

Доброго времени суток!

Вот тут я интересовался ModBus RS485. В конце концов библиотека была найдена и даже рабочая.

Еще ранее я на просторах интернета уж не помню где нарыл библиотеку работы с DS18b20.

И вот наконец наступил долгожданный момент когда я в одном устройстве соединил DHT11, индикатор LED TM1637, LCD индикатор 1602 по i2c (2), часы 3231, DS18b20, ModBus+RS485.

И опа... через несколько часов танцев с бубном понял, что при включении в основном цикле обработчика DS18b20 работа ModBus затыкается навсегда. Хотя по отдельности работает и то и то.

Опыта отладки сторонних программ у меня мало, поэтому резонный вопрос - в какую сторону копать?
Link1 comment|Leave a comment

Новая, быстрая и универсальная библиотека LiquidCrystal_I2C [Sep. 4th, 2016|11:11 pm]
Cообщество любителей Arduino

elchupanibrei
[Tags|]

Ну что дружочки пирожочки. Я принес вам новую библиотеку для Hitachi HD4478U и PCF8574. Умеет все, но делает это бытрее. Полностью универальна - можно переназначать пины если у вас не стандартный шилд.

UDP: 14-SEP-2016 подправил пару багов и слегка уменьшил код. Советутю всем обновиться. За помощь в ловле ошибок спасибо oleg_707

Подробности тут.
Link2 comments|Leave a comment

Arduino +485 +modbus-rtu (slave) [Nov. 25th, 2015|03:47 pm]
Cообщество любителей Arduino

tararoev_dl
Доброго времени суток!
Разыскиваю библиотеку для Arduino для работы по протоколу ModBus-RTU по каналу 485.

Пример работы с 485, еще один

Пример работы modbus-rtu

Вроде вот тут то, что надо: biemmeitalia.net, но в этом примере не вижу (нормальной) инициализации пина на управления прием/передачей. :(

В далеком 2002ом программировал на ассемблере x51й кристалл с использованием 485+modbus подобного протокола. Мы тогда четко следили за временами переключения прием/передача. Сейчас я хотел бы получать от гирлянды цифровых датчиков температуры и сбрасывать их в "мониторинг" по modbus-rtu протоколу. Очень хочу найти готовую библиотеку с нормальным примером, что бы Ctrl-U и все работает :)

Может кто встречал?
Link5 comments|Leave a comment

Как правильно загнать Arduino в сон с пробуждением по watchdog таймеру. [Sep. 14th, 2015|09:23 pm]
Cообщество любителей Arduino

elchupanibrei
Понадобилось мне загнать Arduino (ATtiny85/ATmega168/Atmega328 и тд) в сон для уменьшения энергопотребления. В поиске полно примеров, но смущал один факт  - все они не похожи друг на друга. Анализ форумов показал, что не только мне стало интересно -  "почему у Васи так, а у Пети по другому?". К сожеление внятного ответа на форумах не оказалось.

Для тех кто хочет загнать
Arduino в сон без лишних циклов и инструкций прошу сюда.
Link1 comment|Leave a comment

Гидропоника онлайн [Jul. 8th, 2015|11:12 am]
Cообщество любителей Arduino

eky
[Tags|]

http://iconnect.sysadmins.help/

Сделал гидропонную установку на базе ардуино и iOmega iConnect в качестве вебсервера с видеокамерой.
Работа по таймеру с использованием часов рельного времени.
В плане добавить ручное управление насосом с веб-страницы
LinkLeave a comment

Датчик температуры и влажности HTU21D. Достойная замана DHT22 [Feb. 19th, 2015|12:14 am]
Cообщество любителей Arduino

elchupanibrei
Подключается по I2C и нормально работает с другими датчиками на шине, правда есть собенность, но о ней позже. В результате меньше цирка с проводами и освобождаются две ноги микроконтроллера. Главное - HTU21D намного быстрее, точнее(калибруют на фабрике), и всего на бакс дороже (поправили меня в коментариях) DHT22.

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

- чтение влажности
- расчет скомпенсированной влажности (выше точность в большем диапазоне температур)
- чтение температуры
-
изменение разрешающей способности (баловство. сенсор даже на максимальном разрешении меряет как спиди гонзалес)
- сброс (Увага! Сброс регистра нагревателя не происходит, он будет продолжать херачить)
- статус батареи (больше/меньше 2.25в)
- вкл./выкл. встроенного нагревателя 5mW (Я так понял используют на фабрике для калибровки. Мануал рекомендует трогать только для проверки работоспособности сенсора. Температура должна подняться на 1-2 градуса, а влажность упасть. Спасибо КО.)


Теперь немножко про особенность. Я уже собрался выкладывать либу как словил глюк - при записи в некоторые регистры, сенсор вешался и начинал молчать как партизан. Пол вечера ушло на поиск проблемы. Виноваты были MP085 и BH1705 сидевшие на тойже шине и пытавшиеся говорить одновременно с HTU21D. Перевод последнего в режим измерения - "Молчать гусары", решило проблему. В библиотеке тепрь этот по умолчанию. Остальные могут его менять на свой страх и риск, в либе это предусмотренно.

Как всегда забирать тут: https://github.com/enjoyneering/HTU21D
Link4 comments|Leave a comment

Библиотека для BH1750FVI Ambient Light Sensor [Jan. 22nd, 2015|06:35 pm]
Cообщество любителей Arduino

elchupanibrei
Приобрел себе BH1750FVI сенсор, для умного дома и просто поиграться. Ну там знать когда свет зажигать, световой поток фонарей мерять и тд.

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


- именение чувствительности
- изменение разрешающей способности
- режим энергосберегайки
- сброс

По умолчанию рабочий диапазон сенсора 1 - 65535 lx. Существует возможность мерять освещенность от 0.11 lx до 100000 lx, естесвенно с большой потерей в точности. Для этого надо увеличить или загрубить чувствительность сенсора. Минимальное значение которой  - 0.45, а максимальное - 3.68. Еще одну особенность которую надо не забывать - это время измерения. Чем выше разрешающая способность и чувствительнось тем дольше время измерения. На максимальных значениях оно может доходить до 450 милисекунд.

LinkLeave a comment

Баг в бутлоадере Arduino Mega 2560 R3 [Aug. 22nd, 2014|10:20 am]
Cообщество любителей Arduino

aterentiev
[Tags|]

Оригинал взят у aterentiev в Баг в бутлоадере Arduino Mega 2560 R3
Эта информация может быть интересна как тем, кто использует всю платформу Ардуино, так и тем, кто купил у китайцев и использует только саму плату с МК и "родным" бутлоадером. Ардуино Мега, как известно, имеет на борту бутлоадер STK500v2, что позволяет использовать для прошивки не только родной софт Ардуино, но и любой другой, поддерживающий этот протокол, а таких предостаточно.

Вчера прямо в процессе отладки софта через бутлоадер перестал шиться микроконтроллер. При этом компиляция была без проблем, программатор начинал шить и где-то ближе к концу внезапно прекращал мигать светодиодиками Rx/Tx, при этом avrdude на компе уходил в бесконечный цикл и выдавал что-то типа avrdude: stk500_2_ReceiveMessage(): timeout, зависая на многие минуты, так, что помогало только убить его процесс. Другие программы на тот же МК прошивались беспроблемно. Подобный баг я уже наблюдал пару месяцев назад, помогло немного изменить код программы, после чего я о нем забыл.

Исследования в verbose-mode показали, что в какой-то момент бутлоадер внезапно переходит в интерактивный режим и выдает в порт что-то типа командной строки и ждет:
bootloader>

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

У многих на форумах проблема возникала при определении текстовых констант всяких предупреждений с этими восклицательными знаками и лечилось удалением хотя бы одного из них или делением констант на части. У меня же три байта с кодом 0х21 просто случайно оказались рядом в бинарном коде (проверил, посмотрев HEX и сделав поиск по "212121").

К сожалению, практически все "девственные" платы Arduino Mega 2560 на рынке имеют этот баг, т.к. несмотря на то, что проблема известна с момента начала массовых поставок плат из Китая, поставляемые вместе с Ардуино бутлоадеры до сих пор (а это уже несколько лет, примерно со времен Ардуино 0019) не изменялись...

Очевидное решение - заменить бутлоадер. Для тех, кто это делает не каждый день: для этого, конечно, потребуется внешний программатор, но на сегодняшний момент это не проблема, так как наши китайские друзья наладили массовый выпуск usbasp-клонов за копейки. HEX без вышеупомянутого бага здесь:

https://code.google.com/p/arduino/issues/detail?id=459

Линк в конце страницы (нашел гуглением, проверил, работает), как прошивать HEX - находится в интернетах очень быстро.

Возможно, этот баг присутствует и в других реализациях STK500v2 для других чипов, не только для Ардуино, этот вопрос я не исследовал.

Link1 comment|Leave a comment

Серия статей про управление током и скоростью двигателя постоянного тока [May. 14th, 2014|01:19 pm]
Cообщество любителей Arduino

jusup0v
Писал для студентов, думаю и вам будет интересно.
Это опубликовано на кануне
Элементарные цифровые регуляторы

Метаморфозы адаптивного регулятора

Цифровая система управления током ДПТ. Часть 1.

Цифровая система управления током ДПТ . Часть 2.

И совсем новое:
Управление скоростью двигателя постоянного тока
LinkLeave a comment

navigation
[ viewing | most recent entries ]
[ go | earlier ]