Революция по имени Arduino

8-битные микроконтроллеры AVR (AT90, ATtiny, ATmega) от Atmel (в настоящий момент принадлежит Microchip)

Moderator: Shaos

User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Революция по имени Arduino

Post by Lavr »

Mildi wrote:Вообще не понимаю почему некоторые так ополчились на эти Ардуино.
Не нравится? Не пользуйтесь! Вас ведь никто не заставляет.

По мне так очень удобные заготовки "плата с МК" для поделок на скорую руку.
Вот и я так думал и даже 4 штуки приобрёл когда ещё цены были "детские", как раз "для поделок
на скорую руку".
Но когда приспичило на скорую руку быстро поделать, выяснилось, что не всё так "розово", как оно
первоначально казалось.
А поскольку Ардуино сопровождают скетчи на языке высокого уровня, не так-то просто обнаружить
где это всё работает не так, как задумано и убивает кучу времени вместо "скорой руки".

Так что фраза "Не нравится? Не пользуйтесь! Вас ведь никто не заставляет." отражает лишь часть
проблемы. Реклама и отзывы - в основном положительные. Не заставляют, но соблазнили... :-?

А в итоге думаешь, что только время зря потерял с этой оболочкой и скетчами.
Лучше бы сразу написал всё на ассемблере. Оно не так быстро, но в итоге приводит к более
предсказуемому результату.

Ситуацию с отношением пользователей к Ардуино замечательно иллюстрирует такой вот постер: :lol:
Istina.png
Или же шикарная фраза из знаменитого романа Ярослава Гашека: :wink:
- Вы меня знаете, может быть, с хорошей стороны, но вы меня ещё узнаете с плохой стороны! Вы у меня ещё наплачетесь!
P.S. Кстати... благодаря постеру до меня в своё время дошел смысл казалось бы абсурдной фразы:
"Брешет, как очевидец..."
:ebiggrin:
You do not have the required permissions to view the files attached to this post.
iLavr
Mildi
Fanat
Posts: 57
Joined: 24 Aug 2022 23:08

Re: Революция по имени Arduino

Post by Mildi »

Lavr wrote: А поскольку Ардуино сопровождают скетчи на языке высокого уровня, не так-то просто обнаружить
где это всё работает не так, как задумано и убивает кучу времени вместо "скорой руки".
А зачем вам скетчи? Пишите на том, на чем хотите. Я уже больше 10 лет использую эти платы, но скетч использовал только один раз, когда с алика пришли TFT дисплеи то для проверки работоспособности залил тестовый от продавца.
Во всех остальных случаях использую исключительно CVAVR и пишу на С.
Плате и МК абсолютно пофигу на чем вы писали, они от этого работать хуже или лучше не станут.
Lavr wrote: А в итоге думаешь, что только время зря потерял с этой оболочкой и скетчами.
Лучше бы сразу написал всё на ассемблере. Оно не так быстро, но в итоге приводит к более
предсказуемому результату.
А что мешало сразу так сделать? Я поначалу даже bootloader в них сносил, пока не дошло как загружать прошивку с родным загрузчиком.
Изучать другой язык для работы на скорую руку весьма сомнительный подход.
Lavr wrote:Ситуацию с отношением пользователей к Ардуино замечательно иллюстрирует
Вообще это иллюстрирует любое утверждение... Правда у каждого своя, а истина где то рядом...
Mondx
Doomed
Posts: 500
Joined: 10 Aug 2022 07:27
Location: Crimea

Re: Революция по имени Arduino

Post by Mondx »

Ну а чем плохи скетчи то? Ардуино язык - это же просто функции, это прослойка, это фреймворк. Зачем придумывать свой велосипед, если уже есть готовое, универсальное, которое подходит для любого МК, при правильном написании? Вот давайте любую задачу, и мы вместе подумаем как её решить средствами Ардуино.
imsushka
Maniac
Posts: 231
Joined: 01 Jan 2022 04:34
Location: USSR, Tashkent

Re: Революция по имени Arduino

Post by imsushka »

Mondx wrote:Ну а чем плохи скетчи то? Ардуино язык - это же просто функции, это прослойка, это фреймворк. Зачем придумывать свой велосипед, если уже есть готовое, универсальное, которое подходит для любого МК, при правильном написании? Вот давайте любую задачу, и мы вместе подумаем как её решить средствами Ардуино.
скетчи плохи фреймворком
да, на мелких проектах или просто проверить оборудование пойдет
а вот что то чуть сложнее и скорости/памяти не хватат

и тогда CAVR только и остается
Mondx
Doomed
Posts: 500
Joined: 10 Aug 2022 07:27
Location: Crimea

Re: Революция по имени Arduino

Post by Mondx »

imsushka wrote: а вот что то чуть сложнее и скорости/памяти не хватат

и тогда CAVR только и остается
У всех хватат, а у вас не хватат. А вот если не хватает, добавляйте/меняйте на свои функции либо макросы.
К чему тут вообще CVAVR, когда у Ардуино свой компилятор. Ничем не хуже и бесплатный.
PS. Давайте не на словах, а на конкретных примерах.
imsushka
Maniac
Posts: 231
Joined: 01 Jan 2022 04:34
Location: USSR, Tashkent

Re: Революция по имени Arduino

Post by imsushka »

Mondx wrote:
imsushka wrote: а вот что то чуть сложнее и скорости/памяти не хватат

и тогда CAVR только и остается
У всех хватат, а у вас не хватат. А вот если не хватает, добавляйте/меняйте на свои функции либо макросы.
К чему тут вообще CVAVR, когда у Ардуино свой компилятор. Ничем не хуже и бесплатный.
PS. Давайте не на словах, а на конкретных примерах.
нуу, в 328 запихнуть управление LED пенелями.
пойдет ?
https://www.waveshare.com/rgb-matrix-p3-64x32.htm
Last edited by imsushka on 31 Dec 2024 00:44, edited 2 times in total.
Mildi
Fanat
Posts: 57
Joined: 24 Aug 2022 23:08

Re: Революция по имени Arduino

Post by Mildi »

Mondx wrote:Ну а чем плохи скетчи то? Ардуино язык - это же просто функции, это прослойка, это фреймворк. Зачем придумывать свой велосипед, если уже есть готовое, универсальное, которое подходит для любого МК, при правильном написании?
Дело не в том что они плохие, а в том что они лишние... В моем случае по крайней мере, так как от этой платформы мне нужны только платы с распаянным МК.
Свой велосипед уже давно придуман и используется, для него уже есть оснастка, он уже отрегулирован под себя, так что в этой ситуации Ардуино язык как раз и является ненужным велосипедом.
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Революция по имени Arduino

Post by Shaos »

> мне нужны только платы с распаянным МК.

ну сам бы и развёл платы какие нужно - зачем за ардуину цепляться, если от ардуины ничего ненужно? :lol:
Я тут за главного - если что шлите мыло на me собака shaos точка net
Mondx
Doomed
Posts: 500
Joined: 10 Aug 2022 07:27
Location: Crimea

Re: Революция по имени Arduino

Post by Mondx »

imsushka wrote: нуу, в 328 запихнуть управление LED пенелями.
И что на CVAVR влазит, на Ардуино нет? Где конкретика? Где скетч который не влазит?
Ещё раз. Если на пределе по скорости, заменяйте digitalWrite на свой _digitalWrite, например.
И уж 2048 точки в ОЗУ 328-й вы в любом случае не разместите.
Конечно, если всё на пределе, и нужно справиться с каким то железом, тогда забивают на универсальность.
Но, зачастую, это всё отмазки.
Mondx
Doomed
Posts: 500
Joined: 10 Aug 2022 07:27
Location: Crimea

Re: Революция по имени Arduino

Post by Mondx »

Mildi wrote: Дело не в том что они плохие, а в том что они лишние... В моем случае по крайней мере, так как от этой платформы мне нужны только платы с распаянным МК.
Свой велосипед уже давно придуман и используется, для него уже есть оснастка, он уже отрегулирован под себя, так что в этой ситуации Ардуино язык как раз и является ненужным велосипедом.
Ну, ситуации разные. Кому то не нужен, а основной массе нужен. У кого то один конкретный велосипед, а у других много разных. И уровень у всех разный.
Ардуино фреймворк это как операционка на компе. Можешь работать через ОС и тогда твой софт будет работать на разных компах, а можешь напрямую с железом, а тогда от железа уже будет зависеть. Только в Ардуино это шире - можешь использовать и другие МК, и из других семейств в т.ч. И всё должно работать.
Mildi
Fanat
Posts: 57
Joined: 24 Aug 2022 23:08

Re: Революция по имени Arduino

Post by Mildi »

Shaos wrote:> мне нужны только платы с распаянным МК.

ну сам бы и развёл платы какие нужно - зачем за ардуину цепляться, если от ардуины ничего ненужно? :lol:
Так я с этого и начал, что платы Ардуино
По мне так очень удобные заготовки "плата с МК" для поделок на скорую руку.
А уж каждый пусть пишет прошивки на чем угодно в меру своих предпочтений-извращений.
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Революция по имени Arduino

Post by Shaos »

Mildi wrote:
Shaos wrote:> мне нужны только платы с распаянным МК.

ну сам бы и развёл платы какие нужно - зачем за ардуину цепляться, если от ардуины ничего ненужно? :lol:
Так я с этого и начал, что платы Ардуино
А зачем там Ардуино, если всё своё? ;)

Надо быть последовательным и идти до конца - самописный код должен бегать на саморазведённой плате :)
Я тут за главного - если что шлите мыло на me собака shaos точка net
Mildi
Fanat
Posts: 57
Joined: 24 Aug 2022 23:08

Re: Революция по имени Arduino

Post by Mildi »

Mondx wrote:Можешь работать через ОС и тогда твой софт будет работать на разных компах, а можешь напрямую с железом, а тогда от железа уже будет зависеть. Только в Ардуино это шире - можешь использовать и другие МК, и из других семейств в т.ч. И всё должно работать.
Не соглашусь. При работе с МК всегда идет работа напрямую с железом(случаи с ОС на МК не рассматриваем, там как раз вариант аналогичный ПК). Просто его конфигурация задается по разному(на С подключая хедер, в Ардуино выбираешь тип платы, а если МК не типовой для Ардуино то сам пишешь необходимое расширение или ищешь может кто написал уже).

МК можешь использовать другие только в том случае если они содержат необходимое железо. Например код для нафаршированной Меги2560 не всегда пойдет на 328 или 8051 просто потому что в них не хватает железа, а вот обратно как правило без проблем. Я сейчас например переписываю библиотеку для RA8806 с Си для 8051, на С для AVR. Почти вся работа Ctrl+C Ctrl+V только правлю типы данных uint на unsigned int и подобное (хотя это и не обязательно) ну и пару функций переименовываю. На чистом С тоже нет никаких проблем с переносимостью. Как то пришлось даже наоборот с С++ переписывать на С (с AVR на С51 там пришлось повозится с классом который был абсолютно ненужен, но был применен).
Так что по моему Ардуино язык не дает никаких преимуществ.
Если с нуля начинаешь то можешь использовать как Ардуино так и С или С++.
А если уже используешь например С то нет никакого смысла переходить на использование Ардуино, это не даст никаких преимуществ.
Last edited by Mildi on 31 Dec 2024 02:40, edited 4 times in total.
Mildi
Fanat
Posts: 57
Joined: 24 Aug 2022 23:08

Re: Революция по имени Arduino

Post by Mildi »

Shaos wrote: Надо быть последовательным и идти до конца - самописный код должен бегать на саморазведённой плате :)
На самопальной архитектуре, на самопальном контроллере, выполненный самопально...
Или если используешь платы Ардуино то и кодить для них исключительно только в Ардуино ИДЕ.

Не понимаю я радикалов с их вот такими бросаниями в крайности....
Mondx
Doomed
Posts: 500
Joined: 10 Aug 2022 07:27
Location: Crimea

Re: Революция по имени Arduino

Post by Mondx »

Mildi wrote: Не соглашусь. При работе с МК всегда идет работа напрямую с железом.
Как раз таки это и есть дурной тон. На то он и высокоуровневый язык, что бы видеть логику и не видеть физику.
Ввод-вывод выносится в хедеры в виде макро или инлайн функции. Либо используются функции Ардуино. В самом теле программы его быть не должно.
А тогда, при переносе на другой МК, правится только ввод вывод в хедере. Всё это в одном месте.
Mildi wrote: А если уже используешь например С то нет никакого смысла переходить на использование Ардуино, это не даст никаких преимуществ.
Смысл в количестве стороннего ПО - библиотек, примеров, проектов. Ты быстро макетируешь устройство и проверяешь функционирование. А дальше уже можешь вылизывать под себя. Плюс комьюнити, а это важно. И не только для начинающих.