18.07.2010

Систематизация

После очередных вопросов от читателей решил просмотреть блог и понял, что написал я уже порядочно, но кроме тегов заметок всё это никак не систематизировано. Решил завести статические страницы, в которых буду группировать информацию для более удобного доступа - типа тематических оглавлений - ссылки на них расположены в шапке страницы (прямо под названием блога). Также наметил несколько новых статей-уроков по Arduino, для совсем начинающих и не только ;)

17.07.2010

Уроки Wiring (4)

Урок 4. Немного о синтаксисе Wiring

(продолжение, начало см. Урок 3. Из чего состоит скетч?)

Чтобы освоить следующие уроки, придется позанудствовать  уделить немного внимания самому языку программирования Arduino - Wiring. На самом деле, он является надмножеством C++ для микроконтроллеров AVR: это такой "хитрый" язык, когда объекты использовать еще можно, а вот распределять динамическую память при помощи оператора new - уже нельзя. Мы рассмотрим объекты позже, когда будем учиться работать с библиотеками. Если вы уже знакомы с синтаксисом С/C++, можете смело забить пропустить этот урок и переходить к следующему.

Всем остальным хочу порекомендовать учебники по языкам: для C рекомендую Кернигана и Ритчи, а по C++ - Страуструпа или Шилдта. Сам по ним учился и гарантирую, что после прочтения этих книг вы как минимум получите грамотное и развернутое представление о языке. Я же, на свой страх и риск, попробую изложить необходимый на мой взгляд минимум.

15.07.2010

V-USB жив!

Почти год прошел с момента предыдущего релиза V-USB, драматически выросло число опубликованных гаджетов, улучшился раздел документации. Поэтому, встречайте новый релиз 2010-07-15, ChangeLog:
  • совместимость для новых МК с суффиксом "P" - например, ATmega328P
  • поддержка устройств, у которых более 64К флеша через USB_CFG_DRIVER_PAGE
  • теперь надо обязательно определять USB_CFG_CLOCK_KHZ в usbconfig.h
  • мелкие фиксы
Новую версию можно скачать здесь.

05.07.2010

Arduino FIO

Название: Arduino Fio
Совместимость с ArduinoIDE: да
Совместимость с Shield-платами: нет
Авторы-разработчики: SparkFun Electronics & Shigeru Kobayashi
Страница проекта: http://arduino.cc/en/Main/ArduinoBoardFio
Дата первого упоминания: 18.03.2010

Изучая список оригинальных плат Arduino неожиданно для себя обнаружил новую строку - Arduino FIO:


Эта плата стоит особняком от остальных Arduino. И дело даже не в том, что она разработана SparkFun, а в родстве с проектом Funnel.cc, задуманном в конце 2007 года и поддерживаемом японцами Shigeru Kobayashi, Takanori Endo и Ichitaro Masuda. Общая идеология Funnel выражается так:



Funnel - это свободный toolkit, состоящий из программной и аппаратной части. Обратите внимание на Server - он и является по большому счету центральной частью этого проекта, хотя и совершенно прозрачной для программиста. При написании программы вы просто добавляете к своей среде разработки (ActionScript3, Processing или Ruby) соответствующие библиотеки Funnel и манипулируете физическими объектами через экземпляры объектов аналогично тому, как это делается в Processing+Arduino.  Но в данном случае можно взаимодействовать сразу с несколькими платами, причем различных типов.

И если при помощи Arduino вы прототипизируете устройство, то Funnel дает возможность "быстренько набросать" целую сеть датчиков и исполнительных устройств. Удобно, не правда ли? ;) Бесспорно, Funnel заслуживает отдельной статьи, поэтому снова вернемся к FIO.

Что отличает Arduino FIO от других плат?

В первую очередь - ориентация на батарейное питание, что вылилось в контроллер подзарядки MAX1555, тактовую частоту 8 МГц и рабочее напряжение 3.3В. Трехпозиционный переключатель на плате служит для отключения питания; также есть и отверстия для  внешнего выключателя.


C тыльной стороны платы нас ожидает "сюрприз" - сокет для XBee. Это и есть вторая особенность FIO: беспроводные коммуникации.

Пины Rx, Tx и DTR уже соединены с соответствующими ножками ATmega, что дает возможность загружать скетчи прямо "по воздуху" (правда, потребуется специальный wireless-bootloader). Плюс, выведены сигналы CTS и SLEEP_RQ, но никуда не подключены - автор схемы может самостоятельно решать, когда и как переводить XBee в "сонное" состояние. Под XBee-сокетом можно разглядеть несколько дополнительных отверстий: если по каким-то причинам нет возможности использовать батарейный разъем и разъем miniUSB с лицевой стороны, можно заряжать через CHG и подавать питание с внешней батареи через BAT.


И, кстати - разъем miniUSB здесь только для подзарядки. Для работы в обычном режиме надо использовать т.н. FTDI cable, место подключения которого также нанесено на тыльной стороне.

На сайте разработчиков плата стоит 25 USD. Это на целых 5 USD дороже, чем Arduino Pro, которая обладает идентичным набором возможностей, но без сокета XBee. Зато решение более чем компактное, да и на дополнительный шилд тратиться не надо. С другой стороны, по отношению к стоимости самой XBee пять баксов не так уж и заметны.

Добавлю, что первая версия FIO появилась еще в 2008 году, и, видимо, ей потребовалось  вырасти до 2.1, прежде чем получить заветный префикс Arduino.

01.07.2010

Getting Started With Processing

Купить Getting Started With Processing
В дополнении к статье о Processing: в издательстве O'Relly вышла в свет книга "Getting Started With Proessing", своим названием и дизайном перекликающаяся со знаменитым "Getting Started With Arduino". На сайте издательства можно полистать солидное по объему Preview, и там же - купить в электронном виде всего за 13 USD. 

Конечно же, это далеко не первая книга о Processing, на полный список можно полюбоваться на сайте processing.org. К сожалению, русских переводов пока мною не замечено...