Содержание
- Обзор
- Технические характеристики модуля
- Подключение к компьютеру
- Загрузка программ
- Пример использования
- Часто задаваемые вопросы FAQ
Обзор платы LilyPad 328
Платформа Arduino представлена не одной платой, а целым семейством плат, имеющих разные возможности и функциональность. Одна из самых необычных плат Arduino – Arduino LilyPad. Она была разработана и создана Leah Buechley совместно со SparkFun для использования с предметами одежды и текстиля. Arduino LilyPad можно пришивать к ткани и с помощью токопроводящих нитей подключать питание, датчики или исполнительные устройства. Электронная схема, собранная на ткани, включая саму плату Arduino LilyPad не боится стирки. Можно стирать вручную , естественно предварительно отключив питание. Печатная плата LilyPad Arduino имеет форму круга диаметром около 50 мм. Плата выполнена на микроконтроллерах ATmega168V или ATmega328V. Напряжение питания платы в интервале от 2.7 до 5.5 В. При отрицательном питании или большем чем 5.5 В плата может выйти из строя. Существует три варианта данной платы: LilyPad Arduino 328 (рисунок 2) – на базе микроконтроллера ATmega328Рисунок 1. Плата LilyPad Arduino 328
LilyPad Arduino USB (рисунок 2) – наличие USB-порта для связи с компьютером и выхода для литиевой батареи, на базе микроконтроллера ATmega32u4
Рисунок 2. Плата LilyPad Arduino USB
LilyPad Simple Snap (рисунок 3) – благодаря специальным контактам из кнопок может отстегиваться от схемы, содержит встроенный литиевый аккумулятор.Рисунок 3. Плата LilyPad Simple Snap
Рассмотрим плату LilyPad Arduino 328 – на базе микроконтроллера ATmega328 (рис. 4). Плата имеет 22 контакта. Контакты "+" и "−" предназначены для питания платы. Остальные контакты аналогичны контактам Arduino Uno. Также на плате присутствуют штырьковые контакты для подключения переходника USB-Serial, необходимого для загрузки скетчей из компьютера.Рисунок 4. Плата LilyPad Arduino 328
Технические характеристики Arduino LilyPad
- Микроконтроллер – ATmega328V;
- Количество цифровых контактов – 14(6 из которых могут использоваться как выходы ШИМ);
- Количество аналоговых контактов – 6;
- Рабочее и входное напряжение 2,7-5,5 В;
- Флеш-память 16 Кб (2 используются для загрузчика);
- ОЗУ 1 Кб;
Подключение к компьютеру
Для подключения платы LilyPad Arduino 328 к компьютеру USB – Serial преобразователь. Схема соединений на рис. 5.Рисунок 5. Схема соединений LilyPad Arduino 328 и USB-Serial
Загрузка программ в LilyPad Arduino 328
Для загрузки скетчей из Arduino IDE на плату LilyPad Arduino 328 необходимо в меню Инструменты выбрать порт подключения платы LilyPad и тип платы – LilyPad Arduino (см. рис. 6).Рисунок 6. Настройки Arduino IDE для LilyPad Arduino 328
На дешевых переходниках USB-Serial отсутствует контакт DTR, который соединяется с выводом RESET Arduino и сбрасывает микроконтроллер перед загрузкой в него новой программы. Если данного контакта нет, при загрузке скетча на плату LilyPad Arduino происходит ошибка (рис. 7).Рисунок 7. Ошибка при загрузке скетча на плату LilyPad Arduino
В таких случаях необходимо после нажатия кнопки Вгрузить, после компиляции скетча и появлением надписи Вгружаем.. нажать и отпустить кнопку сброса на плате Arduino.Пример использования
Компания SparkFun Electronics предлагает дополнительные устройства для совместного использования с контроллерами LilyPad Arduino. Вот некоторые из них:- LilyPad Button Board – кнопка;
- LilyPad Light Sensor – светодиод;
- LilyPad Temperature Sensor – датчик температуры;
- LilyPad Accelerometer ADXL335 – акселерометр;
- LilyPad MP3 – MP3-проигрыватель;
- LilyPad XBee – для подключения XBee-устройств;
- LilyPad Coin Cell Battery Holder – плата для подключения батареи;
- LilyPad Pixel (RGB LED модуль WS2812)
- плата Arduino LilyPad -1;
- резистор 470 Ом – 1;
- LilyPad Pixel – 10;
- провод;
- блок питания 5В.
Рисунок 8. Схема подключения для LilyPad Pixel
Все модули LilyPad Pixel подключены друг к другу последовательно. Вход Din каждого их них подключается к выходу Do следующего. Сигнал управления должен поступать на первый из них. Команды управления подаются пакетами по 3 байта , по одному для каждого из трёх цветов ( Blue, Green, Red – они идут именно в таком порядке). Между пакетами идет пауза длительностью 50 мкс, пауза более 100 мкс означает конец передачи. Контроллер первого модуля LilyPad Pixel берет себе первый пакет 3 байта, устанавливает свой цвет в соответствии с содержимым, следующий пакет пропускает далее, где его забирает второй, и так далее, пока в потоке не возникнет пауза в 100 мкс. Приступим к написанию скетча. Для работы с светодиодами WS2812 имеется библиотека Adafruit_NeoPixel. Каждую секунду будем отправлять 10 новых пакетов для 10 модулей, цвет будем выбирать рандомно. Содержимое скетча представлено в листинге 1.Листинг 1
#include <Adafruit_NeoPixel.h> // номер порта подключения первого модулея LilyPad Pixel #define LED 4 // количество модулей #define count 10 //создание объекта Adafruit_NeoPixel ledsWS2812 = Adafruit_NeoPixel(count, LED, NEO_GRB + NEO_KHZ800); void setup() { ledsWS2812.begin(); // выключаем все модули - черный ledsWS2812.show(); } void loop() { for(int i=1;i<= count;i++) { // отправляем цвет для очередного светодиода ledsWS2812.setPixelColor(i, pixels.Color(random(0,255), random(0,255), random(0,255)); } ledsWS2812.show(); // пауза 1 секунда delay(1000); }
При желании можно реализовать световое анимационное шоу на базе подобных модулей. Часто задаваемые вопросы FAQ
- Проверьте правильность подключения переходника USB-serial к плате Arduino.
- Если на переходнике USB-Serial отсутствует контакт DTR, загрузка скетчей на плату Arduino осуществляется следующим образом: после нажатия кнопки Вгрузить, после компиляции скетча и появлением надписи Вгружаем.. нажать и отпустить кнопку сброса на плате Arduino.
- Проверьте правильность подключения модулей LilyPad Pixel.
- Недостаточная мощность блока питания двигателя.
- Возможно перегорел один из модулей и поэтому пакеты дальше него не проходят.