Агуулгын хүснэгт:

Merry Grinchmas цамц, дулааны принтер + GemmaM0: 5 алхам (зурагтай)
Merry Grinchmas цамц, дулааны принтер + GemmaM0: 5 алхам (зурагтай)

Видео: Merry Grinchmas цамц, дулааны принтер + GemmaM0: 5 алхам (зурагтай)

Видео: Merry Grinchmas цамц, дулааны принтер + GemmaM0: 5 алхам (зурагтай)
Видео: Shanghai Yuuki(上海遊記) 1-10 Ryunosuke Akutagawa (Audiobook) 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: Материалын жагсаалт

- Жемма МО

- Дулаан хэвлэгч Guts -

- Дамжуулагч даавууны соронзон хальс

- Сул цамц

- Мэдэрсэн

- Ровер + эсгийн иж бүрдэл

- Дамжуулагч утас -

- Зэс утас

- Эсэргүүцэл (3.3k + 2.2k)

- Цахилгаан хангамж - 7.5V, 3A

- Li-Po батерей

- Гагнуур

- Даавууны цавуу

- Arduino Uno, Alligator Clips & breadboard (турших зориулалттай)

Алхам 2: Туршилт + хэвлэгчийг тохируулах

Туршилт + хэвлэгчийг тохируулах
Туршилт + хэвлэгчийг тохируулах
Туршилт + хэвлэгчийг тохируулах
Туршилт + хэвлэгчийг тохируулах
Туршилт + хэвлэгчийг тохируулах
Туршилт + хэвлэгчийг тохируулах

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

Туршилтын хэвлэмэл хуудас гарч ирэхэд Printer Guts 9600 дээр ажилладаг бөгөөд Adafruits номын сан нь зардаг бусад дулааны принтерийн нэгэн адил 19200 -ийг ашигладаг тул BaudRate -ийг шалгах цаг болжээ. Эндээс үзээрэй:

Зураг 3 -т принтерийг хэрхэн утсаар холбохыг тодорхой харуулав.

Энэхүү туршилт нь өөр өөр загварыг бий болгохын тулд янз бүрийн үсгийн хэв маягийг тохируулахад тусалдаг. (Зураг 4).

Гарчиг, биеийн текст, гарын үсгийн янз бүрийн текстийн хэв маягийг багтаасан 12 өөр өгүүлбэрийг сонгох санамсаргүй тоо байдаг.

Эцэст нь дурын зураг нэмэхийн тулд үүнийг Bitmap зураг болгон хөрвүүлэх шаардлагатай. (Зураг 6). Энд сонголт бол Гринч байв. (Зураг 7)

Сүүлийн нэг тэмдэглэл. Gemma M0 -тай принтер ашиглахын тулд Тоног төхөөрөмжийн цуваа ашиглахын тулд зарим тохируулга хийх шаардлагатай болдог (Зураг 8).

Алхам 3: Хөтөлбөрийг боловсруулах

Хөтөлбөрийг боловсруулах
Хөтөлбөрийг боловсруулах

Би хөтөлбөрийнхөө талаар юу хүлээж байна вэ?

1) Надад принтерийн талаар харааны санал өгөх RGB LED байдаг. Ногоон бэлэн, улаан хэвлэх зориулалттай

Gemme M0 нь суулгагдсан Neopixel -тэй тул үүнийг кодлохын тулд LED -ийг LED зурвас шиг шийдэх хэрэгтэй.

NUMPIXELS 1 -ийг тодорхойлох // Туузан дахь LED тоо

хүчингүй тохиргоо () {

strip.begin (); // Гаралтын зурвасын тээглүүрүүдийг эхлүүлэх.show (); // Бүх LED -ийг аль болох хурдан унтраа

}

void loop () {

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

strip.show ();

}

2) Системийг идэвхжүүлдэг багтаамжийн мэдрэгч.

Багтаамж мэдрэхүйн хувьд номын сан, зарим хувьсагчийг тодорхойлох шаардлагатай. Энэ нь шалгалт тохируулга хийх шаардлагатай нэг аналог оролтыг ашигладаг. Мэдрэгчдийн утгыг өөрчлөхийн тулд би зарим туршилтыг шаардаж магадгүй юм.

#"Adafruit_FreeTouch.h" -ийг оруулаарай.

int touch = 1000;#тодорхойлох CAPTOUCH_PIN A0

long oldState = 0;

void checkpress () {// Одоогийн товчлуурын төлөвийг авах. урт newState = qt_1.measure (); Serial.println (qt_1.measure ()); if (newState> touch && oldState <touch) {// Гарах товчлуурыг богино хугацаанд хойшлуулах. саатал (20); // Татаж авсны дараа товчлуур бага хэвээр байгаа эсэхийг шалгаарай. урт newState = qt_1.measure (); } if (newState <touch) {// Юу ч хийхгүй} өөр {// Үүнийг хий}

3) Системийг асаах тоолонд өөр мессежийг хэвлэх

Хөтөлбөрийг ажиллуулах бүрт програм нь тоог санамсаргүй байдлаар сонгох болно

хоосон хэвлэх Христийн Мэндэлсний Баярын () {

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

randomNumber = санамсаргүй (1, 12);

хэвлэгч.inverseOn ();

printer.println (F ("Xmas Inc Presents")); хэвлэгч.inverseOff ();

сэлгэх (randomNumber) {

тохиолдол 1: // мэдэгдэл хэвлэгч.println (F ("")); // Текстийн үндэслэлийг тохируулах (баруун, төв, зүүн) - 'L', 'C', 'R' принтерийг хүлээн авна. Justify ('L'); printer.println (F ("Энэ бол ийм зүйл юм, тийм үү? Үргэлж л ийм зүйл байдаг *. Бэлэг, бэлэг… бэлэг, бэлэг, бэлэг, бэлэг, бэлэг! Та бэлгээ яахыг мэдэхийг хүсч байна уу? Тэд бүгд над дээр ирдэг. Таны хогийн саванд. Та миний юу хэлж байгааг харж байна уу? Таны *хогонд *. Би хогийн цэгээс олсон зул сарын баярын муу хүзүүний зүүлтээрээ өөрийгөө дүүжлэх боломжтой байсан. Мөн шунал тачаал.. ")); завсарлага; тохиолдол 2: // мэдэгдэл хэвлэгч.println (F ("")); // Текстийн үндэслэлийг тохируулах (баруун, төв, зүүн) - 'L', 'C', 'R' принтерийг хүлээн авна. Justify ('L'); printer.println (F ("Өө, хэн бэ?")); тохиолдол 3: // мэдэгдэл хэвлэгч.println (F ("")); // Текстийн үндэслэлийг тохируулах (баруун, төв, зүүн) - 'L', 'C', 'R' принтерийг хүлээн авна. Justify ('L'); printer.println (F ("Өө, үгүй, чарга, бэлэг, тэд устгагдах болно, надад хамаагүй!")); завсарлага; тохиолдол 4: // мэдэгдэл хэвлэгч.println (F ("")); // Текстийн үндэслэлийг тохируулах (баруун, төв, зүүн) - 'L', 'C', 'R' принтерийг хүлээн авна. Justify ('L'); printer.println (F ("Энэ Христийн Мэндэлсний Баярын хөгжмийг тэсэл. Энэ нь баяр хөөртэй, ялгуусан.")); завсарлага; тохиолдол 5: // мэдэгдэл хэвлэгч.println (F ("")); // Текстийн үндэслэлийг тохируулах (баруун, төв, зүүн) - 'L', 'C', 'R' принтерийг хүлээн авна. Justify ('L'); printer.println (F ("Би уйдсандаа л идэж байна уу?"))); завсарлага; тохиолдол 6: // мэдэгдэл хэвлэгч.println (F ("")); // Текстийн үндэслэлийг тохируулах (баруун, төв, зүүн) - 'L', 'C', 'R' принтерийг хүлээн авна. Justify ('L'); printer.println (F ("Гэсэн хэдий ч Христийн Мэндэлсний Баярын нэг жижигхэн уламжлал надад утга учиртай санагдаж байна. Бой-йой-ёи-ёинг! ")); завсарлага; тохиолдол 7: // мэдэгдэл хэвлэгч.println (F ("")); // Текстийн үндэслэлийг тохируулах (баруун, төв, зүүн) - 'L', 'C', 'R' принтерийг хүлээн авна. Justify ('L'); printer.println (F ("Одоо та намайг сонсоорой, залуу бүсгүй минь! Бид *аймшигтай хутгалсан ч гэсэн" Христийн Мэндэлсний Баярын үеэр гунигтай царай байхгүй болно. ")); завсарлага; тохиолдол 8: // мэдэгдэл хэвлэгч.println (F ("")); // Текстийн үндэслэлийг тохируулах (баруун, төв, зүүн) - 'L', 'C', 'R' принтерийг хүлээн авна. Justify ('L'); printer.println (F ("Амралтын өдөр хэн байх вэ? ee?")); завсарлага; тохиолдол 9: // мэдэгдэл хэвлэгч.println (F ("")); // Текстийн үндэслэлийг тохируулах (баруун, төв, зүүн) - 'L', 'C', 'R' принтерийг хүлээн авна. Justify ('L'); printer.println (F ("Та зул сарын баярыг сайхан тэмдэглэж байна уу?")); завсарлага; тохиолдол 10: // мэдэгдэл хэвлэгч.println (F ("")); // Текстийн үндэслэлийг тохируулах (баруун, төв, зүүн) - 'L', 'C', 'R' принтерийг хүлээн авна. Justify ('L'); printer.println (F ("Тэд найрлах, найрлах, найрлах, найрлах болно. Тэд хэн-идээ, ховор хорхой-шарж идэх араатнаа иднэ. Гэхдээ энэ бол миний тэвчиж чаддаггүй зүйл. Өө, үгүй. Би 'M RHME -д ЯРЬЖ БАЙНА! ")); завсарлага; тохиолдол 11: // мэдэгдэл хэвлэгч.println (F ("")); // Текстийн үндэслэлийг тохируулах (баруун, төв, зүүн) - 'L', 'C', 'R' принтерийг хүлээн авна. Justify ('L'); printer.println (F ("Шуналт хэзээ ч дуусдаггүй! Би гольфын клуб хүсч байна. Би очир алмааз хүсч байна. Би одой морь хүсч байна. Би үүнийг хоёр удаа унаж, уйдаж, цавуу хийхийн тулд зарна. Хараач, би долгион хийхийг хүсэхгүй байна., гэхдээ энэ * бүхэл бүтэн * Христийн Мэндэлсний Баярын улирал бол… ")); завсарлага; }

// Илүү олон хэв маягийг туршиж үзээрэй

хэвлэгч.boldOn (); принтер.justify ('R'); хэвлэгч.println (F ("Grinch")); хэвлэгч.boldOff (); хэвлэгч.println (F ("")); printer.justify ('L'); // Тэмдэгтийн тэмдэгтийг давхар өндөрт асаах, унтраах.doubleHeightOn (); printer.println (F ("Merry Grinchmas!")); хэвлэгч.doubleHeightOff (); хэвлэгч.println (F ("")); хэвлэгч.println (F (""));

// 75x75 пикселийн логог adalogo.h дээр хэвлэх:

printer.printBitmap (grinch_width, grinch_height, grinch_data);

хэвлэгч.println (F (""));

хэвлэгч.println (F (""));

printer.sleep (); // Хэвлэгчийг унтахыг хэлнэ үү

саатал (3000л); // 3 секундын турш унтах принтер.wake (); // хэвлэгчийг дахин тохируулсан байсан ч дахин хэвлэхээсээ өмнө MUST () -ийг сэрээх ёстой.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) Хамгийн сүүлчийн алхам бол бүх зүйл байрандаа байгаа эсэхийг шалгаад туршиж үзээрэй!

Зөвлөмж болгож буй: