Оглавление:

Свитер Arduino Light Up: 9 шагов
Свитер Arduino Light Up: 9 шагов

Видео: Свитер Arduino Light Up: 9 шагов

Видео: Свитер Arduino Light Up: 9 шагов
Видео: Подключение 2-x, 3-х и 4-х символьных светодиодных индикаторов к Ардуино 2024, Июль
Anonim
Image
Image

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

Adafruit уже создал несколько отличных проектов вокруг носимых устройств, поэтому мы используем их модифицированный код для реализации этого проекта из их проекта Sparkle Skirt.

В этом уроке вы:

  • Научитесь использовать носимые устройства
  • Закодируйте основную плату Flora, акселерометр и NeoPixels, чтобы они загорались с помощью Arduino

Шаг 1. Начало работы

Начиная
Начиная

Мы собираемся использовать носимые устройства Adafruit Flora, аккумулятор, токопроводящую нить и праздничный свитер. Вам также понадобятся обычные нитки, иглы и лак для ногтей. Со временем все обретет смысл. В нашей версии глаза Санты загорятся, но мы поддерживаем все религии, праздники и верования, так что будьте изобретательны!

  • Главный совет Adafruit Flora (https://www.adafruit.com/product/659)
  • Акселерометр Flora (https://www.adafruit.com/product/1247)
  • Flora RGB NeoPixels (https://www.adafruit.com/product/1260)
  • Аккумулятор (https://www.adafruit.com/product/727)
  • Проводящая нить (https://www.adafruit.com/product/641)

Шаг 2: макет

Макет
Макет

Нам нужно разложить пиксели, основную плату и акселерометр перед тем, как начать процесс сшивания. Пиксели будут иметь соединение для передачи данных, + для питания и - для земли. Акселерометру необходимы соединения для 3 В, SCL, SDA и заземления.

Разместите пиксели, основную плату и акселерометр на свитере, как вы планируете его вышивать. Убедитесь, что вы не перекрещиваете строчки, так как это приведет к коротким замыканиям. Поскольку наша плата находится лицевой стороной внутрь, а NeoPixels - лицевой стороной наружу, мы используем 3V, контакт 9 и землю для подключения NeoPixels.

На NeoPixel есть стрелка, которая показывает, как соединение для передачи данных должно идти от основной платы Flora к следующему NeoPixel. Убедитесь, что все NeoPixels выровнены одинаково.

Шаг 3: Советы по вышивке

Важная часть вышивания - это три вещи; отсутствие швов / перекрещивания стежков, тугих узлов при завершении стежка и хорошего соединения с носимыми устройствами.

Без шорт / перекрестных стежков

Убедитесь, что ваши носимые устройства расположены так, чтобы строчки не перекрещивались. Очевидно, что линии не должны пересекаться. Если у вас есть макет, который гарантирует, что все стежки остаются отдельными, вам нужно убедиться, что при вышивании он плотный. Если вы оставите слишком большую слабину, нить может коснуться нитки. Как только вы закончите шов, обрежьте лишние концы, чтобы не было лишних ниток.

Тугие узлы

При завершении линии стежка плотный узел гарантирует, что стежок не ослабнет. Хитрость заключается в том, чтобы нанести небольшую ложку прозрачного лака на узел и дать ему высохнуть. Это помогает удерживать узел на месте, как клей. Проводящая нить не так хорошо удерживается в узле, как обычная нить, поэтому я настоятельно рекомендую использовать лак для ногтей, иначе швы могут ослабнуть.

Хорошие связи

Убедитесь, что петли на булавках туго затянуты. Это поможет убедиться, что если ваша цепь не работает, мы будем знать, что проблема не в соединениях. Вы можете перебрать контакты 2-3 раза, чтобы всегда было хорошее соединение.

Советы и хитрости

Убедитесь, что ваш предмет одежды не включен, когда вы его надеваете и снимаете. Это самый простой способ соприкоснуться нитками и вызвать короткое замыкание. Не включайте аккумулятор, пока предмет одежды не будет удобно надет.

Шаг 4: сшивание компонентов

Сшивание компонентов
Сшивание компонентов
Сшивание компонентов
Сшивание компонентов

Первым элементом, который нам нужно прикрепить, является основная плата Flora. Пришейте доску к свитеру, используя обычную нить через две булавки, которые вы не собираетесь использовать. Это удержит доску на месте и облегчит сшивание токопроводящей нитью. Достаточно нескольких простых петель, чтобы он не двигался.

Затем вам нужно сшить четыре соединения от основной платы Flora и акселерометра. Это будут Power, Ground, SCL и SDA. Если вы поместите акселерометр в левый верхний угол основной платы, соединения сразу же выровняются. Таким образом, у вас будет четыре отдельных стежка для соединения двух досок. Нанесите немного прозрачного лака для ногтей на оба концевых узла, чтобы они не распутались. Немного лака для ногтей им не повредит.

Наконец, вам необходимо подключить 3 В, землю и соединения для передачи данных от основной платы Flora к NeoPixels. Вы можете сделать два длинных непрерывных стежка для земли и питания, так как они находятся внизу и вверху NeoPixels. Для передачи данных от контакта 9 вам необходимо сделать отдельные стежки от каждого NeoPixel к следующему.

Шаг 5: IDE Arduino

Основная плата Flora совместима с Arduino, поэтому мы будем использовать Arduino IDE для нашего кода. Вы можете скачать последнюю версию по этой ссылке.

По этой ссылке также есть веб-версия.

Чтобы использовать наши NeoPixels и Accelerometer, необходимо добавить четыре библиотеки. Перейдите в Sketch, Include Library, Manage Libraries. Для каждого вам нужно будет найти его по имени, выбрать последнюю версию и нажать кнопку «Установить».

  • Адафрут NeoPixel
  • Унифицированный датчик Adafruit
  • Adafruit TSL2561
  • Adafruit LSM303DLHC

Как только они будут установлены и шитье будет завершено, мы готовы протестировать наш свитер, чтобы убедиться, что все работает.

Шаг 6: тестовые сценарии

Сценарии тестирования
Сценарии тестирования

Чтобы протестировать наш проект, нам нужно подключить нашу материнскую плату Adafruit к вашему компьютеру с помощью USB-кабеля. Затем перейдите в Инструменты, Порт и выберите в списке свою главную доску Flora.

Первое, что мы проверим, это правильность работы акселерометра. Перейдите в Файл, Примеры, Adafruit LSM303DLHC, Accelsensor. Это откроет сценарий, который проверяет, подключен ли датчик, и считывает значения координат. Загрузите на свою плату и откройте Serial Monitor в правом верхнем углу Arduino IDE. Если вы видите изменение значений в последовательном мониторе, как на фотографии, при перемещении акселерометра, значит, он работает!

Второе, что мы проверим, - работают ли NeoPixels. Перейдите в Файл, Примеры, Adafruit NeoPixels, strandtest. Прежде чем мы запустим этот скрипт, измените Pin на 9 и количество пикселей на 6 (или то, что вы используете для своего проекта). Загрузите на свою доску, и если все пиксели загорятся, вы готовы к финальному сценарию!

Шаг 7: окончательный сценарий

Окончательный сценарий
Окончательный сценарий

Пришло время загрузить последний код. Скопируйте приведенный ниже код в новый файл проекта. Pin установлен на 9, а количество NeoPixels установлено на 6. Если вы используете что-то другое, измените их перед запуском этого скрипта. Вы можете настроить любимые цвета, отрегулировав значения R, G и B от 0 до 255. Вы также можете добавить больше любимых цветов, добавив новую строку. Порог перемещения также можно отрегулировать. Чем меньше число, тем легче обнаружить движение и включить NeoPixels. После внесения любых изменений сохраните их и загрузите на главную доску Flora. Вы должны увидеть, как загораются пиксели, если перемещать акселерометр. Как только вы увидите, что вы можете отключиться от компьютера, и мы сможем подключиться к нашей аккумуляторной батарее.

#include #include #include #include #define PIN 9 #define PIXELCOUNT 6 // Параметр 1 = количество пикселей в полосе // Параметр 2 = номер контакта (большинство из них хороши, но мы используем 9) // Параметр 3 = тип пикселя flags, при необходимости сложите: // Пиксели NEO_RGB подключены к потоку битов RGB (пиксели FLORA v1, а не v2) // Пиксели NEO_GRB подключены к потоку битов GRB (большинство продуктов NeoPixel, которые мы используем) // NEO_KHZ400 400 кГц (классический 'v1' (не v2) пиксели FLORA, драйверы WS2811) // NEO_KHZ800 800 кГц битовый поток (большинство продуктов NeoPixel со светодиодами WS2812, которые мы используем) Adafruit_NeoPixel strip = Adafruit_NeoPixel (PIXELCOUNT, PIN, NEO_GRB + NEO_KHZ800); Adafruit_LSM303_Accel_Unified Accel = Adafruit_LSM303_Accel_Unified (54321); // Отрегулируйте R, G, B от 0 до 255 и // добавьте новые {nnn, nnn, nnn}, чтобы получить больше цветов // RGB uint8_t myFavoriteColors [3] = {{ 255, 255, 255}, // белый {255, 0, 0}, // красный {0, 255, 0}, // зеленый}; // не редактируйте строку под #define FAVCOLORS sizeof (myFavoriteColors) / 3 // это число регулирует чувствительность к движению // меньшее число = более чувствительное #define MOVE_THRESHOLD 5 // сверхчувствительное в настоящее времяvoid setup () {Serial.begin (9600); // Пытаемся инициализировать и предупреждать, если мы не смогли обнаружить чип // Используйте Serial Monitor для просмотра распечатки if (! Accel.begin ()) {Serial.println ("У нас проблема. Это вы, а не я … Не удалось инициализировать LSM303. Я бы начал с быстрой проверки проводки »); в то время как (1); } strip.begin (); strip.show (); // Устанавливаем пиксели в положение "выключено"} void loop () {/ * Получить новое событие датчика * / sensor_event_t event; Accel.getEvent (& событие); // Serial.print ("Accel X:"); Serial.print (event.acceleration.x); Serial.print (""); // Serial.print ("Y:"); Serial.print (event.acceleration.y); Serial.print (""); // Serial.print ("Z:"); Serial.print (event.acceleration.z); Serial.print (""); // Получить величину (длину) 3-х осевого вектора double storedVector = event.acceleration.x * event.acceleration.x; storedVector + = event.acceleration.y * event.acceleration.y; storedVector + = event.acceleration.z * event.acceleration.z; storedVector = sqrt (storedVector); // Serial.print ("Len:"); Serial.println (storedVector); // ждем немного задержки (250); // получаем новые данные! Accel.getEvent (& событие); двойной newVector = event.acceleration.x * event.acceleration.x; newVector + = event.acceleration.y * event.acceleration.y; newVector + = event.acceleration.z * event.acceleration.z; newVector = sqrt (новыйVector); // Serial.print ("New Len:"); Serial.println (новыйВектор); // мы уже переезжаем? if (abs (newVector - storedVector)> MOVE_THRESHOLD) {Serial.println («Яркий! Вспышка! Вспышка! МакФлэш!»); flashRandom (10, 2); // первое число - задержка ожидания, короче num == короче twinkle flashRandom (10, 4); // второе число - сколько неопикселей одновременно загорается flashRandom (10, 6); }} void flashRandom (int wait, uint8_t howmany) {for (uint16_t i = 0; i <howmany; i ++) {// произвольно выбирается из любимых цветов int c = random (FAVCOLORS); int white = myFavoriteColors [c] [0]; int красный = myFavoriteColors [c] [1]; int green = myFavoriteColors [c] [2]; // пиксели для включения в порядке (int i = 0; i <6; i ++) int j = strip.numPixels (); Serial.print («Пиксель включен»); Serial.println (i); // теперь мы «исчезнем» в 3 этапа для (int x = 0; x = 0; x--) {int w = white * x; w / = 3; int г = красный * х; г / = 3; int g = зеленый * x; g / = 3; strip.setPixelColor (i, strip. Color (w, r, g)); strip.show (); задержка (ждать); }} // По завершении светодиоды погаснут (они станут 0)}

Шаг 8: аккумулятор

Аккумуляторная батарея
Аккумуляторная батарея

Чтобы ваш свитер работал постоянно, мы будем использовать аккумуляторную батарею. Нам нужно сделать обвязку для рюкзака, чтобы он не висел на доске. Я использовал уголок старой наволочки в качестве батарейного отсека. Я зашил открытую сторону и пришил одну сторону верха к свитеру достаточно близко к основной плате, чтобы он мог легко подключиться, а не тянуть за него.

Подключите аккумуляторную батарею к основной плате, поверните небольшой переключатель на основной плате из положения «выключено» в положение «включено» и включите аккумуляторную батарею. Теперь ваш свитер должен быть в рабочем состоянии и готов к носке.

Шаг 9: Заключение

Заключение
Заключение

Вы сделали светящийся свитер, который впечатлит всех ваших друзей и семью! Но это не просто праздничный проект. Сделайте свой валентинку легким свитером в форме сердца или зажгите рубашку трилистника на День Святого Патрика. Используйте свое воображение и дайте нам знать, что вы создали!

Рекомендуемые: