Пользователь
0,0
рейтинг
25 июля 2008 в 18:30

Знакомство с Arduino

Введение


Торжественно открываю новый блог на Хабре, посвящённый Arduino! Блог об универсальном opensource-микроконтроллере Arduino, который будет интересен всем любителям микроэлектроники, самодельных гаджетов и всем, кто не боится взять в руки паяльник.

Внешний вид платы Arduino Diecimila Arduino представляет собой линейку электронных блоков-плат, которые можно подключать к компьютеру по USB, а в качестве периферии — любые устройства от светодиодов до механизмов радиуоправляемых моделей и роботов. Программы для него пишутся на простом и интуитивно понятном си-подобном языке Wiring (c возможностью подключения сторонних библиотек на C/C++, например, для управления LCD-дисплеями или двигателями), компилируются и загружаются в устройство одной кнопкой, после чего вы тут же получаете работающий автономный гаджет. Никакого ассемблера, никаких лишних проводов и дорогущих деталей и программаторов — чистое творчество, включай и работай!

Применение


После короткого рассказа друзьям и знакомым про Arduino («это типа электронного конструктора, микро-ЭВМ, в который можно загрузить любую программу и получить любое другое устройство») самый часто задаваемый вопрос «А зачем это всё?» или «Какая мне от этого выгода?» Скучные люди, не правда ли? Неужели среди ваших знакомых нет ни одного радиолюбителя, а может вы и сами радиолюбитель?
Применение Arduino очень простое — не забавы ради, а развития мозга для. Интересно же линуксоидам ковыряться в коде ядра? Какая от этого польза? Почему бы вам не заняться «железным» (в противовес «софтовому») творчеством? Вот прямо сейчас рядом со мной сидит коллега-дизайнер и разбирается… с нейронными сетями. В общем что говорить, забыт дух технического творчества, забыты радиокружки и авиамодельные клубы. Все только сидят у своих компьютеров и сделать ничего путного в железе, кроме как воткнуть вилку в розетку, не могут :) Соберите свой веб-сервер, цветомузыкальную установку или прикольного робота!
Сообщество любителей Arduino уже знает об успешных примерах: GPS-трекер с записью на SD-карту, простой аудиоплеер, Twitter-дисплей, электронные игры с дисплеем и тачскрином… Попробуйте купить радиодеталей и сделать что-то своё! Есть даже готовый набор для создания четырёхъядерного Arduino-кластера...

Технические характеристики


Arduino Diecimila представляет собой небольшую электронную плату (далее просто плата) ядром которой является микроконтроллер ATmega168. На плате есть: 14 цифровых входов/выходов, 6 из которых могут работать в режиме ШИМ (PWM) (а следовательно управлять аналоговыми устройствами вроде двигателей и передавать двоичные данные), 6 аналоговых входов (исходной информацией служат не логические 0/1, а значение напряжения), тактовый генератор на 16 МГц, разъёмы питания и USB, ICSP-порт (что-то вроде последовательного интерфейса для цифровых устройств), несколько контрольных светодиодов и кнопка сброса.
Этого вполне достаточно, чтобы подключить плату к USB-порту компьютера, установить нужный софт и начать программировать.

Краткая спецификация
  • Микроконтроллер: ATmega168
  • Рабочее напряжение: 5 В
  • Входное напряжение (рекомендуемое): 7-12 В
  • Входное напряжение (пределы): 6-20 В
  • Цифровые порты ввода/вывода: 14 портов (из них 6 с ШИМ-сигналом)
  • Аналоговые порты ввода: 6 портов
  • Ток для портов: 40 мА
  • Ток для 3.3В источника: 50 мА
  • ППЗУ (Flash Memory): 16 KB (из них 2 Кб используются загрузчиком)
  • ОЗУ (SRAM): 1 Кб
  • ПЗУ (EEPROM): 512 байт
  • Тактовая частота: 16 МГц


Питание
Питание платы осуществляется двумя способами: по кабелю USB (при этом никаких других ухищрений делать не нужно, используется в процессе отладки), либо по специальному разъёму вроде того, что у ноутбуков. В радиомагазине можно купить такой разъём и присоединить к нему аккумулятор или 9-тивольтовую батарейку типа «Крона». Источники питания можно менять перемычкой на плате.

Преимущества и недостатки


  • Цена. В Москве Arduino Diecimila можно купить меньше чем за 1000 руб. При этом вы покупаете законченное (ну почти) устройство, не требующее дополнительного оборудования, такого, как дорогостоящие программаторы и отладочные стенды, и не требует платного софта.
  • Кроссплатформенность. Программное обеспечение Arduino работает на Windows, Macintosh OS X, Linux и других операционных системах, поскольку является открытым и работает на Java. Большинство микроконтроллерных систем ограничиваются Windows.
  • Простая среда программирования. Программная оболочка является простой в использовании для новичков, но достаточно гибкой для продвинутых пользователей, чтобы быстро достичь нужного результата. Особенно это удобно в образовательной среде, где студенты могут с лёгкостью разобраться с платформой, а преподаватели — разработать учебный курс и задания.
  • Открытый исходный код. Язык может быть расширен с помощью C++ библиотек, более продвинутые специалисты могут создать свой собственный инструментарий для Arduino на основе компилятора AVR C.
  • Открытые спецификации и схемы оборудования. Arduino основан на микроконтроллерах Atmel ATMEGA8 и ATMEGA168. Схемы модулей опубликованы под лицензией Creative Commons, поэтому опытные схемотехники могут создать свою собственную версию модуля для своих нужд. Даже сравнительно неопытные пользователи могут сделать макетную версию модуля, чтобы понять, каким образом он работает и сэкономить деньги.

Из недостатков отмечу, пожалуй, довольно убогую программную оболочку, низкую частоту процессора (чего на самом деле достаточно выше крыши и, кроме того, снижает энергопотребление) и малое количество «дисковой» (флэш) памяти для программ. При такой тактовой частоте и объёме памяти вряд ли получится собрать простой mp3-плеер. Однако вряд ли кто будет пытаться сделать на основе Arduino, скажем, управляемую крылатую ракету :) Кроме того, мне не удалось найти вменяемых исходников для сборки avr-gcc. Ну и само собой, придётся знать (или изучить в процессе) основы электроники на уровне «плюс/минус, резистор/конденсатор» — без этого точно никак.

Ссылки:


  1. Официальная поддержка Arduino
  2. Википедия
  3. Проекты на платформе Arduino
  4. Интернет-магазин наборов для сборки на платформе Arduino
  5. Купить контроллер Arduino в Москве


Постскриптум


В дальнейшем я постараюсь публиковать и другие заметки, расскажу, как собрать простые устройства при помощи Arduino и радиодеталей, купленных в магазине, а также опубликую демо-ролики готовых устройств. Ещё мне очень хотелось бы услышать мнение хабралюдей о данном явлении, узнать, о чём вы хотели бы почитать в следующих постах, перевести для данного блога ряд статей и быть может собрать небольшое русскоязычное сообщество фанатов Arduino. Да, и в связи с отсутствием нормального интернета дома не смогу ответить всем желающим сразу… приношу извинения.
Алексей @foxweb
карма
70,9
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (128)

  • +4
    Спасибо за топик. Сам в радиотехнике почти не соображаю, но все хочется заняться.

    Интересно бы было почитать про то, как на таком контроллере можно сделать простенькие устройства, к примеру, управление моддинговыми девайсами (типа ламп, куллеров и тп)
    • 0
      Попробуйте восьмибитные atmega, например atmega8515 или что-нибудь из серии pic12. Очень удобные контроллеры для того, чтобы поэкспериментировать. Выпускаются в DIP корпусах и легко впаиваются в макетные платы. Есть компиляторы C.
      • 0
        Вот здесь есть некоторые официальные application notes:
        http://atmel.com/dyn/products/app_notes.asp?family_id=607
        • 0
          Спасибо, если всетаки руки дойдут, попробую
    • 0
      http://easyelectronics.ru
      начал проект именно по радиоэлектронике. Упор на простоту и понятность изложения.

      Там же курс по AVR и реалтаймовый лог по созданию моего робота :)
    • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    Как без асемблера?:)
    А так, интересная девайсина, сам имею небольшой опыт учебной работы с микроконтроллерами (именно на асме), и возможно как-то с напарником попробуем что-нибудь сварганить на его базе.
    Хотя, это в далеком необозримом будущем:)
    • 0
      Как без асемблера?:)

      Автор имел в виду, что для успешного программирования данного девайса не требуется знания ассемблера данного микроконтроллера. Все происходит на высоком уровне. Соответственно, можно не заморачиваться архитектурой и прочими вещами, а просто «творить» :)
      • 0
        Поглядел на ник. Ы, почти родственник :)))))))
  • +2
    это чудо было бы более полезно с небольшим набором периферии, т.к. навесить микрочип для управления чем-либо уже давно не интересно. лет 5 назад продавал кто-то за бугром "базу" робота (на 3-ех колесах) - вот это действительно интересно... потому как у нас хрен найдешь...
    • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      А в чем проблем? берешь любую игрушку, выкидываешь потроха и вот тебе шасси. Я сделал так:

      easyelectronics.ru/img/Robot/PowerModule/chasis-all.jpg

      Печатные платы промышленного почти качества можно делать методом утюга. Получается примерно следующее:
      easyelectronics.ru/img/Robot/PowerModule/shasis-module-pcb-bottom.jpg

      Собственно у меня на сайте про создание этого робота я сейчас последовательн о и пишу. Как двигатели запитать, как сенсоры сделать и прочее.
      • 0
        1 от игрушки — это для меня — фигня. нужно оси на подшипниках. т.к. у пластмассовой игрушки ресурс маленький.
        2 метод утюга — знаю. я даже сам рисовал и травил. и атмеловский чип программил. но когда видел, что «за бугром» продаются нормальные наборы ходовая + электроника (т. е. остается только собрать и запрограммировать)- как то грустно становилось.
        • +1
          Можно сидеть и грустить, что все плохо и что где то продается идеал, мечтать о сферических конях в ваккуме… И тупить на месте, так ничего никогда и не сделав.

          А можно взять и начать делать. Да шедевр вроде AIBO вряд ли получится, да ресурс низкий. Да точность механизмов ни к черту.
          Зато будет хоть какой то результат. Платформу можно апгрейдить, модернизировать электронику, наворачивать фичи. Со временем переработать механику. И так по наростающей.

          Не хочется делать самому — купи на Ебай какого нибудь Айбо и имей его в мозг сколько влезет. Но разве это интересно? Вся соль именно в создании по максимуму своего терминатора.
  • 0
    Хочу!! =))
  • 0
    Было бы хорошо почитать про применения данного устройства прямо в блоге. Например что сам автор чудил с этим куском гико-пластмассы.
    • 0
      Начудил небольшую гирлянду из 6 светодиодов и счётчик на одном семисегментом индикаторе (как в калькуляторе).
      • 0
        Прикольно, а проекты какие то есть на примете?
        • 0
          Подключить двухстрочный символьный LCD и, скажем, сделать минипульт для софтового плеера (отображение тэгов, кнопки "play/stop"), выводить прогноз погоды, наличие новой почты и проч.
          • 0
            Моно использовать дисплей от нокии 3310. Стоит около ста рублей, а возможностей дает больше. Правда мелковат немного. =) Благо есть еще дисплеи от другх телефонов в том числе и цветные, да и от КПК можно использовать... Но ряд даже цветных дисплеев от телевонов в разы, если не на порядок дешевле заводских образцов (я имею в виду промышленные образцы созданные специально для радиоэлетронных разработок)
          • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    Очень здорово, давно была мечта поковыряться с чем-нибудь подобным, однако не было времени.. Если на момент когда появятся деньги AND время это желание не исчезнет, то куплю экземплярчик)
  • 0
    Сразу "остужу" народ - в ЛинуксЦентре закончились :( Будут не ранее 1 сентября.
    • 0
      Вот досада(( А я только две недели назад на Авиамоторной купил.
    • +4
      Хабраэффект!
  • +1
    Как раз управляемую ракету на таком контроллере сделать элементарно :-)
    В ЗРК "Бук" на борту ракеты стоит компьютер с 1 или 2К памяти (не помню точно, давно военка была).
  • 0
    давно это было =). раньше занимался микроконтроллерами, именно от avr, если кому интересно рекомендую посетить сайтик http://www.avrfreaks.net/ много чего интересного есть.
    • 0
      небольшая неточность с моей стороны фирма не avr а atmel называется.
      • 0
        именно AVR - название этих микроконтроллеров ;)
        фирма-производитель - Atmel
        • 0
          хм... ступил :D
          жалко, что нельзя редактировать комменты =)
  • +1
    Программы для него пишутся на простом и интуитивно понятном си-подобном языке Wiring (c возможностью подключения сторонних библиотек на C/C++, например, для управления LCD-дисплеями или двигателями),


    Не пугайте так сразу новым языком :) Работать с Arduino можно и на Ruby и на Python
    • 0
      Язык очень похож на C++ (я даже подозреваю, что это он и есть, только с адаптацией под avr).
    • 0
      Уточню: Ruby, Pyton, PHP и другие "консольные" языки работают не с самим железом, они всего лишь читают/пишут данные из/в Arduino. Что тоже плюс.
      • 0
        Еще уточню: да - Python для работы с Arduino использует бибилотеку читающую/пишущую в порты (что что дает некоторые особенности при работе)
        А для Ruby есть специальная библиотека RAD - "Ruby Arduino Development" которая реализует Arduino API (полностью на сколько можно судить) и может транслировать программы для Arduino с Ruby на C++.
  • 0
    Спасибо. Очень интересно. Пару лет назад забросил радио-электронику, попробую восстановиться с этой штучкой. 16Kb, конечно, да.. Помню делал машину, для которой надо сначала записать траекторию, там использовали советскую плату с 64Kb памяти.
    • 0
      Случаем плата не от клона спектрума?
      Спектрум в этом плане очень мощный, но габариты и прожорливость...
      • 0
        Сейчас не скажу уже, но размером была в половину этого контроллера (по большей стороне).
    • 0
      А я с десятого класса мечтал собрать робота на Z80... позже понял, как это было глупо, а потом ужёл в программирование. Но мысль собрать автономный девайс с мозгами меня всё это время не покидала.
      • 0
        *ностальгирует* я свой первый z80 выковырял из весьма занятного АОН, Русь-13с назывался (тогда я не знал, что спектрум, который у меня лежал рядом - это тоже z80, давно это было). С этого и началось мое знакомство с электроникой...
  • 0
    Отличная штука! Всегда напрягала необходимость делать печатную плату и приобретать программатор для подобных девайсов на пиках. А тут уже все готово, твори не хочу!
    * С ностальгией посмотрел на полку с журналами радио.
    • 0
      Такая же фигня (см. мой комент выше)
  • +4
    Старенький ATmega168 (http://www.atmel.com/dyn/products/device…) принадлежащий к типу устройств AVR® 8-bit RISC (http://atmel.com/products/). Наверное нужно говорить, что заслуга возможности программирования этих устройств главным образом лежит на Atmel.

    >Никакого ассемблера, никаких лишних проводов и дорогущих деталей и программаторов — чистое творчество, включай и работай!
    >Все только сидят у своих компьютеров и сделать ничего путного в железе, кроме как воткнуть вилку в розетку, не могут :)

    Здесь ведь так же получается, включил и работай, только в розетку включается более примитивное устройство :) На самом деле никаких программаторов для атмеловских контроллеров не нужно, прошивка делается через RS-232.

    Даже не знаю, во вред это устройство железному творчеству или нет, всё же заменитель скрывающий сущность атмеловских контроллеров.
    • +2
      Железному творчеству не во вред. Собрать что то работающее проще, а если человек вовлекеться и больше захочет - так что его остановит.
      • 0
        Напоминает анекдот, "Раньше моя кошка тоже боялась пылесоса, но ничего, потом втянулась" :)
    • 0
      А можно поподробнее про прошивку без программатора? Давно хотел с чем-то таким поиграться, но останавливала необходимость наличия программатора.
      • 0
        Если вкратце, то как один из вариантов, собирается схема и делается вывод для переходника от вашего устройства на RS-232 компьютера для программатора PonyProg. Далее создаётся программа, тут тоже несколько вариантов, после чего компилируется и заливается в устройство.

        Лучше всего накачать в сети книг по атмеловским микроконтроллерам и там всё прочитать. Arduino же так понимаю избавляет от пайки и переходник для заливки программы уже готов, так что пользователь сталкивается лишь с программированием.
  • +3
    если всё спаять вручную и вместо USB использовать LPT порт то выйдет менее 200 рублей
    • 0
      раз уж на то пошло, мне в свое время вроде бы попадалось руководство, как своими руками сделать evaluation board для одного атмеловского контроллера, у которого среди прочего еще и USB был
      А основная фишка данного девайса, видимо, в том что работать с ним можно на продвинутых Ruby и Python, а не на каком-то там страшном и ужасном С
      • 0
        Всегда отдавал предпочтение Ассемблеру перед Си, если дело касалось микроконтроллеров.
        Даже не представляю, что будет, если новичку дать в руки тот же Питон на микроконтроллере.
        Си (а так же, упаси Боже, Питон и Раби) убивает саму суть - понимание логики, внутренностей.
        В микроконтроллерах нужно понимать, что и как. Это не PC, где внутрь смотреть давно уже не нужно.
        Начинать нужно именно с Ассемблера. И когда всё станет понятен микроконтроллер (а понятен он станет только на асме) - переходить уже на языки высокого уровня.
        К тому же на этом девайте, я уверен, можно и на асме писать. Точно так же, как и на девайсе, собранном на коленке на макетке за полчаса - использовать программы на Питоне. Здесь уже от программы зависит (от среды разработки). Ведь всё так или иначе компилируется в машинный код ;)
        Питон и Раби для другого делали... Совсем для другого ;)
        P.S. Сейчас главным образом на Питоне программирую. Микроконтроллеры давно уже забросил =(
        • 0
          Всё правильно. Небольшое примечание: Python и Ruby применяются вовсе не для программирования контроллера, а для СВЯЗИ с ним через порт и чтения/записи данных.
          • +1
            было бы удивительно, если бы на этих языках нельзя было написать софт, "общающийся" с контроллером ;)
            не вижу принципиальной разницы в том, на чём писать программу для связи с девайсом. пусть это будет Python, Ruby, Perl, или С++.
            к девайсу это уже не имеет никакого отношения, и плюсом оного не является ;)
        • +1
          Все зависит от сложности задачи. Очень тяжело сопровождать 100-200 кб кода, написанного на ассемблере. Тем более, не понимая, что в контроллере происходит, невозможно работать с ним ни на асме, ни на C. Так что на счет убиения сути в вероятно погорячились ;) Правда, некоторые аспекты действительно видны только при использовании ассемблера. Но это уже связано непосредственно с процессором контроллера.
          • 0
            200 кб кода (на любом языке) - это даже мало.
            если, конечно, речь идёт о серьёзных вещах, а не о "программе для моргания светодиодами", или "программе для подключения LCD" - всё это детский лепет.

            всё зависит от того, как написан код. если руки прямые, то и несколько мегабайт исходников сопровождать - одно удовольствие ;)

            а вообще, кстати, респект автору поста за популяризацию...
          • 0
            Для AVRов существует "графическая среда" разработки. Называется Algorithm Builder. Суть: алгоритм "рисуется" специальными средствами (рисунок напоминает блок-схеиу) транслируется в готовый дамп . Эта же оболочка с помощью простейшего программатора позволяет "зашить" дамп в кристал по интерфейсу ISP. Кроме того, для любителей ассемблера автоматически создаётся текстовый файл на асс.
            • –1
              А на русском языке вы программы писать не пробовали?
              Точно такое же извращение :D
              Хотя, для того, чтобы приобщить детижек к высокому... Возможно и можно. Но не для работы.
              • –1
                Чёрт. Хабр глючит. "детишек", конечно же.

                P.S. Фраза о том, что на выходе можно получить код ассемблера вообще убила! :D Смысл?! Те, кто смогут разобраться в этом файле никогда не будут пользоваться этим недоразумением (я про AB). Уж лучше на Си писать (ничего против Си не имею и сам на нём писал).
                P.P.S. Любой нормальный компилятор Си выдаёт файл с кодом на языке ассемблера ;)
              • 0
                Программы я писал на всяких языках, но от оценок типа "извращение" в адрес чужого мнения стараюсь воздерживаться!
                • –2
                  Что ж Вы такой впечатлительный-то?
                  Я ведь не лично про Вас это сказал, а про AB. Готов повторить, кстати ;)

                  Сколько раз уже зарекался лезть в подобные дискуссии. И всё равно лезу.
                  Не место профессионалу среди любителей. Так же, как со своим уставом в чужой монастырь ходить не стоит...
                  Не будут они его слушать. Всем подавай халявы - чтобы ничего делать не нужно было, но всё было супер. Изучать никто ничего не хочет. Поймите, что гораздо полезней изучить ассемблер, чем тыкаться в AB, не понимая самого главного...

                  P.S. Ничего личного. Это я на всякий случай - вдруг обидетесь ещё ;)
              • +1
                Не уверен, что "русский язык" - извращение, а русская разработка Algorithm Builder - недоразумение, как Вы писали ниже! Известно, что "практика-критерий истины"! Давайте мысленно проведём эксперимент. Первого сентября придём в какую-нибудь среднестатистическую школу. Выберем, например, восьмые классы: Вам - 8А, а мне - 8Б. Поставим перед учениками простенькую задачку: написать програмку для ATMega8535, которая бы измеряла и выводила на индикатор температуру от термопары за 0,1 сек от момента подачи питания с точностью +- 1 гр.С. Достаточно простая задачка, как видите. Вы им будете рассказывать про ассемблер и языки высокого уровня, а я - про "русское недоразумение" - АВ. А через неделю подведём итог! Уверен, в моём классе 75% учеников справятся с этой задачей, а в Вашем???
                • –2
                  Не стоит вырывать слова из контекста. Русский язык - велик и могуч. Но только в общении и в литературе.

                  А программирование на русском языке (точно так же, как и программирование "графикой") - извращение.
                  У меня даже язык не поворачивается назвать ЭТО - программированием. Бред.
                  Русская разработка, - как же! Американцы разработали Си, японцы - Ruby, а русские - AB. "Квадратики, стрелочки, - супермегапрограмма"...
                  Чем гордитесь-то?!... Мне вот смешно. И стыдно.

                  Дальше. Вы лишь подтвердили мои слова. Про детишек.
                  AB не годится ни для чего большего, чем "игрушки" типа "моргания светодиодами", и для обучения людей, совсем не понимающих ничего в электронике или в программировании.
                  Насчёт Вашего примера. Через неделю подавляющее большинство детей из Вашего класса забудут об AB, о термопарах, о программировании. Т.к. они не понимали, что они делали. А в моём классе если хоть один и справится с задачей, то он способен будет дальше развиваться самостоятельно. И не забудет этого, т.к. он будет понимать, что он делает.

                  И что лучше? 75% детей, которые ничему так и не научились, и которым это не нужно, или 1 (возможно!) способный ребёнок, который всё понял и который будет заниматься этим дальше? Риторический вопрос...

                  Вы привели пример, который очень точно отображает систему обучения в России (я про ВУЗы). Все повторяют как мартышки за преподавателями. Изучают те вещи, которые далеки от реальности (пример - изучение Фортрана, вместо того, чтобы изучать C++, Python, или хотя бы Perl. ещё пример? изучение excel в течение года. и это на факультете информатики!). Ни своего собственного мнения никому не позволено иметь, ни своего способа решения задач. Тупое повторение. И зубрёжка. Как следствие - забывание материала сразу же после экзамена (девяносто девятью процентами студентов).

                  Только познание (самостоятельное, причём) - есть путь к совершенствованию. Если тебе самому это нужно, то ты это изучишь. И без ВУЗов. Но что-то я отвлёкся...

                  Я лично знаю одного человека, который начал программировать в четвёртом классе.
                  Знаете, как он это сделал?
                  У него был компьютер под названием "Спектрум". И однажды он заинтересовался тем, что же такое там пишется на экране при загрузке программ. Потыкался, потыкался, и открыл исходник программы, на Basic'е. Поскольку там всё было написано по-английски (а этот язык он изучал с первого класса), и довольно понятно, он разобрался в том, что и как делает то или иное слово, команда. Сам понял, что такое переменные. К тому же на клавиатуре все команды были написаны. Методом проб и ошибок научился писать свои программы. Заметьте, - без книжек вообще! Без изучения того, что такое программирование вообще. Только по исходнику. В чётвёртом классе. Освоить программирование. Сейчас работает программистом. И совершенствуется дальше - не останавливается.
                  Вы всё ещё хотите сказать, что 75% детишек на это способны?

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

                  P.S. не вижу смысла продолжать дискуссию. у Вас своё мнение. и если Вам удобно работать в AB - ради Бога, работайте. но позвольте мне, как человеку с огромным опытом работы с микроконтроллерами и в программировании дать Вам совет.. изучите ассемблер. даже если Вы не будете его использовать, вреда Вам это не принесёт. Только пользу. Уверен, Вы сами всё поймёте, когда его изучите ;)

                  Желаю удачи и творческих успехов ;)
                  • 0
                    Я тут человек новый. А как поставить "+"? Чё-то у меня все значки в пассиве...
                    • 0
                      Снимаю перед Вами шляпу, жму Вашу руку! =)
                      /результат личной переписки/
                • 0
                  АВ странная среда. Может на ней и можно что то написать, но это то же самое что писать в абсолютном ваккуме. Сейчас я на асме могу найти кучу готового кода под любую задачу. Только подправить чуток. А про Си и говорить нечего. Тот же GCC уже содержит все от пинания битов порта до эзернета. А АБ? Ну научишься ты на нем писать, а толку? Для моргания лампочками и каких нибудь простеньких вещей прокатит. Детишек можно учить, ага. А серьезную вещь на нем сделать сложновато.
  • 0
    По теме хотелось бы очень почитать о подключении TFT экранов (ибо есть парочка штук), их распиновку и прочее, примеры с тач скрином очень интересуют.

    А не по теме. Программатор для Атмеловских МК делается элементарно своими руками.
    • 0
      Ну следует понимать, что панели вроде мониторов к контроллеру не подключить. Но маленькие OLED или LCD дисплеи подключить можно. Как такое сделать самому - мне не попадалось, но ребята из Adafruit (см. ссылки) рассылают наборы с OLED-дисплеем и тачскрином. Там же можно и видео посмотреть. Двухстрочные символьные LCD подключаются элементарно при помощи пары проводков и библиотеки (см. http://arduino.cc)
      • 0
        Панели, вроде мониторов подключить можно.
        Только никакой AVR'ки не хватит на то, чтобы обеспечить необходимую скорость обновления экрана.
        Ну и память внешнюю придётся ставить. А так же логику на ПЛИСе ;) Но это уже совсем другая история...
        • 0
          Так и я о чём. Частоты и памяти мало.
        • 0
          Ну, что-нибудь скромное, разрешением 320x240, АВРка потянет.
          А ещё можно подключить телевизор! И никакой внешней памяти (конечно, от задачи зависит).
        • 0
          НУ, поди, светотвое табло можно сделать будет?
  • 0
    Хотелось бы почитать о подключении TFT панелей, их использование ну и конечно очень интересуют тачскрины.
    • 0
      Извиняюсь, браузер глюкнул не отобразил предыдущее сообщение.
  • 0
    а сколько это чудо техники стоит?
    • 0
      В тексте написано же, меньше 1000 рублей.
  • –1
    На сайте Coding 4 Fun набрел как-то на контроллер, работающий под управлением .NET Micro Framework. Возможности, конечно, огромные. Накакого ассемблера, можно писать на C# :) Девайсы можно посмотреть на GHI Electronics. Цены чуть повыше, но было бы желание. Там есть и фотки и к какому-то из девайсов видео с демонстрацией работы тач скрина. Контроллер не просто может работать от USB, может быть и USB-хостом, может работать с BT, сетью и т.д.

    Вот только все равно для себя, кроме как поэксперриментировать, реального применения не нашел, а потому не заказывал..
  • +1
    Ааа =)
    Сбылась мечта идиота =) Давно хотел нечто подобное! Спасибо за наводку!
  • 0
    Кстати, если кому интересны подобные вещи, то можно купить обычную отладочную плату с микроконтроллером. Например такую:
    http://www.terraelectronica.ru/pdf/LDM/L…
    Или любую подобную.
    Там стоит контроллер и некоторый набор периферии. Так же на таких платах есть макетное поле, на котором можно что-нибудь собрать. Если кому интересно - пишите. Могу подсказать, как можно с этим поиграться.
    • 0
      Ссылку посмотреть не могу, но те стенды, которые я видел, в разы дороже... А на макетке за 300 рублей можно много чего собрать, как из LEGO, этим она и хороша.
      • 0
        Это да. Правда та плата, на которую я дал ссылку стоит ARM контроллер с пачкой интерфейсов. Такие вещи редко делают в таких корпусах, чтобы можно было без геммороя смонтировать на макетке. Но вообще можно, конечно, поиграться с МК и за меньшие деньги. Макетка 100 руб + контроллер 50-100 руб. И немного обвязки, рублей на 30.
        Кстати, демонстрационные длаты не такие уж дорогие. Например, та, на которую я дал ссылку стоит около 1.5 килорублей.
  • 0
    пока только толком не понял, а с помощью этой фиговины можно сделать usb-девайс, который будет например включать/выключать свет в комнате? чтоб с компа софтварно этим делом рулить)))
    • 0
      Там есть простые функции ввода/вывода в порт Serial.read(), Serial.print(data) - в общем всё точно также, как в консоли. Можно даже через инет удалённо =)
  • +1
    это конечно здорово!!! но Chumby получше будет : OpenSource, Linux!, Wi-Fi, TouchScreen 3.5 USB2 и делайте что хотите.... в готовом виде стоит 170$...если самому...то около 70$ выйдет
    http://www.chumby.com
    • 0
      Немного другого типа и уровня девайс, но тоже заслуживает внимания. Слишком "тяжёлый". Arduino для более простых задач.
  • 0
    foxweb, спасибо, вы молодец!
    Давайте как простейший пример разберём создание устройства, которое бы вела лог когда дверь в комнату открывалась, закрывалась.
    • 0
      Спасибо за поддержку. Открывание-закрывание двери делается элементарно при помощи микропереключателя или оптопары и, скажем, линукс-консоли =)
  • 0
    Вот еще подобна штука, дороже, но зато оборудованна беспроводным интерфейсом
    Работает от двух микропальчиковых батареек
    Кроме того к ней можно докупать кучу разных датчиков, дисплеев...
    200$ за 2 шт.
    "Компания Sentilla сообщила о создании самого маленького в мире Java-компьютера — Sentilla Perk Kit. Он представляет собой универсальный набор для разработчиков, позволяющий создавать небольшие прикладные системы с беспроводным подключением. По физическим размерам разработка сопоставима с монеткой, а ее сильными сторонами, помимо миниатюрности, являются малое энергопотребление и поддержка сетевого подключения.

    В набор входит все аппаратное и программное обеспечение, необходимое для создания миниатюрных устройств с использованием Java Platform Micro Edition (JavaME) — версии Java, оптимизированной для таких приложений...."
    http://www.ixbt.com/news/hard/index.shtm…
  • +1
    мы пользуемся вот этим: http://cubloc.com/ Цены пракчтически такие же, а вто набор компонентов существенно больше - блоки реле, клавиатуры, тачскрины, серводвигатели, LAN адаптеры для удаленного мониторинга, кард-ридеры и т.п.
    Правда, с доставкой в Россию могут быть проблемы.
  • 0
    Спасибо. Только сегодня видел эту новинку на ЛинуксЦентре, задумался, что интересная штука.. А тут уже блог =) Было бы очень интересно увидеть статью, где бы на примере разбирались следующие применения: включение/выключение оборудования 220В, плавная регулировка напряжения где-то в том же районе - ну и вообще, примеры стыковки этого девайса с иными устройствами. Очень приветствуются ссылки "читать дальше и глубже" =)
    • 0
      Постараюсь и дальше радовать интересными материалами :)
      Для работы с 220 В устройства потребуются тиристоры и чуть больше осторожности и аккуратности при экспериментах. Хотя есть и специальные чипы-регуляторы мощности - на вход - значение (цифровое или аналоговое), а на выходе сразу нагрузка.
  • 0
    Но никто видно не собирается останавливаться на достигнутом:
    http://www.arduino.cc/blog/?p=39
  • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    Интересно, а кто-нибудь чего-нибудь уже сделпл??? Поделитесь!
  • 0
    Автор, респект. доселе боялся связываться с микроконтроллерами, но тут... надо попробывать :) уже часов 5 сижу гляжу че он умеет=) еще понравился Arduino Nano...
    • 0
      Спасибо за поддержку. Готовлю рабочие примеры.
  • 0
    Очень заманчивая штука, хотя есть несколько спорных моментов на мой взгляд. Ну во-первых купив это устройство ничего толкового просто так не получиться, так как для действительно интересного устройства нужны уже далеко не такие дешёвые детали, как пошаговые электромоторчики (это если робота пытаться сделать) или например экран, который тоже не так дёшев, особенно если сенсорный :) Ну а во-вторых мне не понятно, почему вы несколько раз упоминали о дорогостоящих программаторах, у меня например лежит один, самостоятельно сделанный, ничего сложного, детали дёшевы, а штука ещё и работает однако, хотя конечно включать плату сразу в USB удобнее:)
    • 0
      USB программатор тоже можно скреативить на коленке за вечер. USBASP зовется.
  • 0
    давно хотел что нибудь подобное, уже ищу где купить :)
    • 0
      Я бы тоже купил с удовольствием, но пока не понятно как быть с с доставкой по России
  • 0
    Думаю что собрать управляемую крылатую ракету возможно - главное туда ноут поставить - пусть вычисляет координаты:) и даёт сигналы по ЮСБи и эта штучка управляет крылошками и подачей топлива(с навигацией она врятли справится на такой скорости)
  • 0
    Довольная удобная библиотека для AVR - http://www.mil.ufl.edu/~chrisarnold/components/microcontrollerBoard/AVR/avrlib/
  • 0
    Очень интересный девайс, хотелось бы в дальнейшем прочитать про подключение лсд дисплейчика и о регулировки напряжения в зависимости от температуры.
  • 0
    у меня такой вопрос - как наладить взаимодействие с программой на C++, просто считывать данные, которые на контроллере лежат(например считывать показания фоторезистора, чтобы можно было уменьшить уровень громкости плеера при темноте). Судя по кодам на сайте вся работа идет на джаве через последовательный порт системы. Проблем быть не должно на плюсах, но хотелось бы быть уверенным, ибо есть задумки писать резидентный софт для взаимодействия, а резидентная джава это мягко говоря ппц...
    • 0
      поясню что непонятно - устройство для разных ОС, подключается по usb. юсб не является типовым последовательным портом, просто так писать туда нельзя. значит должен быть драйвер и АПИ для взаимодействия с ним, или же юсб прикидывается виртуальным ком портом?
      • 0
        Именно эмуляция COM-порта. В первых версиях Arduino бфл именно RS232 порт.
        • 0
          спасибо. значит видимо можно открывать порт как файл с именем COM1 (цифру выбирать) в любом языке программирования и работать с данными на контроллере.
          • 0
            Да, вы всё правильно поняли.
  • 0
    MP3-плеер точно сделать нельзя? А FLAC, OGG?
    • 0
      Не получится из-за ограничений тактовой частоты и объёма памяти.
    • 0
      Только если для звука 5.1. Со тсарыми форматами не совместим :)
    • 0
      Есть контроллер AT89C51SND2 в нем есть встроенный MP3 декодер.

      Или взять MP3 декодер аппаратный, связать его с усилком и гнать ему на вход с флешки инфу, этот контроллер на раз справится с флешкой. Если будет не влом, то может скреативлю себе трешевый самодельный мп3 плеер :)
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      В данном контроллере есть ЦАП/АЦП, а также на сайте arduino.cc есть описание SID-эмулятора - звукового синтезатора Commodore 64.
  • 0
    Очень интересно, спасибо, ждем продолжения!
  • 0
    Всегда хотелось сделать что-либо подобное. Но опыта в этой области нету. Был бы очень, очень, очень,... рад увидеть любые howto для людей, которые с этим не знакомы. %))
    • 0
      хочешь хау ту? Их есть у меня — easyelectronics.ru
      Заодно отпишись как тебе подача материала.
      • 0
        Очень интересно. Спасибо. %))
  • 0
    Было б особо забавно из таких штук замутить хоть сколько-нибудь разумное существо. %))
    • 0
      Эм...Я один подумал о Валли?! =)
      • 0
        Тоже об этом думал и друзья замучили - сделай нам Валли =)
  • +1
    Судя по коментам, подобных девайсов довольно.
    Не подскажите, что лучше взять, так сказать для домашнего пользования - выключатель например автоматический сделать, датчики всякие температурный, освещений и т.д. В общем, чтобы возможностей побольше и чтобы программатор не покупать, а по USB или на RS-232 ?
    • 0
      Ну вот его и берите. Для этого Arduino и создавался в общем. Добавляем датчики и тиристоры - регулятор-автомат готов.
  • 0
    Мне сразу пришел на ум девайс контроля серверной комнаты. Руководство жмет денег на дорогие фирменные устройства во все серверные. А так, датчик температуры, датчик контроля доступа, датчик открытия дверок шкафов, ну и еще чего нибудь...по обратной связи чего нибудь забабахать.
    Сразу вспомнилась ТАУ+Микроэлектроника. Ностальгирую...
    • 0
      Помнишь ТАУ?
      В топку контроллеры тогда! Даешь аналоговое управление :)
  • НЛО прилетело и опубликовало эту надпись здесь
  • 0
    Кстати, подумал тут. А я ведь могу в своего робота, без изменения конструкции смело воткнуть АТмегу168 и прошить ардуриновский загрузчик. Потом добавить конвертер RS232-UART (выводы UART у меня на плате есть, на клеммник выведены) и можно будет работать с ардуриновским софтом как с родным.

    Может будем дружить организмами? Я вам совместимое железо — вы мне софт :)
    • 0
      Хорошая идея :) Пока мешает отсутствие толстого интернета для исследований…
  • НЛО прилетело и опубликовало эту надпись здесь
    • НЛО прилетело и опубликовало эту надпись здесь

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