Мазмуну:

Merry Grinchmas свитер, жылуулук принтер + GemmaM0: 5 кадам (сүрөттөр менен)
Merry Grinchmas свитер, жылуулук принтер + GemmaM0: 5 кадам (сүрөттөр менен)

Video: Merry Grinchmas свитер, жылуулук принтер + GemmaM0: 5 кадам (сүрөттөр менен)

Video: Merry Grinchmas свитер, жылуулук принтер + GemmaM0: 5 кадам (сүрөттөр менен)
Video: 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 свитери - бул кимдир бирөө Гринчтин шляпасынын помпонуна тийгенде даттануу катары жекече басылган билдирүүлөрдүн кеңири спектрин камсыз кылган интерактивдүү кийим. Рождествого каршы билдирүүлөр Gemma MO, Arduino жана Capacitive Sensing тарабынан башкарылган жылуулук принтери аркылуу келет.

1 -кадам: Материалдардын тизмеси

- Gemma MO

- Жылуулук принтери Guts -

- Өткөргүч кездемелер тасмасы

- Бош свитер

- Кийиз

- Аркан + кийизге арналган комплект

- Өткөргүч була -

- Жез жип

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

- Электр менен камсыздоо - 7.5V, 3A

- Li-Po батареясы

- Solder

- Ткани клей

- Arduino Uno, Alligator Clips & breadboard (тестирлөө үчүн)

2 -кадам: Принтерди текшерүү + орнотуу

Принтерди текшерүү + орнотуу
Принтерди текшерүү + орнотуу
Принтерди текшерүү + орнотуу
Принтерди текшерүү + орнотуу
Принтерди текшерүү + орнотуу
Принтерди текшерүү + орнотуу

Биринчиден, принтердин жетиштүү күчкө ээ экенин текшерүү, антпесе, тест баракчасын басып чыгаруу үчүн принтердеги баштапкы абалга келтирүү баскычын басканда, ошол эле сызыкты кайра -кайра басып чыгара берет (1 -сүрөт).

Сынактын басылышы чыкканда, BaudRate'ди текшерүү убактысы келди, анткени Printer Guts 9600дө иштейт жана демейки Adafruits Library, алар саткан башка термикалык принтерлер сыяктуу 19200дү колдонот. Бул жерден текшериңиз:

3 -сүрөттө принтерди кантип зым менен жабуу керектиги көрсөтүлгөн.

Сыноо ар кандай ыңгайлаштырылган дизайнды түзүү үчүн ар кандай шрифт стилдерин калибрлөөгө жардам берет. (4 -сүрөт).

Кокус сан бар, анда ар кандай текст стилдерин камтыган 12 түрдүү сүйлөмдөрдү, баш текстти жана кол тамгаларды камтыйт.

Акырында, кандайдыр бир сүрөттү кошуу үчүн, аны Bitmap сүрөтүнө айландыруу керек. (6 -сүрөт). Бул жерде тандоо Гринч болчу. [7 -сүрөт]

Акыркы бир эскертүү. Принтерди Gemma M0 менен колдонуу, аппараттык серияны колдонуу үчүн кээ бир өзгөртүүлөрдү талап кылат (Picture 8).

3 -кадам: Программаны иштеп чыгуу

Программаны иштеп чыгуу
Программаны иштеп чыгуу

Мен программамдан эмнени күтөм?

1) Менде принтер жөнүндө визуалдык пикир берген RGB жетеги бар. Даяр үчүн жашыл, басып чыгаруу үчүн кызыл

Gemme M0 камтылган Neopixelге ээ болгондуктан, аны коддоо үчүн, LEDди LED тилкеси сыяктуу чечүү керек.

#define NUMPIXELS 1 // Тилкедеги LED саны

жараксыз орнотуу () {

strip.begin (); // Output strip.show () үчүн казыктарды инициализациялоо; // Тез арада бардык светодиоддорду өчүрүңүз

}

void loop () {

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

strip.show ();

}

2) Системаны иштетүүчү сыйымдуу сенсор.

Сыйымды сезүү үчүн китепкана жана кээ бир өзгөрмөлөрдү аныктоо керек. Бул калибрлөө керек болгон бир аналогдук киргизүүнү колдонот. Мен тийүү баалуулуктарын өзгөртүү үчүн кээ бир сыноолорду талап кылышы мүмкүн.

#"Adafruit_FreeTouch.h" кошуу

int touch = 1000; #define CAPTOUCH_PIN A0

long oldState = 0;

void checkpress () {// Учурдагы баскычтын абалын алуу. long newState = qt_1.measure (); Serial.println (qt_1.measure ()); if (newState> touch && oldState <touch) {// Кыскартуу баскычы. кечигүү (20); // Чыккандан кийин баскыч дагы эле төмөн экенин текшериңиз. long newState = qt_1.measure (); } if (newState <touch) {// Эч нерсе кылба} башка {// Муну кыл}

3) Система ишке кирген сайын ар кандай билдирүүлөрдү басып чыгарыңыз

Программа программаны иштеткен сайын санды рандомизациялайт

жараксыз printChristmas () {

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

randomNumber = кокустук (1, 12);

printer.inverseOn ();

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

которуштуруу (randomNumber) {

1 -жагдай: // арыздар printer.println (F ("")); // Текстти негиздөөнү коюу (оңго, борборго, солго) - 'L', 'C', 'R' принтерин кабыл алат. Justify ('L'); printer.println (F ("Мунун баары эмеспи, чынбы? Бул дайыма *жөнүндө болгон *. Белектер, белектер… белектер, белектер, белектер, белектер, белектер! Сиз белектериңиз менен эмне болорун билгиңиз келеби? Алардын баары мага келишет. Сиздин таштандыда. Сиз эмнени айтып жатканымды көрүп жатасызбы? Сиздин *таштандыңызда. Мен таштандыдан тапкан бардык жаман Рождестволук галстуктар менен асынып алмакмын. Жана сараңдык.. ")); тыныгуу; 2 -жагдай: // арыздар printer.println (F ("")); // Текстти негиздөөнү коюу (оңго, борборго, солго) - 'L', 'C', 'R' принтерин кабыл алат. Justify ('L'); printer.println (F ("Оо, ким-манитет.")); 3 -жагдай: // арыздар printer.println (F ("")); // Текстти негиздөөнү коюу (оңго, борборго, солго) - 'L', 'C', 'R' принтерин кабыл алат. Justify ('L'); printer.println (F ("О, жок, чана, белектер, алар жок кылынат, мен кам көрөм!")); тыныгуу; учурда 4: // операторлор printer.println (F ("")); // Текстти негиздөөнү коюу (оңго, борборго, солго) - 'L', 'C', 'R' принтерин кабыл алат. Justify ('L'); printer.println (F ("Бул Christmas музыкасын жардыруу. Бул кубанычтуу жана салтанаттуу.")); тыныгуу; 5 -жагдай: // арыздар printer.println (F ("")); // Текстти негиздөөнү коюу (оңго, борборго, солго) - 'L', 'C', 'R' принтерин кабыл алат. Justify ('L'); printer.println (F ("Мен тажагандыктан эле жеп жатамбы?"))); тыныгуу; 6 -жагдай: // арыздар printer.println (F ("")); // Текстти негиздөөнү коюу (оңго, борборго, солго) - 'L', 'C', 'R' принтерин кабыл алат. Justify ('L'); printer.println (F ("Бирок, бир кичинекей Рождество салты бар, мен үчүн абдан мааниси бар … [омеланы кармайт] Мистлето. [омелетин жамбашына коет] Эми чукулап, өпкүлө, Уовилл! [омелин чайкап] Boi-yoi-yoi-yoing! ")); тыныгуу; 7 -жагдай: // арыздар printer.println (F ("")); // Текстти негиздөөнү коюу (оңго, борборго, солго) - 'L', 'C', 'R' принтерин кабыл алат. Justify ('L'); printer.println (F ("Эми сен мени ук, жаш айым! Биз *үрөй учурарлык мааниде болсок да, Рождестводо кайгылуу жүздөр болбойт.")); тыныгуу; 8 -жагдай: // арыздар printer.println (F ("")); // Текстти негиздөөнү коюу (оңго, борборго, солго) - 'L', 'C', 'R' принтерин кабыл алат. Justify ('L'); printer.println (F ("Каникул ким-эмне-ее?")); тыныгуу; учурда 9: // арыздар printer.println (F ("")); // Текстти негиздөөнү коюу (оңго, борборго, солго) - 'L', 'C', 'R' принтерин кабыл алат. Justify ('L'); printer.println (F ("Сизде ыйык, кубанычтуу Рождество барбы?")); тыныгуу; 10 -жагдай: // арыздар printer.println (F ("")); // Текстти негиздөөнү коюу (оңго, борборго, солго) - 'L', 'C', 'R' принтерин кабыл алат. Justify ('L'); printer.println (F ("Алар майрамдашат, майрамдашат, майрамдашат, майрамдашат. Алар кимдин-пудингин жана сейрек кездешүүчү кимдин-куурулган жырткычын жешет. Бирок бул мен эч нерсеге туруштук бере албайм. Оо, жок. Мен 'M СҮЙЛӨП ЖАТАМ! ")); тыныгуу; учурда 11: // арыздар printer.println (F ("")); // Текстти негиздөөнү коюу (оңго, борборго, солго) - 'L', 'C', 'R' принтерин кабыл алат. Justify ('L'); printer.println (F ("Сараңдык эч качан бүтпөйт! Мен гольф клубдарын каалайм. Мен алмаздарды каалайм. Мен пони каалайм, аны эки жолу минип, тажап, клей жасоо үчүн сатам. Мына, мен толкун кылгым келбейт, бирок бул * бүтүн * Рождество мезгили… ")); тыныгуу; }

// Көбүрөөк стилдерди текшериңиз

printer.boldOn (); printer.justify ('R'); printer.println (F ("Гринч")); printer.boldOff (); printer.println (F ("")); printer.justify ('L'); // Printer.doubleHeightOn () боюнча эки эсе бийиктикти сыноо белгиси; printer.println (F ("Merry Grinchmas!")); 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 секунд уктоо принтер.wake (); // КАЙРА басып чыгаруудан мурун, ойготуу керек (), reset.setDefault (); // Принтерди баштапкы абалга келтирүү}

4 -кадам: Soft Circuit

Soft Circuit
Soft Circuit
Soft Circuit
Soft Circuit
Soft Circuit
Soft Circuit
Soft Circuit
Soft Circuit

Жумшак схеманы свитерге коопсуз жайгаштыруу керек болгондуктан, мен схеманын дизайнына өзгөчө көңүл бурдум (1 -сүрөт) жана компоненттин жайгашуусу.

Аллигатордун клиптерин жана нан тактасын колдонуу менен толук схеманы текшергенден кийин (2 жана 3 -сүрөттөр), мен тигүү жана ширетүү алдында кийизге убактылуу компоненттерди салып кирдим (Picture 4 & 5).

Маанилүү эскертүү: Резисторлорду камтыган зымдар өтө маанилүү, анткени бул схема токту бузуп кетпеши үчүн чыңалуу бөлүштүргүчкө муктаж. (6 -сүрөт)

Бул жерде акыркы кадам, баарын текшерүү (Picture 7)

5 -кадам: Бардыгын бириктирүү

Баарын бир жерге коюу
Баарын бир жерге коюу
Баарын бир жерге коюу
Баарын бир жерге коюу
Баарын бир жерге коюу
Баарын бир жерге коюу

1) Кийиз шрифт бетин түзүү (Picture 1 & 2)

2) Каттарды тигүү (3 -сүрөт)

3) Кагаз түрмөк үчүн баштыкчаны жана принтер менен Li-po батарейка кармагычын түзүңүз (Picture 4 & 5). Баары свитерге тигилген.

4) Принтердин капкагы катары иштеген Гринчтин жүзүн түзүңүз. Район шляпанын астында помпонго туташкан кездеме өткөрүүчү лента катмары менен уланат. Помпон жашыл жүндөн жана өткөргүч буладан жасалган. (6 -сүрөт).

5) Электр энергиясы менен камсыздоо шнурду талап кылат, мен француз трикотажын колдонуп жиптен жасалган капкакты жараттым. (Сүрөт 7 Кошумча).

6) Эң акыркы кадам, баары ордунда экенин текшерип көрүңүз!

Сунушталууда: