Სარჩევი:

Merry Grinchmas სვიტრი, თერმული პრინტერი + GemmaM0: 5 ნაბიჯი (სურათებით)
Merry Grinchmas სვიტრი, თერმული პრინტერი + GemmaM0: 5 ნაბიჯი (სურათებით)

ვიდეო: Merry Grinchmas სვიტრი, თერმული პრინტერი + GemmaM0: 5 ნაბიჯი (სურათებით)

ვიდეო: Merry Grinchmas სვიტრი, თერმული პრინტერი + GemmaM0: 5 ნაბიჯი (სურათებით)
ვიდეო: How to Play Dr. Seuss Merry Grinchmas 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: მასალების სია

- გემა MO

- თერმული პრინტერი Guts -

- გამტარი ქსოვილის ფირზე

- ფხვიერი სვიტრი

- იგრძნო

Roving + felting ნაკრები

- გამტარ ბოჭკოვანი -

- სპილენძის ძაფი

- რეზისტორები (3.3k + 2.2k)

- კვების ბლოკი - 7.5V, 3A

- Li-Po ბატარეა

- ჯარისკაცი

- ქსოვილის წებო

- Arduino Uno, Alligator Clips & breadboard (ტესტირებისთვის)

ნაბიჯი 2: ტესტი + პრინტერის დაყენება

ტესტი + პრინტერის დაყენება
ტესტი + პრინტერის დაყენება
ტესტი + პრინტერის დაყენება
ტესტი + პრინტერის დაყენება
ტესტი + პრინტერის დაყენება
ტესტი + პრინტერის დაყენება

უპირველეს ყოვლისა, პრინტერის შემოწმება იმის დასადგენად, აქვს თუ არა მას საკმარისი ენერგია, წინააღმდეგ შემთხვევაში, საცდელი გვერდის დასაბეჭდად პრინტერზე გადატვირთვის ღილაკზე დაჭერისას იგი კვლავ და ისევ დაბეჭდავს იმავე ხაზს (სურათი 1).

როდესაც გამოდის საცდელი ბეჭდვა, დროა შეამოწმოთ BaudRate, რადგან პრინტერი Guts მუშაობს 9600 -ზე და ნაგულისხმევი Adafruits Library იყენებს 19200 -ს სხვა თერმული პრინტერების მსგავსად, რომლებსაც ისინი ყიდიან. შეამოწმეთ აქ:

სურათი 3 აჩვენებს კონკრეტულად როგორ უნდა დააკავშიროთ პრინტერი.

ტესტი ხელს უწყობს შრიფტის სხვადასხვა სტილის დაკალიბრებას ნებისმიერი მორგებული დიზაინის შესაქმნელად. (სურათი 4).

არის შემთხვევითი რიცხვი, რომელიც ირჩევს 12 სხვადასხვა წინადადებას შორის, ტექსტის სხვადასხვა სტილის ჩათვლით, სათაურის, ტექსტისა და ხელმოწერისთვის.

და ბოლოს, ნებისმიერი სურათის დასამატებლად, ის უნდა გარდაიქმნას Bitmap სურათად. (სურათი 6). აქ არჩევანი იყო გრინჩზე. (სურათი 7)

ერთი ბოლო შენიშვნა. Gemma M0 პრინტერის გამოყენება მოითხოვს გარკვეულ კორექტირებას აპარატურის სერიის გამოსაყენებლად (სურათი 8).

ნაბიჯი 3: პროგრამის შემუშავება

პროგრამის შემუშავება
პროგრამის შემუშავება

რას ველოდები ჩემს პროგრამას?

1) მე მაქვს RGB led, რომელიც იძლევა ვიზუალურ უკუკავშირს პრინტერის შესახებ. მწვანე მზად არის, წითელი დასაბეჭდად

რადგან Gemme M0– ს აქვს ჩამონტაჟებული ნეოპიქსელი, მისი კოდირებისთვის, led უნდა იყოს მიმართული, თითქოს ეს იყოს LED ზოლები.

#განსაზღვრეთ NUMPIXELS 1 // ზოლების LED- ების რაოდენობა

void setup () {

ზოლები. დაწყება (); // ქინძისთავების ინიციალიზაცია გამომავალი ზოლისთვის. ჩვენება (); // სასწრაფოდ გამორთეთ ყველა ები

}

ბათილი მარყუჟი () {

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

ზოლები. ჩვენება ();

}

2) capacitive სენსორი, რომელიც იწვევს სისტემას.

ტევადობის აღქმა მოითხოვს ბიბლიოთეკას და ცვლადების განსაზღვრას. ის იყენებს ერთ ანალოგურ შეყვანას, რომლის დაკალიბრებაა საჭირო. შეიძლება დამჭირდეს ტესტირება შეხების მნიშვნელობების შესაცვლელად.

#მოიცავს "Adafruit_FreeTouch.h"

int touch = 1000;#განსაზღვრეთ CAPTOUCH_PIN A0

ხანგრძლივი ძველი სახელმწიფო = 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) დაბეჭდეთ სხვადასხვა შეტყობინებები სისტემის გააქტიურებისას

პროგრამა რანდომიზებს რიცხვს ყოველ ჯერზე, როდესაც პროგრამა მუშაობს

void printChristmas () {

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

randomNumber = შემთხვევითი (1, 12);

printer.inverseOn ();

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

გადართვა (შემთხვევითი რიცხვი) {

საქმე 1: // განცხადებები printer.println (F ("")); // ტექსტის დასაბუთების დაყენება (მარჯვნივ, ცენტრში, მარცხნივ) - იღებს 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("ეს არის ის, რაც არის? არა? ეს არის ის, რაც ყოველთვის იყო *. საჩუქრები, საჩუქრები … საჩუქრები, საჩუქრები, საჩუქრები, საჩუქრები, საჩუქრები! გინდა იცოდე რა ხდება შენს საჩუქრებთან? ისინი ყველანი ჩემთან მოდიან. თქვენს ნაგავში. ხედავთ რას ვამბობ? თქვენს *ნაგავში *. შემიძლია თავი ჩამოვიხრჩო ყველა ცუდი საშობაო ყელსაბამით, რომელიც ნაგავსაყრელზე ვიპოვე. და სიძუნწე.. ")); შესვენება; საქმე 2: // განცხადებები printer.println (F ("")); // ტექსტის დასაბუთების დაყენება (მარჯვნივ, ცენტრში, მარცხნივ) - იღებს 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("ოჰ, ვინ-კაცობა.")); საქმე 3: // განცხადებები printer.println (F ("")); // ტექსტის დასაბუთების დაყენება (მარჯვნივ, ცენტრში, მარცხნივ) - იღებს 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("ოჰ, არა, სასწავლებელი, საჩუქრები, ისინი განადგურდებიან და მე მაინტერესებს!")); შესვენება; საქმე 4: // განცხადებები printer.println (F ("")); // ტექსტის დასაბუთების დაყენება (მარჯვნივ, ცენტრში, მარცხნივ) - იღებს 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("აფეთქება საშობაო მუსიკა. ეს არის მხიარული და ტრიუმფალური.")); შესვენება; საქმე 5: // განცხადებები printer.println (F ("")); // ტექსტის დასაბუთების დაყენება (მარჯვნივ, ცენტრში, მარცხნივ) - იღებს 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("უბრალოდ ვჭამ იმიტომ რომ მომბეზრდა?")); შესვენება; საქმე 6: // განცხადებები printer.println (F ("")); // ტექსტის დასაბუთების დაყენება (მარჯვნივ, ცენტრში, მარცხნივ) - იღებს 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("თუმცა, არსებობს ერთი მოზარდ-პატარა საშობაო ტრადიცია, რომელსაც მე ვგულისხმობ საკმაოდ მნიშვნელოვნებად … [აჩერებს მისტელს] ნისკარტი. [დანის დგას მის კონდახზე] ახლა აკოცე და აკოცე, უოვილ! [wiggles mistletoe] ბოი-იოი-იოი-იოინგი! ")); შესვენება; საქმე 7: // განცხადებები printer.println (F ("")); // ტექსტის დასაბუთების დაყენება (მარჯვნივ, ცენტრში, მარცხნივ) - იღებს 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("ახლა შენ მომისმინე, ახალგაზრდა ქალბატონო! მაშინაც კი, თუ ჩვენ *საშინლად დამხობილი ვართ *, საშობაოდ არ იქნება სამწუხარო სახეები.")); შესვენება; საქმე 8: // განცხადებები printer.println (F ("")); // ტექსტის დასაბუთების დაყენება (მარჯვნივ, ცენტრში, მარცხნივ) - იღებს 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("Holiday who-be what-ee?")); შესვენება; საქმე 9: // განცხადებები printer.println (F ("")); // ტექსტის დასაბუთების დაყენება (მარჯვნივ, ცენტრში, მარცხნივ) - იღებს 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("გაქვს წმინდა, მხიარული შობა?")); შესვენება; საქმე 10: // განცხადებები printer.println (F ("")); // ტექსტის დასაბუთების დაყენება (მარჯვნივ, ცენტრში, მარცხნივ) - იღებს 'L', 'C', 'R' printer.justify ('L'); printer.println (F ("და ისინი იზეიმებენ, დღესასწაულს, დღესასწაულს, დღესასწაულს. ისინი შეჭამენ თავიანთ Who-Pudding და იშვიათი Who-Roast Beast. მაგრამ ეს არის ის, რასაც მე უბრალოდ ვერ ვიტან. ოჰ, არა. მე 'მე ვსაუბრობ რიმაში! ")); შესვენება; საქმე 11: // განცხადებები printer.println (F ("")); // ტექსტის დასაბუთების დაყენება (მარჯვნივ, ცენტრში, მარცხნივ) - იღებს 'L', 'C', 'R' printer.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 ("გილოცავთ გრინჩმას!")); 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 (); // უთხარი პრინტერს დაიძინოს

დაგვიანებით (3000 ლ); // ძილი 3 წამის განმავლობაში printer.wake (); // უნდა გაიღვიძოს () ხელახლა დაბეჭდვის წინ, თუნდაც printer.setDefault () გადატვირთვა; // პრინტერის აღდგენა ნაგულისხმევად}

ნაბიჯი 4: რბილი წრე

რბილი წრე
რბილი წრე
რბილი წრე
რბილი წრე
რბილი წრე
რბილი წრე
რბილი წრე
რბილი წრე

რადგან რბილი წრე უნდა იყოს უსაფრთხოდ მოთავსებული სვიტერში, მე განსაკუთრებული ყურადღება მივაქციე სქემის დიზაინს (სურათი 1) და კომპონენტის განთავსებას.

ალიგატორის სამაგრებისა და პურის დაფის გამოყენებით მთლიანი მიკროსქემის შემოწმების შემდეგ (ნახატები 2 და 3), მე შევედი თექაზე დროებითი კომპონენტების დადებაზე, სანამ არ შევიკერავდი და შევაერთებ (სურათი 4 და 5).

მნიშვნელოვანი შენიშვნა: რეზისტორების ჩათვლით გაყვანილობა აუცილებელია, რადგან ამ წრეს სჭირდება ძაბვის გამყოფი, რათა თავიდან აიცილოს დენის დაფის დაზიანება. (სურათი 6)

ბოლო ნაბიჯი აქ, ყველაფრის გამოცდა (სურათი 7)

ნაბიჯი 5: ყველაფრის ერთად აწყობა

ყველაფრის ერთად აწყობა
ყველაფრის ერთად აწყობა
ყველაფრის ერთად აწყობა
ყველაფრის ერთად აწყობა
ყველაფრის ერთად აწყობა
ყველაფრის ერთად აწყობა

1) იგრძნობა შრიფტის სახე (სურათი 1 და 2)

2) წერილების შეკერვა (სურათი 3)

3) შექმენით ჩანთა ქაღალდის რულეტისთვის და სტრუქტურა პრინტერისთვის და Li-po ბატარეის დამჭერისთვის (სურათი 4 და 5). ყველაფერი სვიტერზეა შეკერილი.

4) შექმენით გრინჩის სახე, რომელიც მუშაობს როგორც პრინტერის საფარი. წრე გრძელდება ქუდის ქვეშ ქსოვილის გამტარი ლენტის ფენით, რომელიც აკავშირებს პომპონს. პომპონი დამზადებულია მწვანე ბამბის ტალღოვანი და გამტარი ბოჭკოსგან. (სურათი 6).

5) რადგან ელექტროენერგიის მიწოდება მოითხოვს კაბელის ჩართვას მე შევქმენი ძაფის საფარი ფრანგული ქსოვის გამოყენებით. (სურათი 7 სურვილისამებრ).

6) ბოლო ნაბიჯი, დარწმუნდით, რომ ყველაფერი ადგილზეა და სცადეთ!

გირჩევთ: