Spisu treści:
- Krok 1: Lista materiałów
- Krok 2: Test + konfiguracja drukarki
- Krok 3: Projektowanie programu
- Krok 4: Obwód miękki
- Krok 5: Składanie wszystkiego razem
Wideo: Sweter Merry Grinchmas, drukarka termiczna + GemmaM0: 5 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:28
Sweter Merry Grinchmas to interaktywna część garderoby, która zapewnia szeroki zakres spersonalizowanych, drukowanych komunikatów, które można narzekać za każdym razem, gdy ktoś dotyka pomponu kapelusza Grincha. Wiadomości antyświąteczne przychodzące przez drukarkę termiczną sterowaną przez Gemma MO, Arduino i Capacitive Sensing.
Krok 1: Lista materiałów
- Gemma MO
- Drukarka termiczna Guts -
- Taśma z tkaniny przewodzącej
- Luźny Sweter
- Poczuł
- Rowing + zestaw do filcowania
- Włókno przewodzące -
- Nić miedziana
- Rezystory (3,3k + 2,2k)
- Zasilanie - 7,5V, 3A
- Akumulator Li-Po
- Lutowane
- Klej do tkanin
- Arduino Uno, zaciski krokodylkowe i płytka stykowa (do testów)
Krok 2: Test + konfiguracja drukarki
Przede wszystkim przetestowanie drukarki, aby sprawdzić, czy ma wystarczającą moc, w przeciwnym razie po naciśnięciu przycisku resetowania na drukarce w celu wydrukowania strony testowej będzie drukować tę samą linię w kółko (rysunek 1).
Kiedy wychodzi wydruk testowy, nadszedł czas, aby sprawdzić szybkość transmisji, ponieważ Printer Guts pracuje przy 9600 i domyślnie Biblioteka Adafruits używa 19200, podobnie jak inne drukarki termiczne, które sprzedają. Sprawdź to tutaj:
Zdjęcie 3 pokazuje konkretnie sposób podłączenia drukarki.
Test pomaga skalibrować różne style czcionek w celu stworzenia dowolnego niestandardowego projektu. (Zdjęcie 4).
Istnieje losowa liczba, która wybiera spośród 12 różnych zdań, w tym różne style tekstowe w nagłówku, tekście głównym i podpisie.
Na koniec, aby dodać dowolny obraz, należy go przekonwertować na obraz bitmapowy. (Zdjęcie 6). Tutaj wybór padł na Grinch. (Zdjęcie 7)
Ostatnia uwaga. Korzystanie z drukarki z Gemma M0 wymaga pewnych zmian w celu korzystania z portu szeregowego sprzętowego (Zdjęcie 8).
Krok 3: Projektowanie programu
Czego oczekuję od mojego programu?
1) Mam diodę RGB, która daje wizualną informację zwrotną o drukarce. Zielony oznacza gotowość, czerwony nadruk
Ponieważ Gemme M0 ma wbudowany Neopiksel, aby go zakodować, diodę LED należy zaadresować tak, jakby była to taśma LED.
#define NUMPIXELS 1 // Liczba diod LED w pasku
pusta konfiguracja () {
strip.początek(); // Zainicjuj piny dla wyjścia strip.show(); // Wyłącz wszystkie diody LED JAK NAJSZYBCIEJ
}
pusta pętla () {
strip.setPixelColor(0, 255, 127, 0);
strip.pokaż();
}
2) Czujnik pojemnościowy, który uruchamia system.
Wykrywanie pojemnościowe wymaga biblioteki i zdefiniowania niektórych zmiennych. Wykorzystuje jedno wejście analogowe, które należy skalibrować. Mogę wymagać pewnych testów, aby zmienić wartości dotyku.
#include "Adafruit_FreeTouch.h"
int touch = 1000;#define CAPTOUCH_PIN A0
długi staryState = 0;
void checkpress() { // Pobierz aktualny stan przycisku. long newState = qt_1.measure(); Serial.println(qt_1.measure()); if (nowy stan > dotknij && stary stan < dotknij) { // Krótkie opóźnienie do przycisku odbicia. opóźnienie(20); // Sprawdź, czy przycisk jest nadal niski po odbiciu. long newState = qt_1.measure(); } if (newState < touch) { // Nic nie rób } else { //Zrób to }
3) Drukuj różne komunikaty za każdym razem, gdy system jest uruchamiany
Program losuje liczbę za każdym razem, gdy program zostanie uruchomiony
void printChristmas(){
randomSeed(analogRead(0)*analogRead(1));
liczba losowa = losowa (1, 12);
drukarka.odwrócona();
printer.println(F("Xmas Inc. Prezentuje")); drukarka.inverseOff();
przełącznik (losowa liczba) {
case 1: // instrukcje printer.println(F("")); // Ustaw justowanie tekstu (do prawej, do środka, do lewej) - akceptuje 'L', 'C', 'R' printer.justify('L'); printer.println(F("O to w tym wszystkim chodzi, prawda? O to zawsze *o*. Prezenty, prezenty… prezenty, prezenty, prezenty, prezenty, prezenty! Chcesz wiedzieć, co dzieje się z Twoimi prezentami? Wszyscy przychodzą do mnie. W twoich śmieciach. Widzisz, co mówię? W twoich *śmieciach*. Mógłbym się powiesić tymi wszystkimi złymi świątecznymi krawatami, które znalazłem na śmietniku. I skąpstwo…")); przerwa; przypadek 2: // wyciągi printer.println(F("")); // Ustaw justowanie tekstu (do prawej, do środka, do lewej) - akceptuje 'L', 'C', 'R' printer.justify('L'); printer.println(F("Och, kto-manity.")); case 3: // instrukcje printer.println(F("")); // Ustaw justowanie tekstu (do prawej, do środka, do lewej) - akceptuje 'L', 'C', 'R' printer.justify('L'); printer.println(F("Och, nie, sanie, prezenty, zniszczą, a mnie to obchodzi!")); przerwa; przypadek 4: // instrukcje printer.println(F("")); // Ustaw justowanie tekstu (do prawej, do środka, do lewej) - akceptuje 'L', 'C', 'R' printer.justify('L'); printer.println(F("Wybuj tę świąteczną muzykę. Jest radosna i triumfalna.")); przerwa; przypadek 5: // instrukcje printer.println(F("")); // Ustaw justowanie tekstu (do prawej, do środka, do lewej) - akceptuje 'L', 'C', 'R' printer.justify('L'); printer.println(F("Czy jem tylko dlatego, że się nudzę?")); przerwa; przypadek 6: // instrukcje printer.println(F("")); // Ustaw justowanie tekstu (do prawej, do środka, do lewej) - akceptuje 'L', 'C', 'R' printer.justify('L'); printer.println(F("Istnieje jednak jedna malutka tradycja bożonarodzeniowa, która wydaje mi się całkiem znacząca…[podnosi jemiołę]Jemioła.[przykłada jemiołę do tyłka]Teraz zmarszcz się i pocałuj go, Whoville![ruszy jemiołą] Boi-joi-joi-joing!")); przerwa; przypadek 7: // instrukcje printer.println(F("")); // Ustaw justowanie tekstu (do prawej, do środka, do lewej) - akceptuje 'L', 'C', 'R' printer.justify('L'); printer.println(F("Teraz mnie posłuchaj, młoda damo! Nawet jeśli *strasznie okaleczeni*, w Boże Narodzenie nie będzie smutnych twarzy.")); przerwa; przypadek 8: // instrukcje printer.println(F("")); // Ustaw justowanie tekstu (do prawej, do środka, do lewej) - akceptuje 'L', 'C', 'R' printer.justify('L'); printer.println(F("Wakacje kto-jest czym-ee?")); przerwa; przypadek 9: // instrukcje printer.println(F("")); // Ustaw justowanie tekstu (do prawej, do środka, do lewej) - akceptuje 'L', 'C', 'R' printer.justify('L'); printer.println(F("Czy masz ostrokrzew, wesołe święta?")); przerwa; przypadek 10: // wyciągi printer.println(F("")); // Ustaw justowanie tekstu (do prawej, do środka, do lewej) - akceptuje 'L', 'C', 'R' printer.justify('L'); printer.println(F("I będą ucztować, ucztować, ucztować, ucztować. Zjedzą swój budyń-która i rzadką bestię-która-pieczona. Ale to jest coś, czego w najmniejszym stopniu nie mogę znieść. O nie. „MÓWIĘ W RYMIE!”)); przerwa; przypadek 11: // instrukcje printer.println(F("")); // Ustaw justowanie tekstu (do prawej, do środka, do lewej) - akceptuje 'L', 'C', 'R' printer.justify('L'); printer.println(F("Chciwość nigdy się nie kończy!Chcę kijów golfowych. Chcę diamentów. Chcę kucyka, żebym mógł na nim jeździć dwa razy, znudzić się i sprzedać go, żeby zrobić klej. Słuchaj, nie chcę robić fal, ale ten *cały* sezon świąteczny to…")); przerwa; }
// Przetestuj więcej stylów
drukarka.pogrubienieWł(); drukarka.justify('R'); printer.println(F("Grinch")); drukarka.pogrubienieOff(); drukarka.println(F("")); drukarka.justify('L'); // Testowanie znaków o podwójnej wysokości włączanie i wyłączanie printer.doubleHeightOn(); printer.println(F("Wesołych Grinchmas!")); drukarka.podwójnaWysokość(); drukarka.println(F("")); drukarka.println(F(""));
// Wydrukuj logo 75x75 pikseli w adalogo.h:
drukarka.printBitmap(grinch_width, grinch_height, grinch_data);
drukarka.println(F(""));
drukarka.println(F(""));
drukarka.sen(); // Każ drukarce uśpić
opóźnienie (3000L); // Uśpij przez 3 sekundy printer.wake(); // MUSISZ obudzić() przed ponownym drukowaniem, nawet po zresetowaniu printer.setDefault(); // Przywróć ustawienia domyślne drukarki }
Krok 4: Obwód miękki
Ponieważ miękki obwód musi być bezpiecznie umieszczony w swetrze, zwróciłem szczególną uwagę na projekt obwodu (Zdjęcie 1) i umiejscowienie komponentu.
Po przetestowaniu całego obwodu za pomocą zacisków krokodylkowych i płytki stykowej (zdjęcia 2 i 3), przed szyciem i lutowaniem zająłem się umieszczaniem tymczasowych elementów na filcu (zdjęcie 4 i 5).
Ważna uwaga: okablowanie, w tym rezystory, jest niezbędne, ponieważ ten obwód wymaga dzielnika napięcia, aby zapobiec uszkodzeniu płytki przez prąd. (Zdjęcie 6)
Ostatni krok tutaj, testowanie wszystkiego (Zdjęcie 7)
Krok 5: Składanie wszystkiego razem
1) Tworzenie filcowej czcionki (zdjęcie 1 i 2)
2) Szyć litery (zdjęcie 3)
3) Utwórz woreczek na rolkę papieru oraz konstrukcję na drukarkę i uchwyt baterii Li-po (Zdjęcie 4 i 5). Wszystko jest przyszyte do swetra.
4) Utwórz twarz Grincha, która działa jak pokrywa drukarki. Obwód jest kontynuowany pod czapką warstwą tkaniny przewodzącej, która łączy się z pomponem. Pompon wykonany jest z zielonego rowingu wełnianego i przewodzącego włókna. (Zdjęcie 6).
5) Ponieważ do zasilania zasilacza potrzebny jest przewód, wykonałem okładkę z przędzy za pomocą dzianiny francuskiej. (Zdjęcie 7 Opcjonalnie).
6) Ostatni krok, upewnij się, że wszystko jest na swoim miejscu i przymierz!
Zalecana:
DIY 37 Leds Arduino Roulette Game: 3 kroki (ze zdjęciami)
DIY 37 Leds Arduino Roulette Game: Ruletka to gra kasynowa nazwana na cześć francuskiego słowa oznaczającego małe koło
Kask ochronny Covid, część 1: wprowadzenie do obwodów Tinkercad!: 20 kroków (ze zdjęciami)
Kask ochronny Covid, część 1: wprowadzenie do obwodów Tinkercad!: Witaj, przyjacielu! W tej dwuczęściowej serii nauczymy się korzystać z obwodów Tinkercad - zabawnego, potężnego i edukacyjnego narzędzia do nauki działania obwodów! Jednym z najlepszych sposobów uczenia się jest robienie. Dlatego najpierw zaprojektujemy nasz własny projekt: th
Radio internetowe BOSEBerry Pi: 4 kroki (ze zdjęciami)
Radio internetowe BOSEBerry Pi: Uwielbiam słuchać radia! Używałem radia DAB w moim domu, ale okazało się, że odbiór był nieco nierówny, a dźwięk ciągle się załamywał, więc postanowiłem zbudować własne radio internetowe. Mam silny sygnał Wi-Fi w całym domu, a cyfrowy bro
Zegar lokalizacyjny „Weasley” z 4 wskazówkami: 11 kroków (ze zdjęciami)
Zegar lokalizacji „Weasley” z czterema wskazówkami: Tak więc, mając Raspberry Pi, które od jakiegoś czasu się bawiło, chciałem znaleźć fajny projekt, który pozwoli mi go jak najlepiej wykorzystać. Natknąłem się na ten wspaniały instruktażowy zegar lokalizacji Weasley'a autorstwa ppeters0502 i pomyślałem, że
Profesjonalna stacja pogodowa wykorzystująca ESP8266 i ESP32 DIY: 9 kroków (ze zdjęciami)
Profesjonalna stacja pogodowa przy użyciu ESP8266 i ESP32 DIY: LineaMeteoStazione to kompletna stacja pogodowa, która może być połączona z profesjonalnymi czujnikami firmy Sensirion, a także z niektórymi komponentami Davis Instrument (deszczomierz, anemometr) Projekt jest przeznaczony do samodzielnej stacji pogodowej, ale wymaga tylko