Решил создать относительно сложное устройство на микроконтроллере. Опыт создания несложных устройств на основе микроконтроллеров имеется. Но когда представил сколько это займет времени, то вынужден был отказаться от этой затеи.
Ведь нужно разработать схему, разработать и изготовить печатную плату, составить программу и прошить микроконтроллер. И маловероятно, что это всё сразу заработает как надо. А изготовление единичного экземпляра, с учетом этих обстоятельств, становится совсем нецелесообразным.
По-этому немного порывшись в интернет, нашел некое устройство под названием Arduino UNO . Меня его характеристики и возможности вполне устроили. К тому же, программная оболочка для работы с этим устройством не зависима от ОС. А я использую Linux Ubuntu.
Имея некоторый опыт с макетированием и изготовлением различных устройств предположил, что учитывая популярность этого устройства, должны существовать и наборы с минимальным количеством узлов и деталей. Обычно их называют Starter Kit.
Такой набор обнаружил в магазине
http://www.buyincoins.com/ Там он назывался «Arduino Component Basic Element Pack Set Kit Case For Arduino Starter Beginners».
В этот базовый комплект входит не только основная плата Arduino Duemilanove, но и шнур для программирования. Удобный кейс для хранения деталей и плат. Различного рода макетки, или сейчас их принято называть prototype development board, или bread board.
Также имеются сопротивления номиналом в 10к, 1к, 220 Ом. Светодиоды трёх цветов, и свето и фотодиоды для проведения опытов с ИК-управлением. Какие-то фотодатчики и много чего другого...
И всё это чудо, с учетом доставки на Украину, стоит всего-то 42 $.
Но прежде, чтобы начать заниматься своими проектами, мне, как и любому пользователю нужно освоить это устройство, и необходимое для работы с ним программное обеспечение.
Этап первый. Устанавливаем Arduino IDE.
В Linux Ubuntu это сделать проще, чем даже в Windows. Достаточно зайти в «Центр приложений Ubuntu». А там, в графе поиска, набрать волшебное слово «Arduino». Вам предложат Arduino IDE и ещё, что-нибудь... Отметьте для установки Arduino IDE.
В общем, куда еще проще!
Click to view
Теперь делаем настройки оболочки Arduino IDE.
Для этого, для начала, запускаем Arduino IDE. В графе «Tools-->Board» выбираем «Arduino Duemilanove». Если у Вас другой тип платы, укажите именно его.
Также необходимо установить галочку указывающую на номер и тип используемого порта компьютера. Для описываемого мной случая это ttyUSB0. Эта установка последовательного порта также находится в графе «Tools». Теперь можно выйти из Arduino IDE.
Второй этап.
Подключаем USB кабелем наш Arduino Keyes Duemilanove. Скорее всего на плате будет мигать светодиод, который подключен к выводу 13, через сопротивление в 1 кОм.
Составим простейшую программу для управления светодиодами и зашьем ее в микроконтроллер платы Arduino.
/*
Моя первая программа для Arduino Keyes Duemilanove
*/
int ledPin_1 = 13, // LED 1 на цифровом выводе 13
ledPin_2 = 12, // LED 2 на цифровом выводе 12
ledPin_3 = 11; // LED 3 на цифровом выводе 11
void setup() // Запускается один раз
{
// Устанавливаем небходимые выводы микросхемы, как выходы
pinMode(ledPin_1, OUTPUT);
pinMode(ledPin_2, OUTPUT);
pinMode(ledPin_3, OUTPUT);
}
void loop() // бесконечный цикл
{
digitalWrite(ledPin_1, HIGH); // включение 1-го светодиода
delay(500); // пауза, время в милисекундах
digitalWrite(ledPin_2, HIGH); // включение 2-го светодиода
delay(1000); // пауза, время в милисекундах
digitalWrite(ledPin_3, HIGH); // включение 3-го светодиода
delay(1500); // пауза, время в милисекундах
digitalWrite(ledPin_1, LOW); // выключение 1-го светодиода
delay(1500); // пауза, время в милисекундах
digitalWrite(ledPin_2, LOW); // выключение 2-го светодиода
delay(1000); // пауза, время в милисекундах
digitalWrite(ledPin_3, LOW); // выключение 3-го светодиода
delay(500); // пауза, время в милисекундах
}
Запускаем оболочку Arduino IDE. Рекомендую сразу же сохранить пустой файл Вашей будущей программы. Это сделать не сложнее, чем сохранить текстовый документ.
Набираем, либо копируем мою программу. Можно комментарии, что в программе, не писать. Это метки для личного удобства. При написании малых программ, они возможно и не нужны. Но при написании больших проектов, необходимы!
«Кликнем» на значок «Verify». Он изображен галочкой в круге. Если нет ошибок при написании программы, красные строчки сообщающие об проблемах не появятся. Если появятся, то IDE сообщит Вам тип предполагаемой ошибки и ее предполагаемое место нахождения.
Если всё прошло гладко, то кликнем на значок «Upload». Он изображен стрелочкой в круге.
Таким образом, наша программа будет отправлена в микроконтроллер платы Arduino.
Изменяя значения пауз в программе, будет изменяться и длительности периодов включеного, либо выключенного светодиода.
И не забывайте сохранять файл измененной программы.
Теперь даже можно отключить USB шнур. И подключить внешнее питание. Например батарейку. Ваша программа была записана в микроконтроллер Atmel, находящийся на плате. И она там сохраняется и без питания!
Но если Вы обратите внимание, то заметите, что программу я составил для трех светодиодов, которые должны быть подключены к выводам платы 13, 12 и 11. Их можно подключить, например, собрав внешнюю схему на макетке bread board, что входит в упоминаемый набор «Kit Starter».
Внимание! Внешние светодиоды следует обязательно подключать через сопротивление. Иначе реально спалить и светодиод, и микроконтроллер! Я использовал сопротивления на 220 Ом, которые входят в набор.
Click to view
А вот так это выглядит.