![Merry Grinchmas свитер, жылуулук принтер + GemmaM0: 5 кадам (сүрөттөр менен) Merry Grinchmas свитер, жылуулук принтер + GemmaM0: 5 кадам (сүрөттөр менен)](https://i.howwhatproduce.com/images/005/image-13154-j.webp)
Мазмуну:
2025 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2025-01-23 14:51
![Merry Grinchmas свитери, жылуулук принтери + GemmaM0 Merry Grinchmas свитери, жылуулук принтери + GemmaM0](https://i.howwhatproduce.com/images/005/image-13154-1-j.webp)
![Merry Grinchmas свитери, жылуулук принтери + GemmaM0 Merry Grinchmas свитери, жылуулук принтери + GemmaM0](https://i.howwhatproduce.com/images/005/image-13154-2-j.webp)
![Merry Grinchmas свитери, жылуулук принтери + GemmaM0 Merry Grinchmas свитери, жылуулук принтери + GemmaM0](https://i.howwhatproduce.com/images/005/image-13154-3-j.webp)
![Merry Grinchmas свитери, жылуулук принтери + GemmaM0 Merry Grinchmas свитери, жылуулук принтери + GemmaM0](https://i.howwhatproduce.com/images/005/image-13154-4-j.webp)
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 -кадам: Принтерди текшерүү + орнотуу
![Принтерди текшерүү + орнотуу Принтерди текшерүү + орнотуу](https://i.howwhatproduce.com/images/005/image-13154-5-j.webp)
![Принтерди текшерүү + орнотуу Принтерди текшерүү + орнотуу](https://i.howwhatproduce.com/images/005/image-13154-6-j.webp)
![Принтерди текшерүү + орнотуу Принтерди текшерүү + орнотуу](https://i.howwhatproduce.com/images/005/image-13154-7-j.webp)
Биринчиден, принтердин жетиштүү күчкө ээ экенин текшерүү, антпесе, тест баракчасын басып чыгаруу үчүн принтердеги баштапкы абалга келтирүү баскычын басканда, ошол эле сызыкты кайра -кайра басып чыгара берет (1 -сүрөт).
Сынактын басылышы чыкканда, BaudRate'ди текшерүү убактысы келди, анткени Printer Guts 9600дө иштейт жана демейки Adafruits Library, алар саткан башка термикалык принтерлер сыяктуу 19200дү колдонот. Бул жерден текшериңиз:
3 -сүрөттө принтерди кантип зым менен жабуу керектиги көрсөтүлгөн.
Сыноо ар кандай ыңгайлаштырылган дизайнды түзүү үчүн ар кандай шрифт стилдерин калибрлөөгө жардам берет. (4 -сүрөт).
Кокус сан бар, анда ар кандай текст стилдерин камтыган 12 түрдүү сүйлөмдөрдү, баш текстти жана кол тамгаларды камтыйт.
Акырында, кандайдыр бир сүрөттү кошуу үчүн, аны Bitmap сүрөтүнө айландыруу керек. (6 -сүрөт). Бул жерде тандоо Гринч болчу. [7 -сүрөт]
Акыркы бир эскертүү. Принтерди Gemma M0 менен колдонуу, аппараттык серияны колдонуу үчүн кээ бир өзгөртүүлөрдү талап кылат (Picture 8).
3 -кадам: Программаны иштеп чыгуу
![Программаны иштеп чыгуу Программаны иштеп чыгуу](https://i.howwhatproduce.com/images/005/image-13154-8-j.webp)
Мен программамдан эмнени күтөм?
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](https://i.howwhatproduce.com/images/005/image-13154-9-j.webp)
![Soft Circuit Soft Circuit](https://i.howwhatproduce.com/images/005/image-13154-10-j.webp)
![Soft Circuit Soft Circuit](https://i.howwhatproduce.com/images/005/image-13154-11-j.webp)
![Soft Circuit Soft Circuit](https://i.howwhatproduce.com/images/005/image-13154-12-j.webp)
Жумшак схеманы свитерге коопсуз жайгаштыруу керек болгондуктан, мен схеманын дизайнына өзгөчө көңүл бурдум (1 -сүрөт) жана компоненттин жайгашуусу.
Аллигатордун клиптерин жана нан тактасын колдонуу менен толук схеманы текшергенден кийин (2 жана 3 -сүрөттөр), мен тигүү жана ширетүү алдында кийизге убактылуу компоненттерди салып кирдим (Picture 4 & 5).
Маанилүү эскертүү: Резисторлорду камтыган зымдар өтө маанилүү, анткени бул схема токту бузуп кетпеши үчүн чыңалуу бөлүштүргүчкө муктаж. (6 -сүрөт)
Бул жерде акыркы кадам, баарын текшерүү (Picture 7)
5 -кадам: Бардыгын бириктирүү
![Баарын бир жерге коюу Баарын бир жерге коюу](https://i.howwhatproduce.com/images/005/image-13154-13-j.webp)
![Баарын бир жерге коюу Баарын бир жерге коюу](https://i.howwhatproduce.com/images/005/image-13154-14-j.webp)
![Баарын бир жерге коюу Баарын бир жерге коюу](https://i.howwhatproduce.com/images/005/image-13154-15-j.webp)
1) Кийиз шрифт бетин түзүү (Picture 1 & 2)
2) Каттарды тигүү (3 -сүрөт)
3) Кагаз түрмөк үчүн баштыкчаны жана принтер менен Li-po батарейка кармагычын түзүңүз (Picture 4 & 5). Баары свитерге тигилген.
4) Принтердин капкагы катары иштеген Гринчтин жүзүн түзүңүз. Район шляпанын астында помпонго туташкан кездеме өткөрүүчү лента катмары менен уланат. Помпон жашыл жүндөн жана өткөргүч буладан жасалган. (6 -сүрөт).
5) Электр энергиясы менен камсыздоо шнурду талап кылат, мен француз трикотажын колдонуп жиптен жасалган капкакты жараттым. (Сүрөт 7 Кошумча).
6) Эң акыркы кадам, баары ордунда экенин текшерип көрүңүз!
Сунушталууда:
Батарея менен иштөөчү LED Light (s) Solar Charging менен: 11 кадам (Сүрөттөр менен)
![Батарея менен иштөөчү LED Light (s) Solar Charging менен: 11 кадам (Сүрөттөр менен) Батарея менен иштөөчү LED Light (s) Solar Charging менен: 11 кадам (Сүрөттөр менен)](https://i.howwhatproduce.com/images/001/image-2315-j.webp)
Батарея менен иштөөчү LED Жарыгы (лары) Күндүн кубаттуулугу менен: Аялым самын жасоону үйрөтөт, анын сабактарынын көбү кечинде болчу, кышында бул жерде саат 16:30 чамасында караңгы кирип калат, анын кээ бир окуучулары бизди табууда кыйналышкан. үй Бизде маңдайкы жазуу бар болчу, бирок көчө лигасы менен да
Батарея менен иштеген офис. Күн системасы Чыгыш/Батыш Күн панелдери жана шамал турбинасы менен: 11 кадам (Сүрөттөр менен)
![Батарея менен иштеген офис. Күн системасы Чыгыш/Батыш Күн панелдери жана шамал турбинасы менен: 11 кадам (Сүрөттөр менен) Батарея менен иштеген офис. Күн системасы Чыгыш/Батыш Күн панелдери жана шамал турбинасы менен: 11 кадам (Сүрөттөр менен)](https://i.howwhatproduce.com/images/001/image-1117-j.webp)
Батарея менен иштеген офис. Күн системасы Чыгыш/Батыш Күн панелдери жана шамал турбинасы менен которулат: Долбоор: 200 чарчы фут офис батарея менен иштеши керек. Офис ошондой эле бул система үчүн зарыл болгон бардык контроллерлерди, батареяларды жана компоненттерди камтышы керек. Күн жана шамал энергиясы батареяларды заряддайт. Кичине гана көйгөй бар
Howto: Rpi-imager жана сүрөттөр менен Raspberry PI 4 Headless (VNC) орнотуу: 7 кадам (Сүрөттөр менен)
![Howto: Rpi-imager жана сүрөттөр менен Raspberry PI 4 Headless (VNC) орнотуу: 7 кадам (Сүрөттөр менен) Howto: Rpi-imager жана сүрөттөр менен Raspberry PI 4 Headless (VNC) орнотуу: 7 кадам (Сүрөттөр менен)](https://i.howwhatproduce.com/images/001/image-1574-23-j.webp)
Howto: Rpi-imager жана сүрөттөр менен Raspberry PI 4 Headless (VNC) орнотуу: Мен бул блогумда кызыктуу долбоорлордун топтомунда бул Rapsberry PI колдонууну пландап жатам. Аны текшерүүдөн тартынбаңыз. Мен Raspberry PIди колдонууну каалагам, бирок жаңы жерде клавиатура же чычкан жок болчу. Мен Raspberry орнотконума бир топ убакыт болду
Battle City Remake GameGo менен Makecode Arcade менен: 4 кадам (сүрөттөр менен)
![Battle City Remake GameGo менен Makecode Arcade менен: 4 кадам (сүрөттөр менен) Battle City Remake GameGo менен Makecode Arcade менен: 4 кадам (сүрөттөр менен)](https://i.howwhatproduce.com/images/006/image-16950-j.webp)
Battle City Remake GameGo менен Makecode Arcade: GameGo - бул TinkerGen STEM билим берүү тарабынан иштелип чыккан Microsoft Makecode менен шайкеш ретро оюн портативдик консолу. Бул STM32F401RET6 ARM Cortex M4 чипине негизделген жана STEM педагогдоруна же жөн эле ретро видео түзүүнү жакшы көргөн адамдар үчүн жасалган
Жөнөкөй кадамдар жана сүрөттөр менен компьютерди кантип ажыратуу керек: 13 кадам (сүрөттөр менен)
![Жөнөкөй кадамдар жана сүрөттөр менен компьютерди кантип ажыратуу керек: 13 кадам (сүрөттөр менен) Жөнөкөй кадамдар жана сүрөттөр менен компьютерди кантип ажыратуу керек: 13 кадам (сүрөттөр менен)](https://i.howwhatproduce.com/images/006/image-15346-7-j.webp)
Жөнөкөй кадамдар жана сүрөттөр менен компьютерди кантип ажыратуу керек: Бул компьютерди кантип ажыратуу керектиги жөнүндө көрсөтмө. Негизги компоненттердин көбү модулдук жана оңой эле алынып салынат. Ошентсе да, бул боюнча уюштуруу маанилүү. Бул сизди бөлүктөрдү жоготпоого, ошондой эле кайра чогултууга жардам берет