18.11.2011

Arduino и журнал Радио

Я стараюсь регулярно просматривать свежую прессу по практике радиолюбительства, и, конечно же, подписан на легендарное Радио. Когда брал свежий номер в руки, сначала даже не поверил своим глазам:



ArduinoIDE 0023

Только что вышла ArduinoIDE 0023 - изменения минимальны:

  • переход на последнюю версию optiboot 4.4 (что уже сделано в Arduino IDE 1.0)
  • поддержка новых ревизий Arduino Uno, Mega 2560 и ADK.
Что это за новая ревизия R3, доподлинно пока неизвестно, но уже понятно, что вместо ATmega8u2 (8K flash) использован ATmega16u2 (16K flash). Видимо, какие-то неотвратимые причины (либо малый размер памяти, либо производственные платы ATMEL) заставили Arduino произвести этот переход.

Других подробностей пока нет - ни CAD-файлов новых плат, ни исходников новой ArduinoIDE - если судить по списку изменений, в ней самой ничего не изменилось. 

Полагаю, что появление Arduino Leonardo и релиз ArduinoIDE 1.0 еще откладываются.

11.11.2011

Freeduino 32u4 в Arduino 1.0rc2

Немного обновил файлы для Freeduino32u4:
  1. В файл с вариантами добавлены константы LED_BUILDIN, SCL, SDA - от последних двух зависит правильная работа встроенной библиотеки TWI, а также они используются в Firmata;
  2. Взято ядро из RC2, затем исправлено под ATmega32u4.
Соответственно, можно скачать:

  1. freeduino32u4-variant-arduino1.0rc2.tar.gz - только variant, без измененного ядра - гарантирует аутентичность окружения вашей ArduinoIDE 1.0rc2. Правда, не на всех пинах Freeduino32u4 будет ШИМ.
  2. freeduino32u4-core-arduino1.0rc2.tar.gz - variant + core, чтобы всё работало корректно. Именно его я и рекомендую ставить, перетирая существующее core в дистрибутиве.
В обоих вариантах надо распаковать архивный файл в arduino-1.0-rc2/hardware/arduino и исправить boards.txt, добавив туда содержимое файла boards.txt.add:

leonardo1.name=Freeduino 32u4
leonardo1.upload.protocol=arduino
leonardo1.upload.maximum_size=30720
leonardo1.upload.speed=1200
leonardo1.bootloader.low_fuses=0xde
leonardo1.bootloader.high_fuses=0xda
leonardo1.bootloader.extended_fuses=0xcb
leonardo1.bootloader.path=diskloader
leonardo1.bootloader.file=DiskLoader-Leonardo.hex
leonardo1.bootloader.unlock_bits=0x3F
leonardo1.bootloader.lock_bits=0x2F
leonardo1.build.mcu=atmega32u4
leonardo1.build.f_cpu=16000000L
leonardo1.build.core=arduino
leonardo1.build.variant=freeduino32u4

Раскладка пинов - прежняя (# означает аппаратный ШИМ):

07.11.2011

Arduino IDE 1.0 RC2

Второй релиз-кандидат Arduino IDE 1.0 вышел 25 октября - и, поскольку это событие никак не было отмечено в блоге arduino, мимо мировой общественности это прошло как-то незамеченным. Кстати, и ссылка для скачивания прежняя.

Специальный список отличий rc2 от rc1 не публиковался, основные изменения можно проследить по исходным текстам. Вот наиболее значимые, которые мне удалось  найти:

1. В список программаторов снова добавлен USBasp, протокол для загрузки Arduino Ethernet изменен с stk500 на arduino.

2.  Включена последняя версия optiboot - в ней поддерживается не только ATmega168/328P, но и старый добрый ATmega8. Кроме того, можно собрать и попробовать альфа-версии для ATmega1280 (Arduino Mega), Sanguino (ATmega644P) и ATmega88. И впервые, кстати, можно увидеть в качестве таргета luminet - это такой проект на ATtiny84, чем-то сходен с BlinkMuino, чем-то - с LilyPad (wearable со светодиодом).

3. В подкаталоге variants макрос LED был заменен на LED_BUILIDIN. Это правильно, дефайны препроцессора из трех заглавных букв, тем более являющиеся общеупотребительными словами - источник странных и трудно выявляемых ошибок.

4. Изменения в ядре совсем малозначительны - в основном, это исправления, связанные с отказом от использования знаковых типов (например, Int) в пользу беззнаковых - когда знак действительно не нужен. Однако, есть и более интересные вещи: добавлен #define с перечислением микроконтроллеров ATtiny24/44/84 и ATtiny25/45/85 - это означает как минимум шаг навстречу ATtiny-проектам типа luminet. А как максимум - что нас ждут новые Arduino на ATtiny ;)

К сожалению, ни одной ошибки в коде для Arduino Leonardo - нет. Следовательно, эта версия - хоть и кандидат, но финальным релизом стать не сможет.  

Что дальше? Очередной RC3 ближе к 01.12.2011 или сразу же финальный релиз? Или все-таки финальный релиз будет под новый год? В любом случае, "редакция будет следить за развитием событий" (с) ;)

25.10.2011

Новости Freeduinoстроения

Пришла пробная партия Freeduino EtherSD Shield 1.0.1:

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

А нагрев, кстати, зависит от потребляемого тока. Пробежавшись по подключением всех ног W5100 в схеме Arduino Ethernet Shield 05, я заметил, что "скопипастил" из нее составной подтягивающий резистор R24+R28 на линиях CS/WR/RD, что в итоге дает 1К+2К2 = 3К2. Авторы просто использовали свободные резисторы в счетверенных микросборках: экономили таким образом место и детали - по крайней мере, надеюсь, фэн-шуй тут не причем ;) Кроме того, в разъеме Ethernet были светодиоды со встроенными токоограничительными резисторами 270 Ом. 

Соответственно, в новой версии подтягивающий резистор стал 10К, а токоограничители - 470 Ом. Согласно последним веяниям Arduino Ethernet Shield 06 снесен светодиод-анахроизм COLL и удалено место под монтаж full SD-карты - а вместе с ней и резисторы-подтяжки линий DETECT и WRITE_PROTECT (зря я волновался на счет совместимости).




Ряды плат-протошилдов пополнил Nano протошилд:
До сих пор считал, что это совершенно бесполезная вещь - все-таки, Nano задуман в первую очередь для беспаечной макетки. Однако, практика показала, что когда схема переходит не следующую стадию и требуется применить секретное оружие паяльник, то нормальный разъем внешнего питания, разведенный USART и I2C в комплекте с макетным полем и условными посадочными местами для светодиодов и кнопок - не так уж и плохо ;)