Mündəricat:

42 RGB LED Pixel Art Painting: 5 addım
42 RGB LED Pixel Art Painting: 5 addım

Video: 42 RGB LED Pixel Art Painting: 5 addım

Video: 42 RGB LED Pixel Art Painting: 5 addım
Video: How to Check your mirrors at airbnb 2024, Iyul
Anonim
42 RGB LED pikselli rəsm əsəri
42 RGB LED pikselli rəsm əsəri

Hey

Beləliklə, "Əgər bu belədir" adlı bir məktəb tapşırığı üçün Arduino Uno başlanğıc dəstini (və özlərini almaq istəyən hər şeyi) istifadə edərək interaktiv // bir şey // etməliydim. Bir İncəsənət/Texnologiya təhsili aldığım üçün hər ikisini (sənət və texnologiya) birləşdirmək istədim. Arduino -ya sığdıra biləcəyim qədər RGB LED -lərdən ibarət bir rəsm çəkəcəyimi və oyunçunun/rəssamın bu RGB LED -ləri əl ilə dövr etməsinə və rəng seçməsinə icazə verəcəyimi düşündüm. Bu şəkildə öz "piksel sənətlərini" edə bilərlər!

Addım 1: Bəzi məlumat və nəzəriyyə

Yaxşı, gəlin kolun ətrafında döyməyək. Bu layihəni həyata keçirmək istəyirsinizsə: Çətindir. Nə etməli olduğumu anlamaq/öyrənmək və daha da çoxunu yerinə yetirmək üçün mənə çox saat lazım oldu, amma həqiqətən çox kiçik "rəsmlər" yarada bilən tellə dolu bir qutu istəsəniz, sizə necə öyrədəcəyəm.

Beləliklə, hər şeydən əvvəl. Arduino -da mümkün qədər çox LED/RGB LED olmasını istəyirik. Nə qədər çox (RGB) LED bağlasanız, bir o qədər detallı şəkildə "rəsminizi" edə bilərsiniz (10x10 piksel, sağda 2x2 -dən daha çox gəzinti otağı verir). Güman edirəm ki, 13 rəqəmsal pininizdə bir çox (RGB) LED əldə etməyin daha çox yolu var (növbənin qeydiyyatı kimi şeylər), amma "Charlieplexing" adlı bir metoddan istifadə etdim. Bu konsepsiyanı başa düşməyimə kömək edən bir təlimat verənə keçid verəcəyəm (ciddi şəkildə bunu çox yaxşı izah edirlər), amma burada sizə sürətli versiyanı da verəcəyəm. Charlieplexing aşağıdakı kimi gedir:

Pin 1 ilə pin 2 arasına bir LED qoyursunuz, əgər pin 1 -i YÜKSƏK və 2 -ni LOW olaraq təyin etsəniz, dairə düzgün işləyəcək və LED yanacaq. Əsaslar. Yaxşı, indi başqa bir LED bağlayırsınız, ancaq çevrildi. Uzun ucu 2 -də, qısa ucu isə pin1 -dədir. İndi pin 2 -ni YÜK və PİN 1 -i DÜŞÜK -ə çevirsəniz, 2 -ci LEDiniz yanacaq və axınınız səhv olacağından birinciniz sönəcək. İndi 2 sancağa 2 LED bağlaya bilərsiniz. Qarışıqda 3 -cü pin əldə etsək, bu hiyləni 1 ilə 2, 1 və 3 və 2 və 3 arasında edə bilərsiniz. Bu 6 LEDdir. Bu davam edir, 5 pin bizə (2 + 4 + 6 + 8) 20 LED bəxş edəcək. Bütün 13 rəqəmsal sancaqdan istifadə etməklə bizə 156 seçim imkanı verir. Fərdi olaraq yandırıb söndürə biləcəyiniz 156 LED.

(merak edənlər üçün tamamdır. Bəli, çox şeyiniz varsa eyni anda yandırmaq mümkün deyil, amma narahat olmayın, arduino LEDləriniz arasında o qədər tez dəyişə bilər ki, insan gözü titrəməni görə bilməz)

(Daha yaxşı və daha ətraflı izah, şəkillərlə)

Yaxşı, kabellərə gəldikdə (buna daha sonra toxunacağam) çox səy göstərərək, kifayət qədər LED şəbəkəsi düzəldə bilərik, amma bununla üzləşək. LEDlər çox darıxdırıcıdır. Yalnız 2 rəngli bir şəkil necə çəkmək olar? Düşünürəm ki, edə bilərsiniz, amma sağdan seçmək üçün daha çox rənginiz varsa, yolu daha soyuqdur? sağ Beləliklə, RGB LED -lərinə müraciət edirik!

RGB LED -ləri əsasən 1 -də 3 LED -dir. Ortaq bir katot və ya anodu (gücün girib -çıxdığı yerdə) bölüşürlər, digər 3 "ayağı" isə Qırmızı Yaşıl və Mavi LED -dir. Bunu nəzərə alaraq, bəli, onları da charlieplex edə bilərik! Hər RGB LED 3 adi LED üçün sayılır. Bu şəkildə yenə də hamısını tək -tək aça və söndürə bilərsiniz və seçim etmək üçün sərin rənglər yarada bilərsiniz! Yeganə dezavantajı, hər şeyi əvvəlcədən lazım olduğu qədər 3 dəfə çox LED -lə xəritələmək/planlaşdırmaq və tel çəkmək məcburiyyətində qaldığınız üçün işləri daha da çətinləşdirir.

13 sancaqda 42 RGB LED üçün getdim. Yəni 126 ədəd adi LED….. çox sayda. Bunu necə etdiyimi sizə bildirim.

Addım 2: Planlaşdırma

Planlaşdırma
Planlaşdırma

Bəli, nə etdiyinizin arxasındakı nəzəriyyəni başa düşdükdən sonra bu addım olduqca asandır. Əsasən bütün LED -lərinizi yazırsınız və bütün seçimlərinizi əhatə etmək üçün hansı RGB LED -in hansı "ayağına" getməli olduğunuzu planlaşdırırsınız. Planlamamın bir şəklini əlavə etdim, bunu da istifadə etməkdən çekinmeyin (mövcud olan bütün variantları istifadə etmədim, çünki "yalnız" 156 -dan 126 bağlantıya ehtiyacım var. Bu şəkildə qurdum, çünki tikintini daha incə bir iş görülə bilər.).

Bunu kağız üzərində əldə etmək vacibdir, daha sonra kodlaşdırmağa ehtiyacınız olacaq. Bunu yazmasanız və 1 əlaqəni qarışdırmasanız, bu LED üçün kod işləməyəcək.

Addım 3: Kod

Tamam, buna görə 2 RGB LEDini 2 sancağa necə bağlamaq barədə bir fikriniz varsa: Davam edin! Kodu yoxlamaq xoşdur, amma əminəm ki, işləyir! Bacardığım qədər "təmiz" kodlaşdırma etməyə çalışdım (Bunu açarların açarları ilə də idarə edə bilərdiniz, ancaq bütün x42 kodunuzu yazmağınız qorxunc bir problemdir, yəqin ki, daha yaxşı olduğunu başa düşdüm yol).

Kodun məqsədi aşağıdakılardır. LED1 -dən başlayırsınız. Button 1, növbəti LED -ə keçməyinizə imkan verir, ancaq əvvəlki LED yanır. Button2 əvvəlki LED -ə qayıtmağa imkan verir, düymə 3 rəng dəyişdirməyə imkan verir. Cari seçilmiş LED yanıb -sönür, beləliklə hansı LED -in "seçildiyini" görə bilərsiniz.

Bunu etmək üçün seriallarla işlədim. Planlaşdırma mərhələsində yazdığınız məlumatlardan istifadə edərək müəyyən bir rəng yaratmaq üçün hansı pin lazım olduğunu öyrənmək üçün bir LED sinfi yaratdım. Hamısını bir sıra qoydum və arduino -nun LEDarray vasitəsilə hansının olduğunu və hansı rəngin seçildiyini müəyyən etmək üçün rəng aralığından keçməsinə icazə verdim (rəng 7 rəng seçməyə imkan verən keçidlə təyin olunur). Yanıp sönmə if-ifadəsi ilə tənzimlənir.

Kod əlavə olunur, yükləmək və istifadə etməkdən çekinmeyin. Başa düşmədiyiniz bir şey varsa şərh bölməsi suallar üçün açıqdır, amma əsasən yapışdırıb kopyalaya bilərsiniz!

Addım 4: Ən çətin hissə

Ən çətin hissə
Ən çətin hissə
Ən çətin hissə
Ən çətin hissə

Beləliklə, indi bir fikriniz, işləyən bir kodunuz var …. əsl məhsul deyil. Bu, bu layihənin ən dəhşətli hissəsidir və buna yüngül yanaşmamağı məsləhət görərdim. Hamısı eyni pinlə bitən bütün fərqli ayaqları xatırlayırsınız? bəli … LED şəbəkəsini düzəltməlisiniz, sonra hər ayağını eyni pinə getməyiniz lazım olan hər bir ayağa bağlayın və sonra onları bu pinlə bağlayın. Bu, ən çətin hissədir və mənimki də 100% mükəmməl olmadı, əgər lehimləmə bacarığın olsa, bir şansın ola bilər.

Bir anda bir sıra RGB LED -ləri qoydum və hər ayağına mis tel bağladım (korpuslu/bükülü mis tel tövsiyə edirəm. Mənimki çox qalın idi və mənə çox kədər gətirdi). İki ayağın və ya telin bir -birinə toxunmamasına diqqət edin! sonra "sadəcə" eyni pinə keçməli olan bütün telləri bağlayın və sonra onları bir rezistora bağlayın və sözügedən pinə bağlayın. Əminəm ki, bunu etmək üçün "daha təhlükəsiz" bir yol var, amma əminəm ki, çalışırıqda telin içində boğulursunuz və vicdanla …. çörək taxtanız çox böyükdür!

(Bu addımı asanlaşdıra biləcək bir rəsm əlavə etdim. Kodumu dəqiq şəkildə yerinə yetirmək üçün hansı ayağın hansı pinə getməli olduğunu söyləyir.)

Mənə 4 gün işləmək lazım gəldi, amma indi hər bir LED (yıxdığım mənfi 3-4) fərdi olaraq açıla bilər!

sonra yalnız bəzi düymələri və presto tel etmək lazımdır! Öz Pixel Art Rəsminiz!

Bu adam, həqiqətən də köməkçi bir tel qurma nümunəsi verdi

Addım 5: Gloat. Tamamilə Gloat

Bir başlanğıcınız varsa (mənim kimi) və bu siçovulların tel yuvasına bənzər bir şey edə bilsəniz və açılırsa; qəmgin. Əsl yaxşılıq etdin!

Hər hansı bir sualınız/şərhiniz varsa bunları aşağıda yazın, bacardığım halda kömək etməyə çalışacağam!

Tövsiyə: