Съдържание:

Пуловер Merry Grinchmas, термопринтер + GemmaM0: 5 стъпки (със снимки)
Пуловер Merry Grinchmas, термопринтер + GemmaM0: 5 стъпки (със снимки)

Видео: Пуловер Merry Grinchmas, термопринтер + GemmaM0: 5 стъпки (със снимки)

Видео: Пуловер Merry Grinchmas, термопринтер + GemmaM0: 5 стъпки (със снимки)
Видео: Merry Grinchmas! #christmas #diy #homemade #shorts #grinch #grinchmas #embroidery 2024, Ноември
Anonim
Пуловер Merry Grinchmas, термопринтер + GemmaM0
Пуловер Merry Grinchmas, термопринтер + GemmaM0
Пуловер Merry Grinchmas, термопринтер + GemmaM0
Пуловер Merry Grinchmas, термопринтер + GemmaM0
Пуловер Merry Grinchmas, термопринтер + GemmaM0
Пуловер Merry Grinchmas, термопринтер + GemmaM0
Пуловер Merry Grinchmas, термопринтер + GemmaM0
Пуловер Merry Grinchmas, термопринтер + GemmaM0

Пуловерът Merry Grinchmas е интерактивна дреха, която предоставя широка гама от персонализирани печатни съобщения като оплакване, когато някой докосне шапката на Grinch. Съобщения против Коледа, идващи чрез термичен принтер, контролиран от Gemma MO, Arduino и Capacitive Sensing.

Стъпка 1: Списък на материалите

- Джема МО

- Термичен принтер Guts -

- Проводима лента от плат

- Разхлабен пуловер

- Чувствах

- Ровинг + комплект за сплъстяване

- Проводими влакна -

- Меден конец

- Резистори (3.3k + 2.2k)

- Захранване - 7.5V, 3A

- Li-Po батерия

- Припой

- Лепило за тъкани

- Arduino Uno, клипове и алигатор (за тестване)

Стъпка 2: Тест + Настройка на принтера

Тест + Настройка на принтера
Тест + Настройка на принтера
Тест + Настройка на принтера
Тест + Настройка на принтера
Тест + Настройка на принтера
Тест + Настройка на принтера

На първо място, тестването на принтера, за да се види дали има достатъчно мощност, в противен случай, когато натиснете бутона за нулиране на принтера, за да отпечатате тестовата страница, той ще продължи да отпечатва същия ред отново и отново (снимка 1).

Когато излезе тестовият печат, е време да проверите BaudRate, тъй като Printer Guts работят на 9600 и по подразбиране библиотеката Adafruits използва 19200 като други термични принтери, които продават. Проверете тук:

Снимка 3 показва конкретно как да свържете принтера.

Тестът помага да се калибрират различните стилове на шрифта, за да се създаде всеки персонализиран дизайн. (Снимка 4).

Има произволно число, което избира между 12 различни изречения, включително различни текстови стилове за заглавие, основния текст и подпис.

И накрая, за да добавите някоя картина, тя трябва да бъде преобразувана в растерна картина. (Снимка 6). Тук изборът беше Гринч. (Снимка 7)

Една последна бележка. Използването на принтера с Gemma M0 изисква някои настройки за използване на хардуерната серия (Снимка 8).

Стъпка 3: Проектиране на програмата

Проектиране на програмата
Проектиране на програмата

Какво очаквам от моята програма?

1) Имам RGB светодиод, който дава визуална обратна връзка за принтера. Зелено за готовност, червено за печат

Тъй като Gemme M0 има вграден Neopixel, за да го кодира, светодиодът трябва да бъде адресиран така, сякаш е LED лента.

#define NUMPIXELS 1 // Брой светодиоди в лентата

void setup () {

strip.begin (); // Инициализиране на щифтове за изход лента.show (); // Изключете всички светодиоди възможно най -скоро

}

void loop () {

strip.setPixelColor (0, 255, 127, 0);

strip.show ();

}

2) Капацитивен сензор, който задейства системата.

Капацитивното отчитане изисква библиотека и дефиниране на някои променливи. Той използва един аналогов вход, който трябва да бъде калибриран. Може да изисквам известно тестване, за да променя стойностите на докосването.

#include "Adafruit_FreeTouch.h"

int touch = 1000;#дефинирайте CAPTOUCH_PIN A0

long oldState = 0;

void checkpress () {// Получаване на текущото състояние на бутона. long newState = qt_1.measure (); Serial.println (qt_1.measure ()); if (newState> докоснете && oldState <докосване) {// Бутон за кратко забавяне за деблокиране. забавяне (20); // Проверете дали бутонът все още е нисък след деблокиране. long newState = qt_1.measure (); } if (newState <touch) {// Не правете нищо} друго {// Направете това}

3) Отпечатвайте различни съобщения всеки път, когато системата се задейства

Програмата ще рандомизира число всеки път, когато програмата работи

void printChristmas () {

randomSeed (analogRead (0)*analogRead (1));

randomNumber = случаен (1, 12);

printer.inverseOn ();

printer.println (F ("Xmas Inc. Presents")); printer.inverseOff ();

switch (randomNumber) {

случай 1: // изявления printer.println (F ("")); // Задаване на обосновка на текста (вдясно, в центъра, вляво) - приема 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("За това става въпрос, нали? За това винаги е било *). Подаръци, подаръци … подаръци, подаръци, подаръци, подаръци! Искате ли да знаете какво се случва с вашите подаръци? Всички те идват при мен. В твоите боклуци. Виждаш ли какво казвам? В твоите *боклуци *. Мога да се обеся с всички лоши коледни вратовръзки, които намерих на сметището. И сребролюбието.. ")); прекъсване; случай 2: // изявления printer.println (F ("")); // Задаване на обосновка на текста (вдясно, в центъра, вляво) - приема 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("О, Кой-човечеството.")); случай 3: // изявления printer.println (F ("")); // Задаване на обосновка на текста (вдясно, в центъра, вляво) - приема 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("О, не, шейната, подаръците, те ще бъдат унищожени и ми пука!")); прекъсване; случай 4: // изявления printer.println (F ("")); // Задаване на обосновка на текста (вдясно, в центъра, вляво) - приема 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("Взриви тази коледна музика. Това е радостно и триумфално.")); прекъсване; случай 5: // изявления printer.println (F ("")); // Задайте обосновка на текста (вдясно, в центъра, вляво) - приема 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("Просто ям ли, защото ми е скучно?")); прекъсване; случай 6: // инструкции printer.println (F ("")); // Задайте обосновка на текста (вдясно, в центъра, вляво) - приема 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("Има обаче една мъничка мъничка коледна традиция, която намирам за много смислена … [задържа имел] Имел. [поставя имел върху дупето си] Сега се надигни и целуни го, Уовил! [мърда имел]) Boi-yoi-yoi-yoing! ")); прекъсване; случай 7: // изявления printer.println (F ("")); // Задаване на обосновка на текста (вдясно, в центъра, вляво) - приема 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("Сега ме изслушай, млада дама! Дори да сме *ужасно осакатени *, няма да има тъжни лица на Коледа.")); прекъсване; случай 8: // изявления printer.println (F ("")); // Задайте обосновка на текста (вдясно, в центъра, вляво) - приема 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("Празник кой-да бъде какво-ей?")); прекъсване; случай 9: // изявления printer.println (F ("")); // Задаване на обосновка на текста (вдясно, в центъра, вляво) - приема 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("Имате ли празник, весела Коледа?")); прекъсване; случай 10: // изявления printer.println (F ("")); // Задаване на обосновка на текста (вдясно, в центъра, вляво) - приема 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("И те ще пируват, пируват, пируват, пируват. Те ще изядат своя Who-Pudding и рядък Who-Roast Beast. Но това е нещо, което просто не мога да понеса ни най-малко. О, не. I 'M ГОВРЯ В РИМА! ")); прекъсване; случай 11: // изявления printer.println (F ("")); // Задаване на обосновка на текста (вдясно, в центъра, вляво) - приема 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("Скъпотата никога не свършва! Искам голф клубове. Искам диаманти. Искам пони, за да мога да го яздя два пъти, да се отегча и да го продавам, за да направя лепило. Вижте, не искам да правя вълни, но този * целия * коледен сезон е … ")); прекъсване; }

// Тествайте повече стилове

printer.boldOn (); printer.justify ('R'); printer.println (F ("Гринч")); printer.boldOff (); printer.println (F ("")); printer.justify ('L'); // Тествайте символа с двойна височина на и изключен принтер.doubleHeightOn (); printer.println (F ("Весели Гринчми!")); printer.doubleHeightOff (); printer.println (F ("")); printer.println (F (""));

// Отпечатайте логото на 75x75 пиксела в adalogo.h:

printer.printBitmap (grinch_width, grinch_height, grinch_data);

printer.println (F (""));

printer.println (F (""));

printer.sleep (); // Кажете на принтера да спи

забавяне (3000L); // Спи за 3 секунди printer.wake (); // ТРЯБВА да събуди () преди да отпечатате отново, дори ако нулирате printer.setDefault (); // Възстановяване на принтера по подразбиране}

Стъпка 4: Мека верига

Мека верига
Мека верига
Мека верига
Мека верига
Мека верига
Мека верига
Мека верига
Мека верига

Тъй като меката верига трябва да бъде поставена безопасно в пуловера, обърнах специално внимание на дизайна на веригата (Снимка 1) и разположението на компонента.

След като изпробвах цялата верига с помощта на алигаторни скоби и макет (Снимки 2 и 3), аз скочих да поставя временни компоненти върху филца, преди да шия и запоявам (Снимки 4 и 5).

Важна забележка: Окабеляването, включително резисторите, е от съществено значение, тъй като тази верига се нуждае от делител на напрежение, за да предотврати повреда на тока на платката. (Снимка 6)

Последната стъпка тук, тестване на всичко (Снимка 7)

Стъпка 5: Съберете всичко заедно

Сглобявайки всичко заедно
Сглобявайки всичко заедно
Сглобявайки всичко заедно
Сглобявайки всичко заедно
Сглобявайки всичко заедно
Сглобявайки всичко заедно

1) Създаване на лицевия шрифт (Снимки 1 и 2)

2) Шийте букви (Снимка 3)

3) Създайте торбичка за ролката хартия и структура за принтера и държача за Li-po батерия (Снимки 4 и 5). Всичко е пришито към пуловера.

4) Създайте лицето на Grinch, което работи като капак на принтера. Веригата продължава под шапката със слой тъкан проводяща лента, която се свързва с помпона. Помпонът е изработен от роувинг от зелена вълна и проводящи влакна. (Снимка 6).

5) Тъй като захранването изисква захранване на кабел, създадох капак от прежда с помощта на френска плетачка. (Снимка 7 По избор).

6) Последната стъпка, уверете се, че всичко е на мястото си и опитайте!

Препоръчано: