Кілька слів про книгу
Моїм близьким - дружині Тамарі і дітям Ганні і Денису, присвячується.
Є такий відкритий проект, який називається Arduino. Основа цього проекту - базовий апаратний модуль і програма, в якій можна написати код для контролера на спеціалізованій мові, і яка дозволяє цей модуль підключити і запрограмувати.
Модуль легко з'єднується з різними виконуючими пристроями, дозволяючи створювати і роботів, і пристрої автоматики, і прилади.
З моменту появи проекту Arduino у нього з'явилося безліч шанувальників - досить ввести в пошуковий рядок слово arduino, як ви виявите сотні сайтів, присвячених цій темі, сотні проектів, заснованих на Arduino.
Англійською мовою видано кілька книг. І ця повинна заповнити прогалину в частині книг російською мовою.
Хоча книга розрахована на школярів, вона може бути цікава радіоаматорам, і, якщо не книга, то сам проект може бути цікавий викладачам, і не тільки працюючим в школі, але і в інших навчальних закладах, де вивчають програмування і роботу з мікроконтролерами.
Так що ж ця книга? Вона в основному описує ряд програм, які призначені для роботи з модулем Arduino, як сама програма Arduino, як S4A, як VirtualBreadBoard ...
Якщо всі ці програми майже звичайним чином встановлюються в Windows, то в Linux, а вони працюють і в цій операційній системі, є особливості, які описані в цій книзі. Підвищена увага до Linux останнім часом робить актуальним подібне опис.
Крім цього в книзі розказано про середовищах розробки AVR-контролерів загального призначення, які підтримують роботу з модулем Arduino - AVR Studio, WinAVR, FlowCode. В основному щодо настройки для роботи з Arduino.
Але чому про програми, якщо мова йде про роботів?
Суть будь-якого робота - це апаратні засоби з процесорної базою і програма (або набір програм). Тому програмування невід'ємний елемент процесу створення навіть найпростішого робота.
Навчившись програмувати модуль Arduino, а програма приходить з величезним набором прикладів, що стосуються всіх сфер застосування модуля, ви будете готові створювати цікаві і корисні електронні пристрої, до яких відносяться і роботи. Почніть з простих проектів, а решта в ваших руках.
Можливо школярі, познайомившись з захоплюючим проектом Arduino, виберуть роботобудування своєю майбутньою професією. Але навіть якщо немає, то, впевнений, через багато років, згадуючи свої експерименти в цій області, вони будуть раді, що не пройшли повз, не пошкодували часу на освоєння основ - їм буде, що згадати.
Радіоаматори давно і успішно освоюють роботу з мікроконтролерами. Вони з захватом сперечаються, яка мова програмування краще. Можливо, проект Arduino дозволить їм зробити остаточний вибір? Тим більше, що модуль Arduino може працювати як програматор для програмування інших мікроконтролерів.
Словом, все цікаве і корисне, що є в проекті Arduino, можна дізнатися, тільки працюючи з ним в компанії таких же захоплених людей.
Зміст

Глава 1. Паровозик із Ромашкова, початок
Глава 1. Паровозик із Ромашкова, початок
"Читай книги. Новомосковський керівництво, а мені не цікаво. Мені цікаво відразу щось зробити. Ось, візьму і зроблю. ага, підходить до семафора паровоз, дає таємний сигнал, і семафор відкривається ... ».
Не думаю, що так. Перед тим як зробити пристрій, перед тим, як «заливати» програму в модуль Arduino, потрібно написати код. Запускаємо програму Arduino. Ах да. Це у мене програма встановлена, а у вас, можливо ні. Тоді так.
Можна в будь-якому пошуковику, Yandex, Rambler, Google, в будь-якому, ввести у вікно пошуку слова arduino download, і ви напевно знайдете посилання на сайт проекту.
Мал. 1.1. Головна сторінка проекту Arduino
Кнопка «Download» і приведе вас на сторінку завантаження. Якщо ви використовуєте операційну систему Windows, є версія для Windows; якщо Linux, є і для деяких дистрибутивів Linux; і є, нарешті, для Mac OS X.
Не знаю, як з Mac OS, але з Windows все просто - клацнув по посиланню Windows, дочекався кінця завантаження, розпакував файл, а він в самому зручному варіанті упаковки, який може розпаковуватися будь-яким вільним архиватором, розпакував і все. Або майже все. На відміну від інших програм, Arduino разом з папкою можна відразу перенести в кореневу директорію диска C, а для зручності, відкрити папку з програмою, виділити файл arduino.exe, клацнувши правою клавішею, і з меню, що випадає вибрати пункт «Створити ярлик». Після створення ярлика його мишкою можна перетягнути на робочий стіл і запускати програму звичайним чином - подвійний

Глава 1. Паровозик із Ромашкова, початок
клацання мишки по ярлику.
Фу, ось і встановили програму. Запускаємо її. Ах да. Я-то вже купив модуль Arduino, а ви, можливо, немає. Як я це зробив?
Я шукав найдешевший модуль. Модулів Arduino, оскільки проект відкритий, багато, і під різними іменами, скажімо, arduino, freeduino, craftduino і т.д. і ціни у них різні. Найдешевший модуль в Москві я знайшов в Інтернет-магазині CarMonitor.ru. Чи не занадто дорогі модулі (і цікавий сайт) в Інтернет-магазині RoboCraft.ru, або в duino.ru:
Мал. 1.2. Різновиди одного з клонів модуля Arduino
Модулі відрізняються своїм виглядом один від одного, зручністю використання, але все дозволяють підключити їх до комп'ютера, запустивши програму arduino написати код, «прошити» отриману програму в модуль і перевірити роботу програми в живому вигляді. І все модулі мають можливість підключати до них плати розширення, або готові, куплені в магазині, або виготовлені самостійно. До речі, проект відкритий, тобто, ви не тільки можете безкоштовно завантажити програму і використовувати її (і, до речі, переробити на свій смак, якщо ви вмієте це робити), ви можете самостійно виготовити базовий модуль - є його схема, є прошивка, є все для самостійного виготовлення.
Крім базових модулів, як показано вище, багато Інтернет-магазини пропонують безліч доповнень: макетні плати, матеріал для виготовлення механічних частин, мотори та сервоприводи, і різного роду датчики - і фото, і тензо, і пьезо, і т.п. Це цілий світ пристроїв, з яких можна створювати і роботів, і пристрої автоматики, забавні і корисні іграшки, і «дорослі» корисні пристрої.
Усе. Все я, здається, сказав, можна починати. Або не все?
Так, ще підключення. Про те, як підключити модуль Arduino в операційній системі Windows, можна прочитати, наприклад, на сайті RoboCraft.ru:

Глава 1. Паровозик із Ромашкова, початок
Мал. 1.3. Підключення модуля Arduino в Windows
Моя операційна система Windows Vista сама знаходить потрібний їй драйвер і встановлює драйвер для перетворювача USB в COM-порт, і додає COM5 в список пристроїв системи.
У програмі Arduino я вказую послідовний порт COM5 і модуль Nano, оскільки мій модуль CarDuino саме такий.
Тепер можна написати (звичайно, я її «срісуйте») якусь програму і спробувати її відправити в модуль Arduino. Мені сподобалося, як в книзі «Arduino programming notebook» найпростішу програму назвали «Hello World» світу мікроконтролерів.
Мал. 1.4. Перша програма для модуля Arduino
Тепер, напевно, все. Чи ні?
Правильно. Я хотів ще розповісти, як встановити програму arduino в Linux.

Глава 1. Паровозик із Ромашкова, початок
Найпростіша установка програми arduino в дистрибутиві Fedora (з тих дистрибутивів, що є на моєму комп'ютері, серед яких Fedora 14). Багато, користуючись Linux, вважають за краще працювати в терміналі. Я не з їх числа, і без жорстокої необхідності цього не роблю. Так для установки програм я використовую додаток під назвою Yumex. Його можна знайти в розділі «Додатки-Система-Доповнення до Yum». Запустивши додаток, дочекавшись, коли воно закінчить пошук всього йому потрібного, слід виділити доступні програми (Available) і у вікні пошуку ввести arduino. Тепер досить натиснути клавішу Enter на клавіатурі, щоб знайшлася програма. Відзначивши її (всі три блоки з ім'ям arduino), натискаємо кнопку Застосувати і програма встановлюється на комп'ютер, як, втім, і будь-які інші програми, а їх в Linux безліч.
Мал. 1.5. Пошук і установка програми Arduino в дистрибутиві Fedora 14
Дещо складніше встановлюється програма в openSuse 11.3.
В операційній системі openSUSE є призначений для користувача інтерфейс для установки програм. Його легко знайти, якщо запустити управління системою від імені адміністратора.
Мал. 1.6. Програма настройки системи YaST в openSUSE
Перед тим, як доступ буде надано, буде потрібно пароль адміністратора комп'ютера.

Глава 1. Паровозик із Ромашкова, початок
Мал. 1.7. Введення пароля root
І, якщо пароль правильний, то у відчиненому вікні можна знайти, наприклад, засіб пошуку потрібних програм (пакетів).
Мал. 1.8. Меню центру управління системою з виділеним розділом пошуку
Ім'я, якщо ви його знаєте, програми вводиться у вікно пошуку.
Мал. 1.9. Розділ пошуку з вікном пошуку програм в складі openSuse
не тільки потрібну програму, а й докладну інструкцію по установці програми.

Глава 1. Паровозик із Ромашкова, початок
Мал. 1.10. Інструкція по установці програми на сайті Arudino
Я перевів перший крок установки. Що він означає?
У будь-якому дистрибутиві Linux є термінал. І є ті, хто вважає за краще працювати, вводячи все команди з клавіатури, в терміналі. Іноді тільки так і можна (але не часто) виконати щось потрібне. Як в даному випадку. Якщо в розділі «Вибране» основного меню у вас немає терміналу, то його можна знайти на закладці «Додатки» основного меню в розділі «Система». Досить клацнути мишкою по програмі терміналу, щоб побачити вікно терміналу. Тепер можна у відкритому web-браузері скопіювати повністю потрібний рядок команди, виділити, прочеркнув мишкою, і натиснути праву клавішу мишки для отримання меню, що випадає, з якого вибрати пункт «копіювати». Скопіювавши рядок, її можна вставити в вікно терміналу (перейти в вікно терміналу, натиснути праву клавішу і вибрати команду «вставити»).
Мал. 1.11. Введення першої команди інструкції в вікно терміналу
Всі рядки інструкції слід копіювати повністю. Після вставки команди можна натиснути клавішу «Enter» і залишиться тільки відповісти на ряд питань, щоб програма була встановлена. Звичайно, слід повторити всі команди, записані в інструкції.
Після установки програми, як це і написано в кінці інструкції, слід користувача, тобто, вас, включити в дві групи: lock і dialout. У цьому знову допоможе Yast.

Глава 1. Паровозик із Ромашкова, початок
Мал. 1.13. Вікно закладки «Користувачі» з переліком всіх користувачів комп'ютера
Натиснувши кнопку «Редагувати», ми потрапляємо в нове вікно, де на вкладці «Подробиці», є можливість встановити галочки поруч з потрібними групами.
Мал. 1.14. Закладка «Подробности» для додавання користувача в групи
Тепер кнопка «ОК» виводить нас (поступово) з програми адміністративного управління
Глава 1. Паровозик із Ромашкова, початок
системою. Залишиться тільки перезавантажити комп'ютер і, можливо, додати програму Arduino в основне меню.
Залишилося встановити програму на останньому з мешкають на моєму комп'ютері дистрибутивів ALTLinux 5.1. Він, як і інші, має зручну програму для установки інших програм, але ...