1

Тема: CANNY 5 nano vs Arduino Nano

В продолжение удаленного диалога с dimax:

Является-ли CANNY 5 nano аналогом Arduino Nano?
Что-то общее у них безусловно есть, но мне кажется что отличий больше чем сходств. В связи с чем, в различных задачах продукты показывают себя по разному - где-то преимущество за Arduino, где-то лидирует CANNY 5 nano.

Или всё-таки Wire(Pure C) vs CFD(FBD) ?

Тут стоит отметить, что как Wire привел в программирование МК многих программистов ПК, так и графические языки, такие как CFD открывают дорогу в программирование МК, но уже людям вообще далеким от программирования ВТ в традиционном смысле этого слова. Разумеется, как плюсы так и минусы есть и у Wire и у CFD.

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

Спасибо вам, за высокую оценку потенциала CANNY 5 nano! Не смотря на то, что ATmega 16MHz  по вычислительной производительности примерно равна PIC18 64MHz.

2

Re: CANNY 5 nano vs Arduino Nano

Для Ардуино есть несколько блоковых языков. Например, Скрэтч, Ардублок, FLProg, Flowcode, Horizont Automatics.....  В тоже время есть куча всяких ПЛК промышленного применения.. Вот где МЭКовские языки в чести.  Вопрос в цене этих контроллеров и сред программирования.

Писать на СИ инженеру по автоматизации промышленных (автомобильных) процессов ни к чему. Есть всякие СКАДы..

Я осваиваю область микроконтроллеров сразу по трём линиям- Ардуино, Канни, СТМ32.  Понятно, что писание на СИ вещь полезная. Есть у меня два учебника по СИ++.  Претолстенные. На мой взгля вполне бестолковые. Не для инженеров. Язык опирается на всякие библиотеки. Так поди найди эти описания библиотечных функций. Ну ладно, для Ардуино есть множество книжек. А вот для СТМ32 всё как-то хуже.  Идёт отсылка к среде типа Кейл, АРМ Мбед, Атоллик и тд и тп.

Так что главный конфликт для меня состоит в возможностях языковых средств.   Выяснилось, что проблема освоения СИ++  (Wire) в необходимости изучения громоздкого и корявого языка.   Я когда-то писал на Симуле-67. Был такой вполне вменяемый язык.  К тому же библиотечные функции вылезают как черти из табакерки и толком не описаны. А при освоении CFD проблема в том, что импульсную технику я проходил очень давно и кое-как. Но при инженерном подходе быстро разбираешься.. Задача в выборе того или иного блока из в общем-то вполне исчерпывающего набора блоков и правильного их соединения.

Интересно, что Копосов своих школьников обучает программировать Ардуино на Скрэтче.
Видимо, не знает про Канни.

Преинтересна среда FLProg для Ардуино. Там используется диалект FBD.  Очень похоже на CFD. Но это разработка одного человека.  Интересно, например, сравнить Blink на Wire и  Генератор на FBD или CFD.  На FBD или CFD получается изящнее.

Нет, конечно, предела совершенству. Если говорить о Канни, то тут неплохо бы иметь книгу в стиле Джереми Блюма или Виктора Петина.  Не хватает алгоритмического уровня проектирования.  Я вот к ДРАКОНу присматриваюсь.

3

Re: CANNY 5 nano vs Arduino Nano

Разумеется, среди перечисленных наименований средств программирования, ни одно не было для меня незнакомым. Все они заслуживают внимания. Тем не менее, в данном случае говоря про Arduino, я подразумеваю именно оригинальный концепт: ATmega+Wire+ArduinoIDE.
Промышленные контроллеры, языки МЭК - это стандартизированные сущности, можно сказать что уже со своей историей.
Языки С и С++, такие похожие и такие разные, безусловно имеют право на существование. При всех их достоинствах и недостатках, они продолжают лидировать в подавляющем большинстве направлений разработки ПО. При желании выжать максимум из аппаратного обеспечения, эти языки, дополненные в критических местах Ассемблером целевой платформы, остаются практически безальтернативным средством создания ПО. Однако, столь близкие к "железу", они пропорционально удалены от человека. Язык Wire несколько сокращает это разрыв, на мой взгляд -  не очень сильно, но во многих случаях он предоставляет приемлемый компромисс и в этом одна из причин успеха проекта Arduino.

Рассмотрение многочисленных языков и подходов, ставящих своей целью повернуть программирование лицом к человеку - весьма объемная и интересная тема, но ДРАКОНу в ней отводится специальное место и в настоящее время оно находится на ВДНХ, рядом с павильоном Космос.

А книга конечно нужна. Это большая, серьезная работа и она ждет своего мастера.

Если вы полагаете, что Дениса Геннадьевича могут заинтересовать наши наработки, то мы обязательно с ним свяжемся.

4

Re: CANNY 5 nano vs Arduino Nano

Я написал Копосову. Может ответит.

Скрэтч и Лилипад я воспринимаю как средства для маленьких девочек.  Есть у меня внучка. 9 лет. Вот и думаю то ли её скрэтчем мучить, то ли сразу на CFD и Канни учить. Её очень заинтересовала идея светящейся шапочки. А тут ей подарили квадрокоптер. Самое оно сварганить теперь  управляемого робота. Управление L293  я понял. У меня даже двухполярные блоки питания запасены.

Написал несколько Блинков на Канни. Миллисекундные, микросекундные. Ничего лишнего. Всё понятно. Тем более, что от бессмысленного слова VOID в Wire у меня начинается зубовный скрежет.. 

Вообще-то для меня важнее всего, что Ваши наработки заинтересовали меня. Я перебрал всё до чего смог добраться. И по функционалу и по доступности, особенно ценовой.  Возможности CFD для начала вполне достаточны.
А аналога Канни я не нашёл.  И задачи у меня  совсем не автомобильные.

А вот некий симбиоз Канни и Ардуино явно просматривается.  Всё в том же примере по созданию канала связи с RZ кодом. Микросхемы приёмника и передатчика у меня нет (как скажем микросхемы CAN в Канни). Зато есть Ардуино. Тогда Ардуино выполняет роль специальной микросхемы. Ну и где-то на горизонте маячит STM32.  Отличный контроллер. У меня есть Nucleo401. Но писать во всех этих СИ студиях я пока решительно не готов.

5

Re: CANNY 5 nano vs Arduino Nano

У arduino  есть поддержка stm ,  несколько не полная ,  но есть .

6

Re: CANNY 5 nano vs Arduino Nano

gordon пишет:

У arduino  есть поддержка stm ,  несколько не полная ,  но есть .

Что имеется в виду?

7

Re: CANNY 5 nano vs Arduino Nano

Не могу ответить , правила форума , в их среде. В обновления посмотрите .

8

Re: CANNY 5 nano vs Arduino Nano

gordon пишет:

правила форума

В гостиной всё не так строго. Да и в других разделах вроде пока удалось обходиться без антирекламных репрессий, если речь об этом.

9

Re: CANNY 5 nano vs Arduino Nano

ipsurin пишет:

Я написал Копосову. Может ответит.

Спасибо!

Есть у меня внучка. 9 лет. Вот и думаю то ли её скрэтчем мучить, то ли сразу на CFD и Канни учить.

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

от бессмысленного слова VOID в Wire у меня начинается зубовный скрежет..

Точке с запятой вероятно не досталось от Вас лишь потому, что в Симуле она тоже присутствует smile
Смысл у void разумеется есть, но С-подобный синтаксис действительно иногда бывает многословен.

Вообще-то для меня важнее всего, что Ваши наработки заинтересовали меня. Я перебрал всё до чего смог добраться. И по функционалу и по доступности, особенно ценовой.  Возможности CFD для начала вполне достаточны.

Прекрасно, что на данный момент Вам удалось найти себе инструмент по душе.

10

Re: CANNY 5 nano vs Arduino Nano

Всё же разработчики программ обычно пренебрегают разработкой алгоритмов. И тут может помочь Фабула- система для графического изображения алгоритмов на основе ДРАКОНа.   http://drakon.su/programma_fabula_._red … rakon-sxem

11

Re: CANNY 5 nano vs Arduino Nano

ipsurin пишет:

Фабула

Но это не единственный редактор дракон-схем, да и тема вроде бы не о них.

Всё же разработчики программ обычно пренебрегают разработкой алгоритмов.

Не думаю, что пренебрежение алгоритмами обычно для разработчиков.

12

Re: CANNY 5 nano vs Arduino Nano

от бессмысленного слова VOID в Wire у меня начинается зубовный скрежет.. 

Точке с запятой вероятно не досталось от Вас лишь потому, что в Симуле она тоже присутствует smile
Смысл у void разумеется есть, но С-подобный синтаксис действительно иногда бывает многословен.

.

  это " пять " , про точку с запятой, ребёнку только на днях помогал с Паскалем. Навеяло. Про ардуино и stm - проект Maple.

13

Re: CANNY 5 nano vs Arduino Nano

Да и у производителей микроконтроллеров появились рабочие варианты wizardоф, stm cube, codewarrior... Не сочтите за offtop))).

14

Re: CANNY 5 nano vs Arduino Nano

Интересное наблюдение о работе наших героев при приёме импульсов. Вот Канни просто принимает, а вот у Ардуино пришлось сделать подтяжку входов к нулю.  А то дрожит всё безбожно.

15

Re: CANNY 5 nano vs Arduino Nano

"Не думаю, что пренебрежение алгоритмами обычно для разработчиков."

Никто ни в Ардуино ни в Канни не показывает алгоритмов. Ни скетчи ни схемы  на CFD не предваряются алгоритмами. Ну в CFD ещё можно разобраться, а в больших скетчах  разобраться сложнее. Там вечно выскакивают некии библиотечные функции.  Ну хоть комментарии дают. А в CFD схемах комментариев не дают.

16

Re: CANNY 5 nano vs Arduino Nano

Исходным файлам программ на многих языках программирования в той или иной степени присуща самодокументируемость. Отсутствие комментариев конечно огромный минус исходных файлов программ, но это, как мне кажется, не лишает их алгоритма.

17

Re: CANNY 5 nano vs Arduino Nano

простите за скудоумие , а зачем в cfd   комментарии ?

18

Re: CANNY 5 nano vs Arduino Nano

gordon пишет:

а зачем в cfd   комментарии ?

Разумеется, разобраться в диаграмме можно и без комментариев.
Однако, одной из целей реализации CFD было упрощение понимания программ пользователями CANNY Lab . И любые шаги автора диаграммы в этом направлении, в том числе добавление комментариев, надписей, объединение функциональных блоков в группы, безусловно будут полезны. Особенно в тех случаях, когда читать и редактировать её будет не автор, или автор, но не скоро.

Полезность комментариев я и не оспариваю. Мне лишь показалось, что термин "алгоритм" здесь применен несколько неудачно.