Სარჩევი:
- ნაბიჯი 1: ნივთები, რომლებიც გამოიყენება ამ პროექტში
- ნაბიჯი 2: ისტორია
- ნაბიჯი 3: აპარატურის კავშირი
- ნაბიჯი 4: პროგრამული უზრუნველყოფის პროგრამირება
- ნაბიჯი 5: კოდი
ვიდეო: გაანათეთ თქვენი ვალენტინი ცქრიალა მატრიქსით: 5 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
ვალენტინობის დღე არის თქვენთვის შანსი გაგზავნოთ სასიყვარულო შეტყობინებები. რატომ არ უნდა გახადოთ სახალისო LED სახე იაფი კომპონენტებით, რომ გამოხატოთ თქვენი გრძნობა!
ნაბიჯი 1: ნივთები, რომლებიც გამოიყენება ამ პროექტში
აპარატურის კომპონენტები
- Seeeduino V4.2
- ბაზის ფარი
- გროვი - წითელი LED მატრიცა მძღოლთან ერთად
- გროვი - ჟესტი (PAJ7620U2)
პროგრამული უზრუნველყოფის პროგრამები და ონლაინ სერვისები
Arduino IDE
ნაბიჯი 2: ისტორია
ნაბიჯი 3: აპარატურის კავშირი
ამ პროექტში ჩვენ ვიყენებთ ჟესტების სენსორს, როგორც შეყვანას და უკუკავშირს ვაძლევთ LED მატრიცის დრაივერს წითელი LED მატრიცის შესანახი.
თქვენ უნდა დააკავშიროთ Grove - Gesture and Grove - Red LED Matrix w/Driver w/Driver to the I^2^C port of the base shield, რომელიც ჩართულია Seeeduino– ში. შემდეგ დააკავშირეთ Seeeduino კომპიუტერთან USB კაბელის საშუალებით.
ნაბიჯი 4: პროგრამული უზრუნველყოფის პროგრამირება
ამ პროექტის გეგმაა სტატიკური ემოციის ჩვენება (ტირილი და მომლოდინე სახე), როდესაც არ არის წაკითხული მარცხენა ან მარჯვენა ჟესტი.
აჩვენეთ დინამიური თვალის პოზიციის შეცვლის emoji მარცხენა ან მარჯვენა ჟესტით, როდესაც წაკითხულია მარცხენა ან მარჯვენა ჟესტი.
თვალის კონკრეტულ პოზიციაში, ცემის გული ნაჩვენები იქნება LED მატრიცაზე.
LED ჩვენების შაბლონები შექმნილია LED Matrix Editor– ის მიერ, თქვენ შეგიძლიათ შეცვალოთ ან დაამატოთ თქვენი LED შაბლონები პროგრამის ზემოთ ნაჩვენებ პროგრამებში.
ამ პროექტისათვის მოსამზადებლად საჭიროა Arduino IDE- ში დააყენოთ Grove - Gesture, Grove - Red LED Matrix w/Driver და MsTimer2 ბიბლიოთეკები.
#მოიცავს "Grove_LED_Matrix_Driver_HT16K33.h"
#მოიცავს "MsTimer2.h" #მოიცავს "paj7620.h" #მოიცავს "Wire.h"
დაყენების პროცედურის დროს ჩვენ დავიწყეთ სერიული, მატრიცული და MsTimer2 ფუნქციების ინიციალიზაცია. ინიციალიზებული სერიალი გამოიყენება პროგრამის გამართვისთვის, ამიტომ არასაჭიროა კომპიუტერთან დაკავშირება ან სერიული მონიტორის გამოყენება გამართვის შემდეგ. ჩვენ ვიყენებთ MsTimer2– ს ამ პროექტში სტატიკური ემოციის ჩვენების გასაკონტროლებლად.
// ინიციალიზებული იყო სერიის გამართვის მიზნით.
სერიული.დაწყება (9600); ხოლო (! სერიული); paj7620Init (); Wire.begin (); matrix.init (); matrix.setBrightness (15); matrix.setBlinkRate (BLINK_OFF); MsTimer2:: კომპლექტი (1000, displayStatic); MsTimer2:: დაწყება ();
მთავარ მარყუჟში ჩვენ მხოლოდ ორ გამოსავალს ვიღებთ ჟესტების სენსორიდან, GES_RIGHT_FLAG, GES_LEFT_FLAG და ეს გამოიყენება ჩვენებისათვის displayDynamic ().
DisplayDynamic () ფუნქცია გამოითვლის ინტერვალს ბოლო დროიდან, როდესაც დინამიური emoji გამოჩნდა მიმდინარე დრომდე, თუ ინტერვალი აღემატება TIMEOUT- ს, ის შეწყვეტს სტატიკური emoji- ების თამაშს და დააყენებს ჩვენებული დინამიური emoji ინდექსის დაწყებას. როდესაც ჟესტები მარცხნიდან მარჯვნივ იკითხება, დაწყების ინდექსი არის 0 და ინდექსი გაიზრდება მარცხნიდან მარჯვნივ ჟესტების ხელახლა წაკითხვის შემდეგ. წინააღმდეგ შემთხვევაში, დაწყების ინდექსი არის DYNAMIC მასივის ბოლო ინდექსი და ინდექსი შემცირდება.
ბათილი ჩვენება დინამიური (bool leftToRight) {
ხელმოუწერელი long currentTime = millis (); if (currentTime - preTTime> TIMEOUT) {dIndex = leftToRight? 0: ARRAY_LENGTH (დინამიური) - 1; showStatic = ყალბი; } // ეს გამოიყენება საზღვრის გადაკვეთის თავიდან ასაცილებლად. if (dIndex> = ARRAY_LENGTH (DYNAMIC) || dIndex <= -1) {heartBeat (); dIndex = leftToRight? ARRAY_LENGTH (დინამიური) - 1: 0; } prevTime = მიმდინარე დრო; matrixDisplay = დინამიური [leftToRight? dIndex ++: dIndex--]; }
TIMEOUT პერიოდის გადაჭარბების შემთხვევაში ჟესტი არ იკითხება, სტატიკური emoji დაკვრა აღდგება.
ატვირთეთ პროგრამა თქვენს Seeeduino– ში, ყველაფერი დასრულებულია. ითამაშეთ და გაერთეთ!
ნაბიჯი 5: კოდი
#მოიცავს "Grove_LED_Matrix_Driver_HT16K33.h"
#მოიცავს "MsTimer2.h" #მოიცავს "paj7620.h" #მოიცავს "Wire.h" #განსაზღვრეთ TIMEOUT 5000 #განსაზღვრეთ GES_REG_ADDR 0x43 #განსაზღვრეთ ARRAY_LENGTH (მასივი) (ზომა (მასივი) / ზომა (მასივი [0])) მატრიცა_8x8 მატრიცა; uint64_t მატრიცა ჩვენება = 0; ხელმოუწერელი გრძელი დრო = მილი (); int8_t sIndex = 0; bool showStatic = ჭეშმარიტი; const uint64_t STATIC = {0x00003c0000a54200, 0x00003c000000e700, 0x00003c004242e700}; int8_t dIndex = 0; const uint64_t დინამიური = {0x00003c000021e700, 0x00003c000042e700, 0x00003c000084e700}; const uint64_t HEART = {0x00183c7e7e240000, 0x00183c7effff6600, 0x183c7effffffff66, 0x00183c7effff6600}; void displayStatic (void) {if (showStatic) {matrixDisplay = STATIC [sIndex]; sIndex = (sIndex + 1) % ARRAY_LENGTH (სტატიკური); }} void heartBeat () {for (uint8_t i = 0; i TIMEOUT) {showStatic = false; prevTime = მიმდინარე დრო; dIndex = leftToRight? 0: ARRAY_LENGTH (დინამიური) - 1; } // ეს გამოიყენება საზღვრის გადაკვეთის თავიდან ასაცილებლად. if (dIndex> = ARRAY_LENGTH (DYNAMIC) || dIndex TIMEOUT) {showStatic = true; } matrix.writeOnePicture (matrixDisplay); მატრიცა. ჩვენება (); დაგვიანება (100); }
გირჩევთ:
ცქრიალა არდუინოს საშობაო ვარსკვლავი: 8 ნაბიჯი
ცქრიალა არდუინო საშობაო ვარსკვლავი: ასე რომ, მე ვაფასებ, რომ ცოტა დაგვიანებულია წელს საშობაო პროექტის წამოწყება. მაგრამ შესაძლოა თქვენ უკვე გაქვთ ყველაფერი რაც გჭირდებათ და შესაძლოა წელს არსად წასვლას არ აპირებთ: მაშინ შესაძლოა, უბრალოდ იქნებ გინდათ სცადოთ ეს პატარა პროექტი. ნაწილების სია
ვალენტინი ინტერნეტით: 17 ნაბიჯი (სურათებით)
ვალენტინი ინტერნეტით: გაუგზავნეთ ვალენტინებს შენიშვნა ქსელის საშუალებით! ეს წვრილმანი ელექტრონიკის პროექტი იყენებს მცირე ვიბრაციულ ძრავას, რომ ნაზად აამოძრაოს ქსოვილის გული და აანთოს LED, როდესაც ის მიიღებს ინსტრუქციებს ინტერნეტით სხვა მოწყობილობიდან. მე ავაშენე ორი ვერსია
გაანათეთ თქვენი ვალენტინი ცქრიალა RGB მატრიქსით: 3 ნაბიჯი
გაანათეთ თქვენი ვალენტინი ცქრიალა RGB მატრიქსით: მოდის ვალენტინობის დღე, ხვდებით ვინმეს, ვინც ერთი ნახვით შეუყვარდა?
გაანათეთ თქვენი პროექტი LED- ებით: 4 ნაბიჯი
გაანათეთ თქვენი პროექტი LED- ებით: პროექტის სიცოცხლის განახლების ძალიან ეფექტური გზაა განათების დამატება. დღევანდელმა ტექნოლოგიამ საკუთარ თავს გაუკეთა განათების ვარიანტების ფართო არჩევანი, რომლებიც ძალიან კაშკაშაა, ექსპლუატაციაში ძალიან იაფი, შესყიდვისთვის იაფი და მარტივი ინსტალაცია
გაანათეთ თქვენი რობოტი: 7 ნაბიჯი (სურათებით)
გაანათეთ თქვენი რობოტ ბარათი: გამარჯობა ყველას! მე ახლახანს გავიმარჯვე Instructables კონკურსში. მათ გამომიგზავნეს Instructables- ის რობოტის მაისური, წიგნი, სტიკერები და Instructables რობოტის სურათი. მეორეს მხრივ, როდესაც ვფიქრობდი ქაღალდის მიკროსქემის უბრალო იდეებზე და მინდოდა აეშენებინა