30.03.15

LiquidCrystalRus для 1.6.1

Недавно вышла очередная ArduinoIDE 1.6.1, одним из новшеств которой выступил новый gcc версии 3.4.5. И поскольку с каждой версией gcc синтаксис становится всё строже и строже - без неприятностей не обошлось.

В частности, перестала компилироваться библиотека поддержки вывода русского языка LiquidCrystalRus, из-за неверного (с точки зрения gcc) использования директивы PROGMEM, о чем ко мне посыпались сообщения от уважаемых пользователей (за что им хочу выразить особую благодарность).

Изменения там совсем крошечные, но если после установки новой ArduinoIDE ваш проект с LiquidCrystalRus в составе перестал компилироваться, не паникуйте, а скачайте и установите LiquidCrystalRus-1.6.0.zip.

Напоминаю, что проект также доступен на GitHub: https://github.com/mk90/LiquidCrystalRus.

UPDATE: подобно оригинальному LiquidCrystal, LiquidCrystalRus не умеет работать с дисплеями, подключенными как-то иначе, чем к пинам Arduino (например, по I2C), но зато и не требует для работы дополнительных библиотек: и в результате поддержка русского языка обходится дополнительно в 500 байт flash и 7 байт SRAM. 

09.05.14

Книжная полка

Недавно издательство БХВ порадовало нас книгой Виктора Петина "Проекты с использованием контроллера Arduino"



К сожалению, полноценной рецензии выдать не могу, доступно только оглавление:
  • краткий обзор плат Arduino;
  • описание всех операторов языка Wiring;
  • описание встроенной библиотеки Serial;
  • описание встроенной библиотеки LiquidCrystal и даже пара слов про LiquidCrystalRus;
  • описание встроенных библиотек EEPROM, Ethernet, OneWire, SD, Stepper;
  • разбор подключения мыши и клавиатуры PS/2 - библиотека ps2dev;
  • работа с датчиками iButton, DS18B20, DHT11 и DHT12;
  • подключение к светодиодным матрицам;
  • примеры стыковки с RFID-приемниками, купюроприемниками, датчиками расстояния HC-SR04;
  • освещается вопрос обмена данными с помощью ИК, в том числе различные типы кодирования;
  • работа с ходовой частью робота через микросхему L293D;
  • использование приемопередатчика Bluetooth HC-05, а также NRF24L01 с помощью библиотеки Mirf;
  • вывод на экран телевизора с помощью библиотеки TVOut, с примерами игровых программ;
  • работа с USB через USB Host Shield;
  • немного про ROS (распределенная операционная система для роботов) и X10 (умный дом).
Приятно, что книги про Arduino на русском все-таки выходят - даже оглавление само по себе указывает путь к практическим решениям. Я специально сопроводил его ссылками на соответствующие статьи (в первую очередь на русском языке).

Будет ли достаточно этой книги именно для вашего проекта? Лично я ожидал хоть что-то про использование Arduino Due и Leonardo (они упоминаются в обзоре), изменение прошивок ATmega16u2 (на последних Uno и Mega), про использование программатора - в реальности рано или поздно этот вопрос возникает (хотя на тему программирования ATMEL недостатка в литературе нет, например книга Ревича). Стоило бы посвятить больше места шилд-платам.... Хотя, стоп! Надо сказать автору "большое спасибо" уже за это издание (лучшее "спасибо" - это легально купленный экземпляр книги, особенно если хотите продолжения ;).

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

А примеры из книги можно скачать здесь.

30.04.14

Raspberry PI. С чего начать?

Феномен Raspberry Pi трудно отрицать. Тем круче было мое удивление, когда коллеги проявили о нем практически нулевую осведомленность. На мой невинный вопрос "а не пора ли открывать ветку совместимости с Debian 7, а то на ней даже Raspberry Pi бегает" получил в ответ "а что это за разберри такой?".


Честно говоря, стало немного досадно. Я бегло просмотрел поисковый вывод и понял, что сейчас материалов на русском по Raspberry Pi на порядок меньше, чем про тот же Arduino. Традиционно, впереди всех выступает LinuxFormat, подписка платная (доступна и электронная версия, но все равно - она стоит денег), материалы выкладываются у них на wiki, с задержкой на один год.

И тогда я подумал, что стоит сделать пару статей - тем более, что последнее время мне крайне интересна связка Arduino+RaspberryPi.

30.03.14

А все-таки она вертится!

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



30.01.14

Freeduino 32u4 R6

Вышла очередная ревизия нашей платы на ATmega32u4, уже шестая по счету.


(слева направо - Freeduino 32u4 R4, Freeduino 324u4 R6, Freeduino Nano)

Основная борьба шла за уменьшение размеров, поскольку плата в первую очередь предназначена для беспаечной макетки. Ура, теперь будет закрыт на один ряд отверстий меньше (и по вертикали, и по горизонтали). Разъем USB тоже уменьшился (mini -> micro).

К сожалению, продолжать уменьшать размеры мешает осознанная необходимость размещать удобочитаемую шелкографию с названиями пинов (без нее придется подглядывать в картинку с обозначениями). Не исключаю, что в будущем перейдем на QFN-корпус и получится что-то наподобие Arduino Micro. Напоминаю, что  сейчас на плате отсутствует вход VIN, и питать её можно только от USB или источника +5В.

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


Это удобно, если надо быстро перезапустить скетч, не теряя 8 секунд на ожидание завершения бутлоадера. 

Для владельцев предыдущих ревизий платы, желающих прошить новый бутлоадер Freeduino32u4: это можно сделать через ArduinoIDE или через avrdude:

avrdude -c stk500v2 -P avrdoper -B 3 -p atmega32u4 -F -e -u -U lock:w:0x3f:m -U efuse:w:0xcb:m -U hfuse:w:0xd8:m -U lfuse:w:0xff:m

avrdude -c stk500v2 -P avrdoper -B 3 -B 1.1 -p atmega32u4 -F -U flash:w:file.hex -U lock:w:0x2f:m

Конечно, для этого потребуется программатор (строки программирования приведены для AVRDoper).