Բովանդակություն:
- Քայլ 1: Այս նախագծում օգտագործվող բաները
- Քայլ 2: Պատմություն
- Քայլ 3: Սարքաշարի միացում
- Քայլ 4: Softwareրագրային ապահովման ծրագրավորում
- Քայլ 5: Կոդ
Video: Լուսավորիր քո Վալենտինը շողշողացող մատրիցով ՝ 5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:49
Վալենտինի օրը սիրո հաղորդագրություններ ուղարկելու հնարավորություն է ձեզ համար: Ինչու՞ չպատրաստել զվարճալի LED դեմք էժան բաղադրիչներով `արտահայտելու ձեր զգացմունքները:
Քայլ 1: Այս նախագծում օգտագործվող բաները
Սարքավորման բաղադրիչներ
- Seeeduino V4.2
- Base Shield
- Grove - Red LED Matrix w/Driver
- Grove - ժեստ (PAJ7620U2)
Softwareրագրային ապահովման ծրագրեր և առցանց ծառայություններ
Arduino IDE
Քայլ 2: Պատմություն
Քայլ 3: Սարքաշարի միացում
Այս նախագծում մենք ժեստերի ցուցիչն օգտագործում ենք որպես մուտքագրում և հետադարձ կապ ենք տալիս LED մատրիցի վարորդին ՝ կարմիր LED մատրիցան կերակրելու համար:
Անհրաժեշտ է Grove - Gesture և Grove - Red LED մատրիցը w/Driver- ով միացնել հիմնական վահանի I^2^C նավահանգստին, որը միացված է Seeeduino- ին: Այնուհետև միացրեք Seeeduino- ն համակարգչին USB մալուխի միջոցով:
Քայլ 4: Softwareրագրային ապահովման ծրագրավորում
Այս նախագծի ծրագիրն այն է, որ ցուցադրվի ստատիկ էմոջին (արտասվող դեմք և սպասող դեմք), երբ ձախ կամ աջ ժեստ չկա կարդացված:
Displayուցադրեք աչքի դիրքի փոփոխման դինամիկ էմոջի `ձախ կամ աջ շարժումով, երբ ձախ կամ աջ ժեստը կարդացվել է:
Աչքի հատուկ դիրքում 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" #include "paj7620.h" #include "Wire.h"
Կարգավորման ընթացակարգի ընթացքում մենք նախաստորագրեցինք Serial, matrix և MsTimer2 գործառույթները: Initialized Serial- ը օգտագործվում է ծրագրի վրիպազերծման համար, ուստի ավելորդ կարգաբերումից հետո անհրաժեշտ չէ միանալ համակարգչին կամ օգտագործել Serial Monitor- ը: Այս նախագծում մենք օգտագործում ենք MsTimer2- ը `ստատիկ էմոջիների ցուցադրումը վերահսկելու համար:
// Սերիան սկզբնաղբյուրեց վրիպազերծման համար:
Serial.begin (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 () ֆունկցիան կհաշվարկի վերջին անգամից, երբ դինամիկ էմոջին ցուցադրվել է մինչև ընթացիկ ժամանակը, եթե միջակայքը գերազանցի TIMEOUT- ը, այն կդադարի խաղալ ստատիկ էմոջի, և սկզբից կդնի ցուցադրվող դինամիկ էմոջի ինդեքսը: Ձախից աջ ժեստերը կարդալիս մեկնարկի ինդեքսը 0 է, իսկ ինդեքսը կբարձրանա ձախից աջ նորից կարդալուց հետո: Հակառակ դեպքում մեկնարկի ինդեքսը DYNAMIC զանգվածի վերջին ինդեքսն է, և ինդեքսը կնվազի:
դատարկ ցուցադրումԴինամիկ (bool leftToRight) {
անստորագիր երկար ընթացիկ ժամանակ = millis (); if (currentTime - preTTime> TIMEOUT) {dIndex = leftToRight? 0: ARRAY_LENGTH (ԴԻՆԱՄԻԿԱ) - 1; showStatic = կեղծ; } // Սա օգտագործվում է սահմանը չգերազանցելու համար: եթե (dIndex> = ARRAY_LENGTH (DYNAMIC) || dIndex <= -1) {heartBeat (); dIndex = leftToRight? ARRAY_LENGTH (ԴԻՆԱՄԻԱ) - 1: 0; } prevTime = currentTime; matrixDisplay = DYNAMIC [leftToRight? dIndex ++: dIndex--]; }
Ոչ մի ժեստ չի կարդացվում, եթե TIMEOUT ժամանակահատվածը գերազանցվի, ստատիկ էմոջի նվագարկումը կվերականգնվի:
Վերբեռնեք ծրագիրը ձեր Seeeduino- ում, ամեն ինչ ավարտված է: Խաղացեք և զվարճացեք:
Քայլ 5: Կոդ
#ներառել "Grove_LED_Matrix_Driver_HT16K33.h"
#ներառել "MsTimer2.h" #include "paj7620.h" #include "Wire.h" #definine TIMEOUT 5000 #define GES_REG_ADDR 0x43 #define ARRAY_LENGTH (array) (sizeof (array) / sizeof (array [0])) Մատրիցա_8x8 մատրիցա; uint64_t մատրիցաԴիտում = 0; unsigned long prevTime = millis (); 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 ՍԻՐՏ = {0x00183c7e7e240000, 0x00183c7effff6600, 0x183c7effffffff66, 0x00183c7effff6600}; void displayStatic (void) {if (showStatic) {matrixDisplay = STATIC [sIndex]; sIndex = (sIndex + 1) % ARRAY_LENGTH (STATIC); }} void heartBeat () {for (uint8_t i = 0; i TIMEOUT) {showStatic = false; prevTime = ընթացիկ ժամանակ; dIndex = leftToRight? 0: ARRAY_LENGTH (ԴԻՆԱՄԻԿԱ) - 1; } // Սա օգտագործվում է սահմանը չգերազանցելու համար: եթե (dIndex> = ARRAY_LENGTH (DYNAMIC) || dIndex TIMEOUT) {showStatic = true; } matrix.writeOnePicture (matrixDisplay); matrix.display (); ուշացում (100); }
Խորհուրդ ենք տալիս:
WiFi վերահսկվող LED շերտի մատրիցով Clամացույցի լույս. 3 քայլ (նկարներով)
WiFi վերահսկվող LED շերտի մատրիցով Clամացույցի լույս. Ծրագրավորվող LED շերտեր, օրինակ. հիմնված WS2812- ի վրա, հետաքրքրաշարժ են: Դիմումները բազմազան են, և դուք արագորեն կարող եք ստանալ տպավորիչ արդյունքներ: Եվ ինչ -որ կերպ ժամացույցներ կառուցելը կարծես մեկ այլ տիրույթ է, որի մասին ես շատ եմ մտածում: Սկսած որոշակի փորձից
Լուսավորիր Սպիտակ Գենդալֆին. 9 քայլ
Լուսավորիր Գենդալֆին Սպիտակ գավազանը. Ես միշտ ցանկացել եմ Գենդալֆին Սպիտակ գավազանից `Մատանիների տիրակալին դիտելուց ի վեր: Ես մեկի համար դիզայն գտա Thingivers.com կայքում: Օգտագործելով Tinkercad- ը, ես փոխեցի դիզայնը `լուսավորելու համար
Լուսավորիր քո Վալենտինը շողշողացող RGB մատրիցով ՝ 3 քայլ
Light Up Your Valentine With Sparkling RGB Matrix. Վալենտինի օրը մոտենում է, հանդիպո՞ւմ եք մեկին, ով սիրահարվել է առաջին հայացքից:
Լուսավորիր ձայներիզների ժապավենը, զվարճացեք խանդավառ երեկույթներում. 5 քայլ (նկարներով)
Լուսավորիր ձայներիզների ժապավենը, հուզվիր անհանգիստ երեկույթներում. Սա Գալդենն է: Գալդենն այն անձնակազմն է, որն առաջարկում է հոբբի էլեկտրոնիկա գալերի համար ՝ գալերի կողմից: Թույլ տվեք ձեզ ներկայացնել, թե ինչպես պատրաստել լուսադիոդային աքսեսուարներ, որոնք հիանալի տեղավորվում են զվարճալի երեկույթների համար: Ի՞նչը լուսավորված տեսք կունենա: Երբ ինչ -որ բան լուսավորվում է
Լուսավորիր այդ նկարը: 6 քայլ (նկարներով)
Ողջույն, սա բավականին պարզ նախագիծ է, որտեղ մենք մի փոքր լուսանկարում ենք և այն վերածում ենք շատ գեղեցիկ դեկորատիվ առարկայի, որպեսզի ցանկացած տղա, տղամարդ, հայր, սլացիկ հիանա :) Այս նախագծի արժեքը շատ ցածր է. -Ահա այն, ինչ մեզ պետք է -1: Ամբողջ էջ a4 կամ ավելի մեծ գույն