Mündəricat:
- Addım 1: Bu Layihədə İstifadə Edilən Şeylər
- Addım 2: Hekayə
- Addım 3: Avadanlıq Bağlantısı
- Addım 4: Proqramlaşdırma
- Addım 5: Kod
Video: Parlaq Matrix ilə Sevgilinizi Yandırın: 5 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
Sevgililər Günü sevgi mesajları göndərmək üçün bir şansdır. Niyə hisslərinizi ifadə etmək üçün ucuz komponentlərlə əyləncəli bir LED üzü düzəltməyin!
Addım 1: Bu Layihədə İstifadə Edilən Şeylər
Avadanlıq komponentləri
- Seeeduino V4.2
- Baza Qalxanı
- Grove - Sürücü olmadan Qırmızı LED Matrix
- Grove - Jest (PAJ7620U2)
Proqram proqramları və onlayn xidmətlər
Arduino IDE
Addım 2: Hekayə
Addım 3: Avadanlıq Bağlantısı
Bu layihədə, jest sensorunu giriş olaraq istifadə edirik və qırmızı LED matrisini qidalandırmaq üçün LED matris sürücüsünə geribildirim veririk.
Groed - Jest və Grove - Qırmızı LED Matrisini Sürücü ilə birləşdirərək Seeeduino'ya qoşulan əsas qalxanın I^2^C portuna bağlamalısınız. Sonra Seeeduino'yu USB kabel vasitəsilə PC -yə qoşun.
Addım 4: Proqramlaşdırma
Bu layihənin planı, sol və ya sağ jest oxunmadıqda statik emojini (ağlayan üz və gözləyən üz) göstərməkdir.
Sol və ya sağ jest oxunduqda sol və ya sağ jestlə idarə olunan dinamik göz mövqeyi dəyişmə emojisini göstərin.
Xüsusi göz mövqeyində, vuruşlu ürək LED matrisində göstəriləcək.
LED ekran nümunələri LED Matrix Redaktoru tərəfindən hazırlanmışdır, yuxarıdakı proqram şoularında LED modellərinizi dəyişə və ya əlavə edə bilərsiniz.
Bu layihəyə hazırlaşmaq üçün Arduino IDE -yə Grove - Gesture, Grove - Red LED Matrix və Sürücü və MsTimer2 kitabxanalarını quraşdırmaq lazımdır.
#"Grove_LED_Matrix_Driver_HT16K33.h" daxil edin
#"MsTimer2.h" daxil edin #include "paj7620.h" #"Wire.h" daxil edin
Quraşdırma proseduru zamanı Serial, matrix və MsTimer2 funksiyalarını işə saldıq. Başlanğıc Serialı proqramı ayıklamak üçün istifadə olunur, buna görə ayıklamadan sonra PC -yə qoşulmaq və ya Serial Monitordan istifadə etmək lazım deyil. Statik emojinin görüntüsünü idarə etmək üçün bu layihədə MsTimer2 istifadə edirik.
// Serialı düzəltmək üçün işə saldı.
Serial.begin (9600); while (! Serial); paj7620Init (); Wire.begin (); matrix.init (); matrix.setBrightness (15); matrix.setBlinkRate (BLINK_OFF); MsTimer2:: set (1000, displayStatic); MsTimer2:: start ();
Əsas döngədə, jest sensorundan yalnız iki çıxış alırıq, GES_RIGHT_FLAG, GES_LEFT_FLAG və bunlar DisplayDynamic () funksiyasını istiqamətləndirmək üçün istifadə olunur.
DisplayDynamic () funksiyası, dinamik emojinin son dəfə göstərilməsindən cari vaxta qədər olan aralığını hesablayacaq, interval TIMEOUT -dan çox olarsa, statik emoji çalmağı dayandıracaq və göstəriləcək dinamik emoji indeksini işə salacaq. Soldan sağa hərəkətlər oxunduqda başlanğıc indeksi 0-dır və soldan sağa hərəkətləri yenidən oxuduqdan sonra indeks artacaq. Əks təqdirdə, başlanğıc indeksi DYNAMIC serialının son indeksidir və indeks azalacaq.
void displayDynamic (bool leftToRight) {
işarəsiz uzun currentTime = millis (); əgər (currentTime - prevTime> TIMEOUT) {dIndex = leftToRight? 0: ARRAY_LENGTH (DİNAMİK) - 1; showStatic = yalan; } // Bu, sərhədi aşmamaq üçün istifadə olunur. əgər (dIndex> = ARRAY_LENGTH (DİNAMİK) || dIndex <= -1) {heartBeat (); dIndex = leftToRight? ARRAY_LENGTH (DİNAMİK) - 1: 0; } prevTime = currentTime; matrixDisplay = DYNAMIC [leftToRight? dIndex ++: dIndex--]; }
TIMEOUT müddəti keçərsə, heç bir jest oxunmur, statik emoji oynanması bərpa ediləcək.
Proqramı Seeeduino'ya yükləyin, hər şey bitdi. Oynayın və əylənin!
Addım 5: Kod
#"Grove_LED_Matrix_Driver_HT16K33.h" daxil edin
#include "MsTimer2.h" #include "paj7620.h" #include "Wire.h" #define TIMEOUT 5000 #define GES_REG_ADDR 0x43 #derine ARRAY_LENGTH (array) (sizeof (array) / sizeof (array [0])) Matrix_8x8 matris; uint64_t matrixDisplay = 0; işarəsiz uzun prevTime = millis (); int8_t sIndex = 0; bool showStatic = doğru; const uint64_t STATİK = {0x00003c0000a54200, 0x00003c000000e700, 0x00003c004242e700}; int8_t dIndex = 0; const uint64_t DYNAMIC = {0x00003c000021e700, 0x00003c000042e700, 0x00003c000084e700}; const uint64_t HEART = {0x00183c7e7e240000, 0x00183c7effff6600, 0x183c7effffffff66, 0x00183c7effff6600}; void displayStatic (void) {if (showStatic) {matrixDisplay = STATIC [sIndex]; sIndex = (sIndex + 1) % ARRAY_LENGTH (STATİK); }} void heartBeat () {for (uint8_t i = 0; i TIMEOUT) {showStatic = false; prevTime = currentTime; dIndex = leftToRight? 0: ARRAY_LENGTH (DİNAMİK) - 1; } // Bu, sərhədi aşmamaq üçün istifadə olunur. if (dIndex> = ARRAY_LENGTH (DYNAMIC) || dIndex TIMEOUT) {showStatic = true; } matrix.writeOnePicture (matrixDisplay); matrix.display (); gecikmə (100); }
Tövsiyə:
LED USB ilə Super Parlaq Flaş İşığı Necə Hazırlanır: 7 addım
LED USB ilə Super Parlaq Flaş İşıqını Necə Hazırlamaq olar: Əvvəlcə aydın başa düşmək üçün videoya baxın
Kir ilə bir LED yandırın: 10 addım (şəkillərlə)
Kir ilə bir LED yandırın: Əyləndiyim bir təcrübə idi! Yəqin ki, kopyalamaq əyləncəli ola bilər? Mənə " Yer Batareyası " uzun müddətə. Sadəcə bir Galvanik Batareya deyil, əsl Yer Batareyası olmaq üçün cihaz
Google Home və Blynk ilə kompüterinizi yandırın və söndürün: 6 addım
Kompüterinizi Google Home & Blynk ilə yandırın və söndürün: Salam Uşaqlar və bu dərsliyə xoş gəldiniz! Bu dəfə sizə Google Evinizlə kompüterinizi necə açacağınızı göstərəcəyəm DİQQƏT! BUNDAN oxuyun !!: 1. bağlayıcılar! Bu problemi həll etmək üçün 3d qutu çap etmək qərarına gəldim
Parlaq RGB Matrix ilə Sevgilinizi Yandırın: 3 addım
Parlaq RGB Matrix ilə Sevgililərinizi Yandırın: Sevgililər Günü gəlir, ilk baxışdan aşiq olan biri ilə görüşürsünüzmü?
LED ilə Super Parlaq Flaş İşığı Necə Hazırlanır - DIY: Super Parlaq İşıq: 11 Addım
LED ilə Super Parlaq Flaş İşığı Necə Hazırlanır - DIY: Super Parlaq İşıq: Əvvəlcə videoya baxın