ТавроФорум

ТавроФорум (https://forum.tavria.org.ua/index.php)
-   Хобби (https://forum.tavria.org.ua/forumdisplay.php?f=29)
-   -   Кружок ARDUINOистов (https://forum.tavria.org.ua/showthread.php?t=91500)

DVR 30.09.2016 08:41

Кружок ARDUINOистов
 
Го, я создал.

DVR 30.09.2016 08:45

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

ElectricMobile 30.09.2016 18:39

На алі набір 100500в1 за 25-30 баксів достатньо для старту...

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

Цитата:

Сообщение от Yurasvs (Сообщение 3441842)
А чем STM32 не ARM?

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

Цитата:

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

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

Цитата:

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

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

fox_12 19.11.2016 17:59

Вложений: 1
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

Цитата:

Сообщение от Yurasvs (Сообщение 3677762)
Ардуино - страшная штука для отравления мозгов. Начинать с Ардуины категорически не советую. Лучше программировать на нормальном Си с помощь любого компилятора (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 (Сообщение 3677884)
В цьому перериванні таймера просто визначати стан порту із кнопками а потім вже не поспішаючи вияснити шо було натиснуто і зробити дебаунс.

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

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.


Вигляд з середини (професійним електронщикам не відкривати!!!!!!!!!!)

Буде гарна година - зроблю відос як воно працює.
Нахіба воно таке потрібно? Рибу ловити. І бичків в тому числі.: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

Цитата:

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

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

vics13 01.02.2019 14:58

Цитата:

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

Уже розібрався. Отой 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

Цитата:

Сообщение от Дон Пириньон (Сообщение 3804607)
Есть тут живые еще ардуинщики? Есть вопросец. :D

задавай

Дон Пириньон 20.02.2021 22:27

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

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

http://www.forum-auto.de/sites/defau...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

Цитата:

Сообщение от Yurasvs (Сообщение 3804915)
Одной Ардуиной не обойдешься. Для обработки сигнала детонации лучше применить дополнительный блочок на специализированной микросхеме, например HIP9011.

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

vics13 04.06.2021 08:45

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

Yurasvs 04.06.2021 09:26

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

vics13 04.06.2021 12:22

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



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

Yurasvs 04.06.2021 12:48

Посерьезнее это уже такое:
https://voron.ua/uk/catalog/022788--...433_hc-12_433m

vics13 04.06.2021 13:26

О, таке підходить. Дякую.


Текущее время: 21:49. Часовой пояс GMT +3.

Перевод: zCarot Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.