Спонтанно загорелся идеей – попробовать научиться делать какие-нибудь электрические штуки на новых микрокомпьютерах типа Arduino или Raspberry Pi. Поскольку ничего в этом не понимаю, то решил начать с какого-то набора для самых начинающих и попался мне очень хороший сайт – www.sparkfun.com, который я всем в высшей степени рекомендую. Да, возможно, заказывать по отдельности можно всё и из Китая (скорее всего впоследствии этим и придется заниматься), но с помощью Sparkfun сделать первые шаги действительно оказалось просто и увлекательно.
Самый популярный набор, который я и купил – SparkFun Inventor’s Kit. Стоит 100 долларов, но бывают акции и скидки (я купил за 80). В набор входит плата Sparkfun Redboard (насколько я понял – то же самое, что и Arduino Uno, есть и набор с именно Arduino, но стоит он дороже), коробка, breadboard (доска с дырочками, с помощью которой можно собирать цепь), набор всяких электронных компонентов и книга с примерами. Программное обеспечение скачивается с сайта Arduino. В целом всё действительно очень просто: втыкаем проводки по инструкции, открываем код на компьютере, через USB провод загружаем его в плату – и она выполняет инструкцию! Но работает, как магия: раз – и заработал servo-привод, с помощью которого можно привести в действие, к примеру, манипулятор типа “рука робота”, два – и замигали лампочки или же RGB LED стал переливаться всеми цветами радуги, три – и пьезо-динамик запищал веселую мелодию. Всего таких примеров 16 штук, подобраны они весьма неплохо, каждый поясняет какую-то тему, которая впоследствии может пригодиться. Из довольно дорогих компонентов здесь есть два моторчика (обычный и servo) и LCD-экран 2 на 16.
Что касается кода – то он настолько прост, что его поймет и школьник младших классов. А уж если знать Си, то вообще никаких проблем не будет – это оно и есть. Пока не разобрался как работают библиотеки и как их делать, но здесь, как я понял, есть большое комьюнити со свободно распространяющимся кодом. Всякие сложные штуки вроде servo-мотора или LCD-экрана используют эти библиотеки.
На данный момент я попробовал почти все примеры, кроме нескольких из последних. Собрать пример занимает где-то минут 20, то есть совсем немного. Очень мне понравился пример с термосенсором, который позволяет определять температуру и выводить ее на debug вывод на host-компьютере. И совместив пример с LCD-экраном и датчиком температуры легко получился термометр! Правда, показывает он температуру только с точностью до 0.5 C, но это уже весьма неплохо!
В общем, развлечение замечательное. Теперь буду ждать датчик влажности и микронасос из Китая и буду делать автоматическую поливалку цветов, которую давно уже хотел попробовать сделать!