Mundarija:
- 1 -qadam: Materiallar ro'yxati
- 2 -qadam: Test + Printerni sozlash
- 3 -qadam: Dasturni loyihalash
- 4 -qadam: Yumshoq elektron
- 5 -qadam: Hammasini bir joyga to'plash
Video: Merry Grinchmas kazak, termal printer + GemmaM0: 5 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
Merry Grinchmas kozok - bu interaktiv kiyim bo'lib, u shaxsiy bosma xabarlarning keng assortimentini beradi, kimdir Grinchning shlyapali pomponiga tegsa, shikoyat qiladi. Rojdestvoga qarshi xabarlar Gemma MO, Arduino va Capacitive Sensing tomonidan boshqariladigan termal printer orqali keladi.
1 -qadam: Materiallar ro'yxati
- Gemma MO
- Guts termal printeri -
- Supero'tkazuvchilar mato tasmasi
- Bo'sh kozok
- Kigiz
- aravachalar + felting to'plami
- Supero'tkazuvchilar tolalar -
- Mis ip
- Rezistorlar (3.3k + 2.2k)
- Quvvat manbai - 7,5V, 3A
- Li-Po batareyasi
- Lehim
- mato yopishtiruvchi
- Arduino Uno, Alligator kliplari va non paneli (sinov uchun)
2 -qadam: Test + Printerni sozlash
Birinchidan, printerni yetarli quvvatga ega ekanligini tekshirish, aks holda, sinov sahifasini chop etish uchun printerdagi reset tugmasini bosganingizda, u bir xil chiziqni qayta -qayta bosib chiqarishni davom ettiradi (1 -rasm).
Sinov nashri chiqqanda, BaudRate -ni tekshirish vaqti keldi, chunki Printer Guts 9600 da ishlaydi va Adafruits kutubxonasi odatdagidek 19200 -ni ishlatadi, ular boshqa termal printerlarni sotadilar. Bu erda tekshiring:
3 -rasmda printerni qanday ulash kerakligi aniq ko'rsatilgan.
Sinov har qanday dizaynni yaratish uchun turli xil shrift uslublarini kalibrlashga yordam beradi. (4 -rasm).
Sarlavha, asosiy matn va imzo uchun turli xil matn uslublarini o'z ichiga olgan 12 xil jumlani tanlaydigan tasodifiy son mavjud.
Va nihoyat, har qanday rasmni qo'shish uchun uni Bitmap rasmga aylantirish kerak. (6 -rasm). Bu erda tanlov Grinch edi. (7 -rasm)
Oxirgi eslatma. Printerni Gemma M0 bilan ishlatish uchun qo'shimcha uskunalar seriyasini ishlatish uchun ba'zi o'zgarishlar talab qilinadi (8 -rasm).
3 -qadam: Dasturni loyihalash
Men o'z dasturimdan nimani kutmoqdaman?
1) Menda printer haqida ingl. Tayyor uchun yashil, chop etish uchun qizil
Gemme M0 ko'milgan Neopixelga ega bo'lganligi sababli, uni LED tasmasi kabi hal qilish kerak.
#define NUMPIXELS 1 // chiziqdagi LEDlar soni
bo'sh o'rnatish () {
strip.begin (); // chiqish stripi uchun pinlarni ishga tushiring.show (); // Tez orada barcha LEDlarni o'chiring
}
void loop () {
strip.setPixelColor (0, 255, 127, 0);
strip.show ();
}
2) tizimni ishga tushiradigan sig'im sensori.
Kapasitiv sezish uchun kutubxona va ba'zi o'zgaruvchilarni aniqlash kerak. U kalibrlanishi kerak bo'lgan bitta analog kirishni ishlatadi. Tegish qiymatlarini o'zgartirish uchun menga ba'zi sinovlar kerak bo'lishi mumkin.
#"Adafruit_FreeTouch.h" ni qo'shing
int touch = 1000; #define CAPTOUCH_PIN A0
long oldState = 0;
void checkpress () {// Joriy tugma holatini olish. long newState = qt_1.measure (); Serial.println (qt_1.measure ()); if (newState> touch && oldState <touch) {// O'chirish tugmachasining qisqa kechikishi. kechikish (20); // O'chirishdan keyin tugma hali ham pastligini tekshiring. long newState = qt_1.measure (); } if (newState <touch) {// Hech narsa qilmang} boshqa {// Buni qiling}
3) Tizim ishga tushganda har xil xabarlarni chop eting
Dastur har safar ishga tushganda, raqam tasodifiy bo'ladi
bo'sh bosimChristmas () {
randomSeed (analogRead (0)*analogRead (1));
randomNumber = tasodifiy (1, 12);
printer.inverseOn ();
printer.println (F ("Xmas Inc. taqdim etadi")); printer.inverseOff ();
almashtirish (tasodifiy raqam) {
1 -holat: // bayonotlar printer.println (F ("")); // Matn asoslanishini o'rnating (o'ngda, o'rtada, chapda) - 'L', 'C', 'R' printerini qabul qiladi. Justify ('L'); printer. Hammasi mening oldimga keladi. Sizning axlatxonangizda. Siz nima demoqchi ekanimni ko'ryapsizmi? Sizning axlatxonangizda. Men axlatxonada topilgan yomon Rojdestvo galstuklari bilan o'zimni osib qo'ygan bo'lardim. Va baxillik.. ")); tanaffus; 2 -holat: // bayonotlar printer.println (F ("")); // Matn asoslanishini o'rnating (o'ngda, o'rtada, chapda) - 'L', 'C', 'R' printerini qabul qiladi. Justify ('L'); printer.println (F ("Oh, kim-manity.")); 3 -holat: // bayonotlar printer.println (F ("")); // Matn asoslanishini o'rnating (o'ngda, o'rtada, chapda) - 'L', 'C', 'R' printerini qabul qiladi. Justify ('L'); printer.println (F ("Yo'q, chana, sovg'alar, ular yo'q qilinadi va men g'amxo'rlik qilaman!")); tanaffus; 4 -holat: // bayonotlar printer.println (F ("")); // Matn asoslanishini o'rnating (o'ngda, o'rtada, chapda) - 'L', 'C', 'R' printerini qabul qiladi. Justify ('L'); printer.println (F ("Bu Rojdestvo musiqasini yoqing. Bu quvonchli va zafarli.")); tanaffus; 5 -holat: // bayonotlar printer.println (F ("")); // Matn asoslanishini o'rnating (o'ngda, o'rtada, chapda) - 'L', 'C', 'R' printerini qabul qiladi. Justify ('L'); printer.println (F ("Men zerikkanim uchun ovqatlanyapmanmi?"))); tanaffus; 6 -holat: // bayonotlar printer.println (F ("")); // Matn asoslanishini o'rnating (o'ngda, o'rtada, chapda) - 'L', 'C', 'R' printerini qabul qiladi. Justify ('L'); printer. Boi-yoi-yoi-yoing! ")); tanaffus; 7 -holat: // bayonotlar printer.println (F ("")); // Matn asoslanishini o'rnating (o'ngda, o'rtada, chapda) - 'L', 'C', 'R' printerini qabul qiladi. Justify ('L'); printer.println (F ("Endi sen menga quloq sol, yosh xonim! Agar biz *dahshatli tarzda o'ralgan bo'lsak ham, Rojdestvoda qayg'uli yuzlar bo'lmaydi.")); tanaffus; 8 -holat: // bayonotlar printer.println (F ("")); // Matn asoslanishini o'rnating (o'ngda, o'rtada, chapda) - 'L', 'C', 'R' printerini qabul qiladi. Justify ('L'); printer.println (F ("Bayram kim-nima-ee?")); tanaffus; 9 -holat: // bayonotlar printer.println (F ("")); // Matn asoslanishini o'rnating (o'ngda, o'rtada, chapda) - 'L', 'C', 'R' printerini qabul qiladi. Justify ('L'); printer.println (F ("Sizda Rojdestvo bayrami muborak bo'ladimi?")); tanaffus; 10 -holat: // bayonotlar printer.println (F ("")); // Matn asoslanishini o'rnating (o'ngda, o'rtada, chapda) - 'L', 'C', 'R' printerini qabul qiladi. Justify ('L'); printer. 'QO'YIMDA GAPIRAMAN! ")); tanaffus; 11 -holat: // bayonotlar printer.println (F ("")); // Matn asoslanishini o'rnating (o'ngda, o'rtada, chapda) - 'L', 'C', 'R' printerini qabul qiladi. Justify ('L'); printer., lekin bu * butun * Rojdestvo mavsumi … ")); tanaffus; }
// Ko'proq uslublarni sinab ko'ring
printer.boldOn (); printer.justify ('R'); printer.println (F ("Grinch")); printer.boldOff (); printer.println (F ("")); printer.justify ('L'); // Printer.doubleHeightOn () belgisini ikki balandlikda tekshirish. printer.println (F ("Merry Grinchmas!")); printer.doubleHeightOff (); printer.println (F ("")); printer.println (F (""));
// 75x75 pikselli logotipni adalogo.h da chop eting:
printer.printBitmap (grinch_width, grinch_height, grinch_data);
printer.println (F (""));
printer.println (F (""));
printer.sleep (); // Printerga uxlashni ayting
kechikish (3000L); // 3 soniya uxlang printer.wake (); // qayta chop etishdan oldin, majburiy ravishda () uyg'oting, hatto printer.setDefault (); // Printerni standart holatga qaytarish}
4 -qadam: Yumshoq elektron
Yumshoq sxemani qozoqqa xavfsiz joylashtirish kerak bo'lgani uchun men sxemaning dizayniga (1 -rasm) va komponentning joylashishiga alohida e'tibor qaratdim.
Alligator qisqichlari va non paneli yordamida to'liq sxemani sinovdan o'tkazgandan so'ng (2 va 3 -rasmlar), men tikuvchilik va lehimlashdan oldin namat ustiga vaqtinchalik qismlarni joylashtirdim (4 va 5 -rasm).
Muhim eslatma: Rezistorlarni o'z ichiga olgan simlar muhim ahamiyatga ega, chunki bu oqim tokka zarar etkazmasligi uchun kuchlanish taqsimlagichga muhtoj. (6 -rasm)
Bu erda oxirgi qadam, hamma narsani sinab ko'rish (7 -rasm)
5 -qadam: Hammasini bir joyga to'plash
1) namat shrift yuzini yaratish (1 va 2 -rasm)
2) Harflarni tikish (3 -rasm)
3) Qog'oz rulonli sumkani va printer va Li-po batareyasi ushlagichining tuzilishini yarating (4 va 5-rasm). Hamma narsa kozokka tikilgan.
4) Printer qopqog'i sifatida ishlaydigan Grinch yuzini yarating. Devor shlyapa ostida pomponga ulanadigan mato o'tkazuvchi lenta qatlami bilan davom etmoqda. Pompon yashil junli arqon va o'tkazgich tolasidan qilingan. (6 -rasm).
5) Quvvat manbai shnurni talab qiladi, shuning uchun men frantsuz trikotajidan ipdan yasalgan qopqoq yaratdim. (7 -rasm ixtiyoriy).
6) Oxirgi qadam, hamma narsa joyida ekanligiga ishonch hosil qiling va harakat qilib ko'ring!
Tavsiya:
Batareya bilan ishlaydigan ofis. Quyosh panellari va shamol turbinasi: Sharq/G'arbni avtomatik almashtirish bilan quyosh tizimi: 11 qadam (rasmlar bilan)
Batareya bilan ishlaydigan ofis. Quyosh tizimi Sharq/G'arbning avtomatik panellari va shamol turbinasi bilan almashinuvi bilan: Loyiha: 200 kvadrat metrli ofis batareyali bo'lishi kerak. Ofis, shuningdek, ushbu tizim uchun zarur bo'lgan barcha tekshirgichlar, batareyalar va komponentlarni o'z ichiga olishi kerak. Quyosh va shamol energiyasi batareyalarni zaryad qiladi. Faqat kichik muammo bor
NaTaLia ob -havo stantsiyasi: Arduino quyosh energiyasi bilan ishlaydigan ob -havo stantsiyasi to'g'ri yo'l bilan amalga oshirildi: 8 qadam (rasmlar bilan)
NaTaLia ob -havo stantsiyasi: Arduino quyosh energiyasi bilan ishlaydigan ob -havo stantsiyasi to'g'ri yo'lga qo'yildi: 1 yil davomida 2 xil joyda muvaffaqiyatli ishlaganimdan so'ng, men quyosh energiyasi bilan ishlaydigan ob -havo stantsiyasining loyiha rejalari bilan bo'lishaman va uning qanday qilib uzoq vaqt yashay oladigan tizimga aylanganini tushuntiraman. quyosh energiyasidan o'tgan davrlar. Agar ergashsangiz
Twinky bilan eng zo'r Arduino robot bilan tanishing: 7 qadam (rasmlar bilan)
Twinky bilan eng zo'r Arduino roboti bilan tanishing: Salom, men sizga "Jibo" ni o'zim qanday yaratganimni o'rgataman. lekin "Twinky" deb nomlangan, men buni ochib bermoqchiman … Bu nusxa emas! Men ikkiyuzlamachilik bilan qurardim va shundan keyingina shunga o'xshash narsaning mavjudligini tushundim: bu erda
OpenLH: Biologiya bilan ijodiy tajriba o'tkazish uchun ochiq suyuqlik bilan ishlash tizimi: 9 qadam (rasmlar bilan)
OpenLH: Biologiya bilan ijodiy eksperimentlar uchun ochiq suyuqlik bilan ishlash tizimi: Biz bu ishni moddiy, ko'milgan va mujassamlangan o'zaro ta'sir xalqaro konferentsiyasida (TEI 2019) taqdim etganimizdan faxrlanamiz. Tempe, Arizona, AQSh | 17-20 mart. Hamma yig'ish fayllari va qo'llanmalar bu erda mavjud. Oxirgi kod versiyasi
Vaqt o'tishi bilan rasmlar uchun kamera osonlashtirildi: 22 qadam (rasmlar bilan)
Vaqt o'tishi bilan suratga olish uchun kamera osonlashtirildi. Men boshqa ko'rsatmalarni vaqtni tez suratga olish filmlarini suratga olishni tekshirib ko'rdim. U kino qismini juda yaxshi yoritgan. U filmlar yaratish uchun yuklab olishingiz mumkin bo'lgan bepul dasturiy ta'minot haqida gapirib berdi. Men o'z -o'zimga aytdim, men o'ylaymanki, agar men qila olsam