Мазмұны:
- 1 -қадам: Бұл жобада қолданылатын заттар
- 2 -қадам: Әңгіме
- 3 -қадам: аппараттық қосылым
- 4 -қадам: бағдарламалық қамтамасыз ету
- 5 -қадам: код
Бейне: Жарқыраған матрицамен Валентинді жарықтандырыңыз: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:25
Валентин күні - бұл махаббат туралы хабарлама жіберу мүмкіндігі. Сезіміңізді білдіру үшін арзан компоненттері бар көңілді светодиодты неге жасамасқа!
1 -қадам: Бұл жобада қолданылатын заттар
Аппараттық компоненттер
- Seeeduino V4.2
- Негізгі қалқан
- Grove - драйверсіз қызыл жарықдиодты матрица
- Гроув - қимылы (PAJ7620U2)
Бағдарламалық жасақтама және онлайн қызметтері
Arduino IDE
2 -қадам: Әңгіме
3 -қадам: аппараттық қосылым
Бұл жобада біз қимыл сенсорын кіріс ретінде қолданамыз және қызыл жарықдиодты матрицаны беру үшін жарық диодты матрицаның драйверіне кері байланыс береміз.
Сізге Grove - Gesture және Grove - Red LED матрицасын драйвермен Seeeduino -ға қосылған негізгі қалқанның I^2^C портына қосу керек. Содан кейін Seeeduino -ны компьютерге USB кабелі арқылы қосыңыз.
4 -қадам: бағдарламалық қамтамасыз ету
Бұл жобаның жоспары - сол немесе оң қимыл оқылмаған кезде статикалық эмодзиді (жылап тұрған бет пен күту беті) көрсету.
Оң немесе сол қимыл оқылған кезде солға немесе оңға қимылмен басқарылатын динамикалық эмодзиді көрсетіңіз.
Көздің нақты позициясында жарық диодты матрицада соғып тұрған жүрек көрсетіледі.
Жарықдиодты дисплей үлгілері LED Matrix редакторымен жасалған, сіз жоғарыдағы бағдарламалық шоуларда жарықдиодты үлгілерді өзгерте немесе қоса аласыз.
Бұл жобаға дайын болу үшін Arduino IDE -ге Grove - Gesture, Grove - Red LED Matrix w/Driver және MsTimer2 кітапханаларын орнату қажет.
#«Grove_LED_Matrix_Driver_HT16K33.h» қосыңыз
#«MsTimer2.h» қосу #«paj7620.h» қосу «» Wire.h «қосу
Орнату процедурасы кезінде біз Serial, matrix және MsTimer2 функцияларын инициализацияладық. Бастапқы серия бағдарламаны түзету үшін пайдаланылады, сондықтан жөндеуді аяқтағаннан кейін компьютерге қосылу немесе сериялық мониторды пайдалану қажет емес. Біз бұл жобада MsTimer2 көмегімен статикалық эмодзидің дисплейін басқарамыз.
// Серияны отладкаға инициализациялады.
Serial.begin (9600); while (! сериялық); paj7620Init (); Wire.begin (); matrix.init (); matrix.setBrightness (15); matrix.setBlinkRate (BLINK_OFF); MsTimer2:: set (1000, displayStatic); MsTimer2:: start ();
Негізгі циклде біз GES_RIGHT_FLAG, GES_LEFT_FLAG қимыл сенсорынан тек екі шығыс аламыз және олар displayDynamic () функциясын басқару үшін қолданылады.
DisplayDynamic () функциясы динамикалық эмодзидің соңғы рет көрсетілген уақыттан бастап ағымдағы уақытқа дейінгі аралықты есептейді, егер аралық TIMEOUT -тан асса, ол статикалық эмодзиді ойнатуды тоқтатады және динамикалық эмодзи индексін іске қосады. Оңнан солға қимылдар оқылғанда, бастапқы индексі 0 болады, ал солдан оңға қимылдар қайта оқылғаннан кейін көрсеткіш жоғарылайды. Әйтпесе, бастау индексі DYNAMIC массивінің соңғы индексі болып табылады және индекс төмендейді.
void displayDynamic (bool leftToRight) {
белгісіз ұзақ currentTime = millis (); if (currentTime - prevTime> TIMEOUT) {dIndex = leftToRight? 0: ARRAY_LENGTH (DINAMIC) - 1; showStatic = жалған; } // Бұл шекарадан асып кетпеу үшін қолданылады. if (dIndex> = ARRAY_LENGTH (DINAMIC) || 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» #TIMEOUT 5000 анықтау #GES_REG_ADDR 0x43 анықтаңыз ARRAY_LENGTH (массив) (өлшемі (массив) / өлшемі (массив [0])) Matrix_8x8 матрицасы; uint64_t matrixDisplay = 0; unsigned long prevTime = millis (); int8_t sIndex = 0; bool showStatic = true; const uint64_t STATIC = {0x00003c0000a54200, 0x00003c000000e700, 0x00003c004242e700}; int8_t dIndex = 0; const uint64_t DYNAMIC = {0x00003c000021e700, 0x00003c000042e700, 0x00003c000084e700}; const uint64_t ЖҮРЕК = {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 = currentTime; dIndex = leftToRight? 0: ARRAY_LENGTH (DINAMIC) - 1; } // Бұл шекарадан асып кетпеу үшін қолданылады. if (dIndex> = ARRAY_LENGTH (DYNAMIC) || dIndex TIMEOUT) {showStatic = true; } matrix.writeOnePicture (matrixDisplay); matrix.display (); кешіктіру (100); }
Ұсынылған:
Ақ штаб Гендальфты жарықтандырыңыз: 9 қадам
Ақ штабты Гендальфты жарықтандырыңыз: Мен Сақиналар Лорды көргеннен бері әрқашан Ақ Гандалфты алғым келеді. Мен Thingivers.com сайтынан біреудің дизайнын таптым. Tinkercad көмегімен мен дизайнды жарықтандыру үшін өзгерттім
ATtiny85 микроконтроллері бар MAX7219 жетекші 8x8 жарықдиодты матрицамен қалай байланысуға болады: 7 қадам
ATxin85 микроконтроллерімен MAX7219 жетегі бар LED Matrix 8x8 қалай интерфейске қосылады: MAX7219 контроллері Maxim Integrated шығарады, микроконтроллерлерді 64 жеке жарықдиодты, 7 сегментті сандық жарықдиодты дисплейлерді қосуға болатын ықшам, сериялық кіріс/шығыс дисплей драйвері. 8 санға дейін, штрих-графикалық дисплей
Жарқыраған RGB матрицасымен Валентинді жарықтандырыңыз: 3 қадам
Жарқыраған RGB матрицасымен Валентинді жарықтандырыңыз: Валентин күні келе жатыр, сіз бір көргеннен ғашық болған адамды кездестіресіз бе?
Жобаны жарықдиодты шамдармен жарықтандырыңыз: 4 қадам
Жобаны жарықдиодты шамдармен жарықтандыру: Жобаны өмірге келтірудің өте тиімді әдісі - жарықтандыру. Бүгінгі технология өз қолымен жасаушыларға жарықтандыру опцияларының кең таңдауын берді, олар өте жарқын, пайдалану өте арзан, сатып алуға арзан және орнатуға оңай
Кассета таспасын жарықтандырыңыз, көңілді партияларға жала жабыңыз: 5 қадам (суреттермен)
Кассета таспасын жарықтандырыңыз, көңілді партияларға түсінік беріңіз. Бұл Галден.Галден - қыздарға хобби электроникасын ұсынатын экипаж. Сізге жарық диодты аксессуарларды қалай жасау керектігін таныстыруға рұқсат етіңіз. Жарық берілгенде не көрінеді? Сізде бірдеңе жанған кезде