telegamochka: (Default)
[personal profile] telegamochka
Даже на базе простейшего - лампочка с кнопкой - скетча можно собрать вполне самостоятельное устройство. Думаете, речь пойдет о настольной лампе? Нет. Попробуем собрать простейший вариант аккордной клавиатуры.


Аккордная клавиатура - это...

Date: 2010-02-10 09:24 am (UTC)
From: [identity profile] telegamochka.livejournal.com
Спасибо за поздравления :) А насчет Ардуино - так он и сделан с расчетом на то, чтобы привлечь к себе людей, не особенно разбирающихся ни в программировании, ни в схемотехнике. А то и вообще не разбиращихся. Таак что и C-подобный processing тут вполне оправдан - позволяет, не заморачиваясь на регистры и пр. взять и сразу что-то написать. Такой подход позволяет начать что-то делать, имея минимум базовых знаний. Естественно, их придется приобретать, когда захочется смастерить что-то более сложное. Но Arduino (как набор-конструктор) в отличие от AVR (как россыпь деталей) дает человеку более низкий порог вхождения в радиолюбительство. Ну а дальше - если захочет, освоит и ассемблер, и тонкости построения схем...

Если бы правительство действительно было озабочено будущим молодежи, оно крутило бы по ТВ, вешало бы на щиты социальную рекламу Arduino :) Хоть какая-то замена научно-техническим кружкАм советских времен могла бы получиться...

Date: 2010-02-10 12:44 pm (UTC)
From: [identity profile] alexdsp.livejournal.com
Может быть и так. Как я понимаю, основная заслуга этого модуля - этот самый псевдоязык плюс некоторое количество каких-то гаджетов. Может быть. А так, просто отладочных модулей для разработчиков выпускается великое множество и за более скромные деньги. И софт отладочный прекрасный есть почти для всего. И когда-то я сталкивался с модулями очень мощными, тоже со встроенным языком типа бейсика или форта или чего-то другого, с IP стеками и прочими вкусностями, и это безо всякого линукса, вообще без операционки на очень скромных ресурсах. Для той же аккордной клавиатуры, как я понимаю, достаточно 8-битного микроконтроллера за 1$, но это для меня - я на ассемблере напишу всё. А если привлекать какой-то диалект какого-то языка, то тут и арм-а может оказаться под завязку. Ясное дело, наша жизнь вовсе не построена из соображений эффективности и рентабельности, если интересно, то многое отдашь, просто чтобы насладиться процессом :)

Date: 2010-02-10 01:33 pm (UTC)
From: [identity profile] telegamochka.livejournal.com
На мой взгляд, главные плюсы Arduino -
1) На его базе я, без опыта работы с железом, могу собрать реально работающее так, как мне нужно, устройство.
2) Это - "быстрый старт", позволяющий, например, тем же подросткам, имеющим желание, но не имеющим опыта, заняться реальным радиолюбительством. В наше время, когда нет кружков, а государству тинейджеры интересны только в качестве серой массы нашистов, Arduino - отличная альтернатива "Клинскому". Впрочем, одно другому не мешает - главное, чтобы интересы не ограничились исключительно этим самым "клинским".

видел твой код на хабре

Date: 2010-02-10 07:52 pm (UTC)
From: [identity profile] kalobyte.livejournal.com
в один прекрасный момент ты упрешся в невозможность обойти некоторые ограничения этого языка
например в одной функции из него будет задействован таймер, а тебе он понадобится для других целей

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


можеш у меня почитать для начинающих http://kalobyte.com/category/avr-learning
http://kalobyte.com/category/noob-said
еще есть хороший материал http://easyelectronics.ru/category/nachinayushhim

Re: видел твой код на хабре

Date: 2010-02-11 11:52 am (UTC)
From: [identity profile] telegamochka.livejournal.com
О низкоуровневом программировании некоторое представление имею - доводилось и программки для БЗ-34 писать (морской бой, самообучающаяся программа для игры в ним - в рамках 96 инструкций для процессора, 16 регистров и стека), и работать с ассемблером для Z80 и x86 (в основном работа с графикой - базовые операции с видеопамятью, всякие брезенхеймы, кое-что посложнее).

Что касается качества кода, processing, как я понимаю, вариация на тему классического C, которому не 10 и не 20 лет, который использовался и используется в т.ч. для программирования достаточно ограниченных по ресурсам устройств. А C-компиляторы (без плюсОв) давно отточены и генерят неплохой код. Так что для работы с некритичными по времени и объему задачами C вполне подходит. При том, что си-компилятор генерит вполне компактный код, он позволяет не задумываться ни о хранении переменных в регистрах, ни о стеке при работе с подрограммами. Как минимум для работы с альфа-бета версиями софта Си в 90% случаях годится - и предпочтительней, чем голый ассемблер.

Если алгоритмически отлаженная версия программы не устраивает в плане объема кода или времени выполнения - всегда можно или отдельные куски, или всю программу переписать на ассемблере. Но отладка сколько-нибудь сложного кода на ассемблере способна в разы затормозить работу. Преписать уже отлаженную сишную программу на ассемблер в большинстве случаев окажется быстрее.

> этот язык развращает

Классический C не может развратить :) Развращают и оболванивают - языки типа бейсика :) Вообще, язык стоит выбирать в зависимости от задачи. А одна из задач, которую мог бы решать Arduino, как мне кажется - это пробуждение интереса у тинейджеров к созданию собственных устройств. И тот же processing позволит интересующемуся подростку быстрее заняться реализацией своих идей. А разобравшись с азами, можно ассемблером заняться - если будет необходимость и желание :)

Спасибо за ссылки :)

Re: видел твой код на хабре

Date: 2010-02-11 12:45 pm (UTC)
From: [identity profile] kalobyte.livejournal.com
я не имел в виду переход на асм, сам его с 94 года не осилил
я к тому, что твоя плата использует очень дорогой мк для твоей задачи
мега8 стоит 1.5 бакса и ты бы могла сделать свою клавиатуру с бездрайверным хид усб
сам софтовый усб занимает 2к и у тебя остается еще 6к
например http://www.obdev.at/products/vusb/hidkeys.html

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

и про компиляторы
гцц дает разницу до 56 байт между while и for в пользу while
разница между компиляторами для авр тоже огромна и гцц не самый оптимальный

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

Re: видел твой код на хабре

Date: 2010-02-11 01:10 pm (UTC)
From: [identity profile] telegamochka.livejournal.com
> я к тому, что твоя плата использует очень дорогой мк для твоей задачи

Знаю, я покупала самую "навороченную" именно для того, чтобы на ней можно было собирать прототипы самых разнообразных устройств. Хотелось бы сделать аккордную клавиатуру, датчик пульса и беспроводной алфавитно-цифровой дисплей (по блюту цепляется к нетбуку терминала и выводит на очки-дисплей окно консоли в текстовом режиме). "Морзе" - это просто маленький простой проект для того, чтобы освоить ардуину. Потом его можно будет расширить до действительно аккордной клавиатуры. А делать ее мы собираемся уже на PIC - и, возможно, с переписыванием программы на ассемблер (смотря что оправданней получится - или использовать немного более дорогой PIC'овский МК, или потратить время на переписывание кода под более дешевый). Так что Ардуино - это просто ввариант для быстрой сборки прототипа и проверки - стоит ли тратить время на устройство, реализованное именно таким образом. Если девайс окажется неюзабелен, обиднее будет убить на него месяц качественной разработки, чем потратить неделю на быструю сборку из Arduino :)

> плюс у ардуины конечно же есть в привлечении людей к микрокомпутерам, но без изготовления плат все равно там нельзя

Почему? Если пользоваться уже готовыми shield'ами, вроде, никакой пайки-разводки не нужно? Другое дело, что мне для подключения к ардуине купленных жк-дисплея и бт-модуля придется ваять какую-то обвязку (надеюсь, правильно употребляю термин).

> хотя щас платы изготовить можно в домашних условиях при помощи ламинатора, у меня там фотка и описание есть

Про лазерно-утюжную тезнологию я знаю :) Но для меня спаять что-то сложнее оборванного телефонного провода - проблема. Когда мне нужно было припаять к COM-разъему 9 проводков, я, за полчаса осилив 5, сломалась. Так что припаивать микросхему или доже панельку на плату - недоступное для меня искусство :))

Кстати, в плане компактности кода - какой компилятор ты бы рекомендовал под AVR?

Re: видел твой код на хабре

Date: 2010-02-11 01:48 pm (UTC)
From: [identity profile] kalobyte.livejournal.com
я тебе могу сказать по опыту, что применять тот твой индикатор для вывода из консоли смысла особого нет
точней если ты только будеш выводить туда цифры и чуток букв
например вот так http://img142.imageshack.us/i/dscf00035ha.jpg/

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

к тому же юзабельность зависит от внешнего вида и корпуса
это самое сложное в изготовлении девайса
так что тренируйся на выпаивании из разных плат, это совсем несложно при наличии правильного паяльника и инструмента
вот смотри http://www.youtube.com/watch?v=FBhq_lnxRHA&feature=related

компилятор бери гцц, но лучше iar, хотя он платный и распространен у профи
библиотек больше под гцц

Re: видел твой код на хабре

Date: 2010-02-27 10:30 pm (UTC)
From: [identity profile] ibnteo.livejournal.com
ATmega8 - 160 р.
ATmega168 - 260 р.
Не сильно то он дороже. К тому же для мега8 нужен программатор, например внутрисхемный стоит 960 р. (BM9010 USB). CraftDuino (вариант Arduino) стоит 900р., его просто берешь, и подключаешь к компьютеру через USB, больше ничего не нужно, ни паять (на первых этапах), ни собирать первую схему.

(все цены с chip-dip.ru)

Вот был бы конструктор, аналогичный по возможностям Arduino, тогда можно было бы сравнивать.

Вам легко рассуждать о ассемблере, микроконтроллерах, так как разбираетесь в этом хорошо. Но что делать новичкам в схемотехнике, потратить годы без возможности сделать что-то реальное? Я лучше предпочту легкий путь, через Arduino, и лишь потом, когда его будет не хватать, можно будет подумать о чем-то другом. По любому так будет быстрее и лучше, после Arduino освоить более простой (и сложный) МК будет проще, чем изначально начинать с него. Ведь даже не понятно с какого конца браться, надо кучу всего сделать, прежде чем получишь хоть какой-то результат.

Re: видел твой код на хабре

Date: 2010-02-28 12:52 am (UTC)
From: [identity profile] kalobyte.livejournal.com
щас уже полно материала по программированию для совсем начинающих
в ардуине стоит загрузчик и он привязан к частоте кварца
не для всех проектов пойдет дефолтный кварц и программатор все равно нужен будет
щас можно сделать усб программатор на базе фт232 или 245 без мк

Re: видел твой код на хабре

Date: 2010-02-28 02:14 am (UTC)
From: [identity profile] ibnteo.livejournal.com
Я пока не нашел даже близкое к Arduino для начинающих. Поэтому буду делать первый проект на нем. А дальше посмотрим. Вы мне говорите о проблемах, о которых я даже не подозреваю. Когда разберусь с Arduino, может быть и буду делать программатор, и использовать другие микроконтроллеры. За информацию спасибо, буду иметь ввиду.

Re: видел твой код на хабре

Date: 2010-02-28 02:30 am (UTC)
From: [identity profile] kalobyte.livejournal.com
да у меня на сцайте есть или http://easyelectronics.ru/category/avr-uchebnyj-kurs

Profile

telegamochka: (Default)
telegamochka

April 2017

S M T W T F S
      1
234 567 8
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 23rd, 2025 04:15 am
Powered by Dreamwidth Studios