PDA

Просмотр полной версии : Кружок ARDUINOистов


DVR
30.09.2016, 08:41
Го, я создал.

DVR
30.09.2016, 08:45
Есть задача - обучать ребят пользованию этой платформы. Но не знаю с чего оптимально начинать.
Купить готовые наборы и по инструкции изучать базовые вещи. Или собрать свой набор с определенными датчиками. Кто в теме, расскажите что лучше.

ElectricMobile
30.09.2016, 18:39
На алі набір 100500в1 за 25-30 баксів (https://www.aliexpress.com/item/UNO-R3-KIT-Upgraded-version-of-the-Starter-Kit-the-RFID-learn-Suite-LCD-1602-for/32590994497.html) достатньо для старту...

Kino
30.09.2016, 20:34
Лично моя рекомендация - купить к плате программатор и писать на avrstudio, iar, cvavr. Начать на той-же студии с ассемблера, пару месяцев, изучить систему команд, как устроен стек, обращение к памяти через регистры x,y,z. Когда это понимаешь, то тогда легче отлаживать программы написанные на Си.

А если честно, то нынешнему поколению надо уже начинать с малинки (это если миниПК) или с армов. СТМ сразу в жопу. Есть LPC и MKL.

Yurasvs
30.09.2016, 22:30
А чем STM32 не ARM? И вообще, какая разница, какой камень, если программишь на Си? Сушить мозги ассемблером в эпоху тактовых частот десятки-сотни мегагерц и объемов флеши десятки килобайт нет никакого смысла, только охоту у новичков отбивать. Критичные к скорости участки кода надо стараться делать аппаратными возможностями камня, а если таковых нет, брать другой камень. Просто начинающий должен определиться, что ему ближе, какая область. Может он хочет делать приложения для ведроидов, тогда ему Ява нужна, а может управлять какими-то механизмами или процессами в реалтайме, тогда уж микроконтроллер или ардуина на его основе.

DVR
30.09.2016, 22:40
Ну как бы да, надо полегче. Открываем скоро социальный проект - центр развития молодежи. Купим немного инструмента и дети/подростки будут самостоятельно учиться. Я пока не понимаю кто к нам будет ходить и с каким уровнем знаний. Отсюда и вопросы, использовать стартовый набор или собирать кастомный для робота или РУ машины.

Kino
30.09.2016, 22:49
А чем STM32 не ARM?

А где я написал что STM32 не ARM? Я написал ну его "в жопу". И ваще, я если честно за посление десять лет устал от этого говна - тот проц арм, тот проц не арм... повторяю в последний раз, АРМ это не проц, это не производство, это фирма из теоретиков-математиков, которая разрабатывает ядро на бумаге и продает его фирмам, производящим чипы. Усекаете? На фирме АРМ нет ни одного паяльника. Так вот, купив это ядро и связав со своей переферией - у СТМ получлось хуже всего. Там половина переферии не работает как надо.


И вообще, какая разница, какой камень, если программишь на Си? Сушить мозги ассемблером в эпоху тактовых частот десятки-сотни мегагерц и объемов флеши десятки килобайт нет никакого смысла, только охоту у новичков отбивать.


Это ты говоришь когда знаешь как оно работает. Так вот начав с Си, никода не узнаешь. Но если для 86 и Винды это побоку, то для мк это критично.


Может он хочет делать приложения для ведроидов, тогда ему Ява нужна, а может управлять какими-то механизмами или процессами в реалтайме, тогда уж микроконтроллер или ардуина на его основе.

Тю блин, что и требовалось доказать. Сам ответил на свой вопрос.

fox_12
19.11.2016, 17:59
Arduino хорошая вещь. Заказывал на seeedstudio аналог + шилд с ethernet - вешал датчик DS1820 и логировал температуру в помещении и на улице на xively.com
Потом еще делал проект на ардуино для заказчика из Австралии. Там для теплицы автоматика - датчики влажности, барометры, температуры, освещенности, и даже силы ветра - все порты заняты были. Жаль в железе так и не получилось все отладить - не все датчики были под рукой, а там и АТО началась...
На Али заказал Raspberry Pi 3 за 2700 р - на нем уже полноценные проекты под веб гоняю..

valerius
21.10.2017, 22:05
подкину дровишек, я так понял на ардуино и ЭБУ для авто можно собрать

Yurasvs
21.10.2017, 22:26
Зачем? Исполнение Ардуин не соответствует жестким автомобильным условиям, комплектующие как правило не индустриального диапазона температур, тем более не милитари. Разводка плат не помехоустойчивая из за длинных дорожек к гребенкам разъемов. Даже если сваять софт и запихать все это в герметичный корпус, получится гораздо менее надежно, чем промышленный ЭБУ. Да и не понравились мне эти Ардуины своей идеологией, ихняя идиотская "Ардуино ОС", зашитая в бутлоадер кристалла, слишком дохрена ресурсов микроконтроллера бездарно транжирит, вынуждая брать более навороченные и дорогие камни даже для простейших задач. Такое мнение у меня сложилось после того, как я помог сделать пару простых проектов одному студенту-практиканту. Этого оказалось достаточно, чтобы сильно невзлюбить Ардуины. Хотя в свой очередной проект я таки поставил Ардуино Уно, лень было самому плату паять. Но сразу же удалил оттуда Ардуиновский загрузик и общаюсь с процом через ISP как обычно, Ардуиной там пахнуть перестало. Но это будет работать в комнатных условиях, совсем другие требования...
З.Ы. Открытых проектов самодельных ЭБУ на микроконтроллерах в сети пруд пруди, в том числе с онлайн тюнингом и ШДК. Собирайте любой и наслаждайтесь. А Ардуина там лишняя, она предназначена больше для лабораторных экспериментов и обучения студней, но не для ответственных боевых применений.

soladko
12.11.2017, 15:18
Сушить мозги ассемблером в эпоху тактовых частот десятки-сотни мегагерц и объемов флеши десятки килобайт нет никакого смысла, Может не в тему, но когда-то изучал мк, спаял програматор, юзал атмел 2313, так на си когда хотел два числа делить - код вылез за пределы памяти, а так как на асме это немного геморно - то тупо забил, и немножко почувствовал себя кодеромрукожопом. А вот моргать светодиодами, шим, прерывания - все прекрасно на асме делалось.

Yurasvs
12.11.2017, 15:45
Сейчас с этим проще, память большая. Но деление так и остается ресурсоемкой операцией, по возможности стараюсь всегда заменять умножением и сдвигом или в ряд раскладываю. В сети есть статья по подбору правильных коэффициентов для этого фокуса. Если в камне аппаратное умножение, код будет маленький и быстрый. А вот например извлечение корня понадобилось, сделал дихотомией (делением отрезка пополам, или задача про льва в пустыне). Тоже на порядок быстрее и компактнее стандартной библиотеки. Ассемблер не нужен сейчас, создание сколько нибудь серьезной программы на нем занимает слишком много времени. Си гораздо удобнее, и при желании код будет ненамного хуже ассемблерного.

soladko
13.11.2017, 13:21
вон оно как! я чето-то такое подозревал, но гнал "глупые мысли", типа да не, так никто не делает. Зеленый был, шо взять.....А так может интерес бы во что-то таки перерос.

AndrewD
09.01.2018, 14:33
Джентльмены. Кто силен в ардуино, помогите запилить охотничью камеру (она же "фотоловушка"). Камера, датчик движения, GSM/GPRS модуль, аккум. При наличии движения камера делает снимок (серию снимков) и отправляет на почту (или на сервер).

Искал в нете, не нашел. Если кто знает где лежит подобный проект, ткните, пожалуйста.

Мерси.

Kino
09.01.2018, 15:00
рубаха у дуньки завернется такой объем обрабатывать.

AndrewD
09.01.2018, 15:46
Ну, есть такого плана система, только делает снимок по команде (входящая смс). Но там не нашел подробного описания.

Kino
09.01.2018, 16:16
Та понятно что есть, камера с uart выходом, ардуина только и занимается перенаправлением данных из камеры в gms модуль. Только это всё время, ну конечно зависит от разрешения камеры, но все же.

AndrewD
09.01.2018, 16:25
Как говорил Лаврентий Палыч: "Попытка - не пытка".

Kino
09.01.2018, 16:55
Зачем попытка, время можно посчитать. С камерой определились?

AndrewD
09.01.2018, 17:18
Я знаю есть ардуиновский модуль камеры OV 7670. Но не до конца понимаю алгоритм работы. Там есть, типа, функция обнаружения движения в кадре и делается снимок (т.е. можно обойтись без датчика движения). Но не пойму, она постоянно пишет или просто мониторит?

Хз. можно ли прикрутить что-то стороннее чуть более качественное.

Kino
09.01.2018, 17:35
Сомневаюсь что эта камера умеет делать снимки. Да и не надо, лучше внешний PIR повесить и найти камеру с возможностью вывода снимка уже в формате JPEG. Куда быстрее будет.

soladko
09.01.2018, 21:46
был у меня регик, который якобы на движение реагировал. А на самом деле по ощущениям реагировал на изменение средней яркости по экрану, но не отнюдь на перемещение пикселей.

vics13
18.10.2018, 22:04
А от скажіть мені гуру....
Роблю перший в житті прожект. На ардуіно. Доволі об"ємний.
І треба обробляти 4 кнопки для керування пристроєм. І відповідно робити їм дебаунс. Кнопки висять на одному порту. Кошерно буде щоб не витрачати зайвий час на обробку читати порт і викликати потрібні функціїї тільки у разі коли на порту щось змінилося?

Yurasvs
18.10.2018, 22:41
Ардуино - страшная штука для отравления мозгов. Начинать с Ардуины категорически не советую. Лучше программировать на нормальном Си с помощь любого компилятора (IAR, Keil, Icc, GCC) и заливать готовый Хекс в Ардуину с помощью ее же загрузчика. Сама жесткая структура скетча и занятость многих важных ресурсов проца под собственные нужды "Ардуино ОС" сильно мешают жить. Например, из всего трех встроенных таймеров Меги 328, которая стоит в Ардуино Уно, один занят под системные нужды, 2 других тоже доступны с некоторыми ограничениями. Но если уж взялись...
Подходов к устранению дребезга может быть много разных. Все зависит от наличия свободных ресурсов скорости выполнения основного цикла и т.д. Проще всего опрашивать кнопки реже, чем раз в 50мс где-то, тогда дребезг будет незаметен. Если важна скорость реакции, лучше опрашивать в прерывании. Эффективный алгоритм антидребезга здесь
http://embedders.org/blog/gdi/debouncing.html
Этот код настолько прост и быстр, что его можно засунуть непосредственно в прерывание , вызываемое по таймеру несколько десятков раз в секунду. Но я обычно в прерывании только определяю, что какая-то из кнопок изменила положение (неважно какая, сравниваю со старым значением все биты сразу в одно действие). При обнаружении изменения выставляю флаг, который неспешно обрабатывается и сбрасывается основным циклом, он уже разбирается , что именно нажато и что надо с этим делать.

vics13
19.10.2018, 13:01
Ардуино - страшная штука для отравления мозгов. Начинать с Ардуины категорически не советую. Лучше программировать на нормальном Си с помощь любого компилятора (IAR, Keil, Icc, GCC) и заливать готовый Хекс в Ардуину с помощью ее же загрузчика. Сама жесткая структура скетча и занятость многих важных ресурсов проца под собственные нужды "Ардуино ОС" сильно мешают жить. Например, из всего трех встроенных таймеров Меги 328, которая стоит в Ардуино Уно, один занят под системные нужды, 2 других тоже доступны с некоторыми ограничениями. Но если уж взялись...
Подходов к устранению дребезга может быть много разных. Все зависит от наличия свободных ресурсов скорости выполнения основного цикла и т.д. Проще всего опрашивать кнопки реже, чем раз в 50мс где-то, тогда дребезг будет незаметен. Если важна скорость реакции, лучше опрашивать в прерывании. Эффективный алгоритм антидребезга здесь
http://embedders.org/blog/gdi/debouncing.html
Этот код настолько прост и быстр, что его можно засунуть непосредственно в прерывание , вызываемое по таймеру несколько десятков раз в секунду. Но я обычно в прерывании только определяю, что какая-то из кнопок изменила положение (неважно какая, сравниваю со старым значением все биты сразу в одно действие). При обнаружении изменения выставляю флаг, который неспешно обрабатывается и сбрасывается основным циклом, он уже разбирается , что именно нажато и что надо с этим делать.


Для першого разу ардуїна проканає. У мене Мега2560. А код тупо не влазить в Нану чи Уно. Займатися ж перепилюванням готової ліби, яка вирішує 80% моїх потреб немає сенсу. Та й зайнятість критичних ресурсів якось не особливо парить. Мега2560 зараз працює в N2k мережі де є 2 лоріковські голови, Point-1, моторгайд, ходовий двигун Ямаха, датчик залишку і розходу палива. І при цьому сама є нодою і шле підтасовані дані в мережу. Ну ще для крокового двигуна тікає таймер 1000 разів за 10-30 сек.
Так от чому ж я і запитав. В цьому перериванні таймера просто визначати стан порту із кнопками а потім вже не поспішаючи вияснити шо було натиснуто і зробити дебаунс. Тим більш в час коли натиснута кнопка основна діяльність припиняється до встановлення нових параметрів.

Kino
20.10.2018, 13:16
В цьому перериванні таймера просто визначати стан порту із кнопками а потім вже не поспішаючи вияснити шо було натиснуто і зробити дебаунс.

Когда есть частые прерывания от таймера - это самое правильное решение.

vics13
20.10.2018, 23:29
Дякую.

А тема із вертикальними лічильниками із посилання Юрисвс взагалі шикарнюча.

vics13
16.01.2019, 14:05
Допиляв перший свій прожект.

Імітує роботу лоуренсівського спотлайтсканера засобами звичайного сайдскан сонара. Випробувано на ехолотах Lowrance HDS7(9) Gen3 і Carbon. Також може працювати з ехолотами інших виробників якщо вони вміють в оверлеї накладати структуру поверх карти.
Принцип роботи такий. Приїхали на водойму. Швиденько сайдсканом вивчаємо структуру дна і об"єкти на ньому. Приходимо на місце, яке нас зацікавило. Кидаємо якір, чи пару цеглин на мотузках, чи вмикаємо моторгайд. Після цього вмикаємо приблуду і маємо круговий огляд навколо човна. Швидкість сканування можна міняти.
Зібрано на Arduino Mega2560 + DRV8825 + MCP2515_CAN. Сам сонар крутиться движком NEMA-17 з планетарним редуктором 1:5.18.
До роз"ємів підключаємо бортове живлення, кабель до движка і безпосередньо мережу NMEA2000.


http://i.piccy.info/i9/281196edbd01cd16709f47202c4e48f3/1547633768/25566/1295358/01_500.jpg (http://piccy.info/view3/12902508/9ddf8be628be87aeb093b8c7bb9025aa/)http://i.piccy.info/a3/2019-01-16-10-16/i9-12902508/463x360-r/i.gif (http://i.piccy.info/a3c/2019-01-16-10-16/i9-12902508/463x360-r)
http://i.piccy.info/i9/73493175d2beae14b84677a64efdf045/1547633813/24417/1295358/02_500.jpg (http://piccy.info/view3/12902511/e45be0a2218fb2e3d9a261c2d292d398/)http://i.piccy.info/a3/2019-01-16-10-16/i9-12902511/481x347-r/i.gif (http://i.piccy.info/a3c/2019-01-16-10-16/i9-12902511/481x347-r)

Вигляд з середини (професійним електронщикам не відкривати!!!!!!!!!!)
http://i.piccy.info/i9/1499020705d7abea1fa3db4e907cd316/1547636383/39769/1295358/03_500.jpg (http://piccy.info/view3/12902647/8ac7a38aa7a7be83607972d666799403/)http://i.piccy.info/a3/2019-01-16-10-59/i9-12902647/499x334-r/i.gif (http://i.piccy.info/a3c/2019-01-16-10-59/i9-12902647/499x334-r)
Буде гарна година - зроблю відос як воно працює.
Нахіба воно таке потрібно? Рибу ловити. І бичків в тому числі.:D

soladko
16.01.2019, 14:50
Гарно в cерединi. То вы мого термостата не бачили до котла. Вiн третiй рiк чекаэ корпус )))а в серединi лм358 та iншi смд штуки навicним монтажем ;-)

vics13
31.01.2019, 20:03
Виникла проблемка. Як завантажити в ардуїнку HEX файл, який ардуїшною ІДЄ зроблений? XLoader якийсь використовувати чи ще якось. Тут головне шоб ардуїнка залишилася ардуїнкою і могла як і раніше шитися стандартними методами.

Kino
01.02.2019, 11:40
Виникла проблемка. Як завантажити в ардуїнку HEX файл, який ардуїшною ІДЄ зроблений? XLoader якийсь використовувати чи ще якось. Тут головне шоб ардуїнка залишилася ардуїнкою і могла як і раніше шитися стандартними методами.

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

vics13
01.02.2019, 14:58
никак. прошивка сторонним программатором затрет бутлоадер. но его тем же программатором можно снова залить, только убъется основная программа. ))
Или если надо и то и то, то можно склеить два хекса, программы и бута.
Уже розібрався. Отой XLoader прекрасно шиє хекс без бутлоадера який експортовано із ІДЕ, після чого сама ІДЕ теж шиє як і не було нічого. Тобто рідний ардуїновський бутлоадер ніяк не страждає.

Kino
01.02.2019, 16:28
Странно. Должен затираться по любому, т.к. команда на стирание одна на всю область памяти. А если учесть как прошиваются многие кристаллы (командой erase все биты ставятся в единички, а при программировании "только нужные" в нули), то без стирания можно записать либо одну и туже прошивку, либо ту, где биты, которые были в нуле не стали в единицу. Поробуйте подряд два разных hex файла прошить.

А, тю, я понял. Этот Xloader использует бутлоадер и прошивает точно так-же как и IDE, через avrdude. Я думал это полноценный программатор ISP, потому и был в недоумении, как может не затираться. )))

Я в таких случаях использую командную строку, которую формирует IDE и в ней пишу нужный файл. Нафига те GUI, которые делают тоже самое.

Дон Пириньон
17.02.2021, 22:28
Есть тут живые еще ардуинщики? Есть вопросец. :D

Kino
18.02.2021, 13:11
Есть тут живые еще ардуинщики? Есть вопросец. :D

задавай

Дон Пириньон
20.02.2021, 22:27
Шалом , Цой! Сто лет не виделись. Даже эпистолярно :D

Короче, не работает у меня блок АРС. Это блок управления давлением наддува. Передувает хоть ты тресни. Хочу примастырить нечто или ардуинное, или хз. вместо блока. Вот схема чем надо управлять. №12 электроклапан перепускной для управления вастгейтом.

http://www.forum-auto.de/sites/default/files/page/technik/apc-schema.jpg

параметры по которым управляться будет:
1. Датчик давления в ресивере ( переменный резистор, он №10) меняет сопротивление в диапазоне 20-70Ом от давления на диафрагму
2.Датчик детонации. ( сигнал низковольтный) №16
3.Сигнал с коммутатора ( можно принебречь, ибо это для родного сигнал о том запущен ли двигатель)
4. +12В от педали тормоза. ( отключение клапана наддува при нажатии педали тормоза)


Насколько сложно ( просто) реализовать это ардуиной? Или может еще чем подобным?

На словах, надо что бы штука мониторила давление в коллекторе ( путем замера сопротивления с резистора №10) и датчика детонации. И при превышении заданного давления или (и) появления детонации отключала электроклапан. Это основные параметры которые нужны для контроля.

Родной блок не могу до ума довести. Не хочет с датчиком детонации работать. Он его видит ( ибо при отключении его скидывает давление на базовое), но не слышит. Детон жуткий, а клапан не отключается.

Сам блок старый. ни схем, ни деталей что в блоке в гугле не встретить. Чинил научным тыком. Ниче не дало.

Yurasvs
20.02.2021, 23:42
Одной Ардуиной не обойдешься. Для обработки сигнала детонации лучше применить дополнительный блочок на специализированной микросхеме, например HIP9011.

Дон Пириньон
20.02.2021, 23:55
Одной Ардуиной не обойдешься. Для обработки сигнала детонации лучше применить дополнительный блочок на специализированной микросхеме, например HIP9011.

т.е. как ни крути, городить огород придется?

vics13
04.06.2021, 08:45
А порадьте якийсь модуль бездротової передачі даних.
Основні критерії - низька ціна і мінімальне енергоспоживання. Швидкість передачі даних не критична, треба всього пару-трійку сотень байт за годину. Бажано щоб модуль був на 3.3В живлення і логіки. Дальність передачі не критична, максимум метрів 30.

Yurasvs
04.06.2021, 09:26
Тут весь вопрос в помехозащищенности. Самое простое это тупые приемопередатчики на 433МГц типа таких:
https://voron.ua/uk/catalog/023052--radio_modul_priemnikperedatchik_433_m
Но надо отдавать себе отчет, что там сейчас очень много помех, автосигнализации всякие, охранки. Несколько раз в минуту из приемника будут вылетать всякие посылки от "внеземных цивилизаций". Их надо будет игнорировать, а реагировать только на свой уникальный код или кодовую последовательность. Причем надо предусмотреть либо подтверждение приема, либо многократную передачу на случай, если помеха забьет информационную посылку. Следующий уровень - это приемопередатчики с кодером, они сами занимаются доставкой сообщений в условиях помех и даже шифрованием, но дороже стоят.

vics13
04.06.2021, 12:22
Ой щось то зовсім дешман якийсь.
Хоча може й підійти. Усі ньюанси роботи з такими штуками розумію, тим більш приблуда працюватиме за пару км від міста, де з перешкодами в ефірі трохи легше.



Можна і більш серйозне щось. Щоб одним модулем приймач-передавач був.І захищеність.

Yurasvs
04.06.2021, 12:48
Посерьезнее это уже такое:
https://voron.ua/uk/catalog/022788--modul_si4463_433_hc-12_433m

vics13
04.06.2021, 13:26
О, таке підходить. Дякую.