Mündəricat:

Itsybitsy M4 Express istifadə edərək CircuitPython ilə SSD1306 I2C OLED 128x64 Ekranındakı qrafik: 13 addım (şəkillərlə)
Itsybitsy M4 Express istifadə edərək CircuitPython ilə SSD1306 I2C OLED 128x64 Ekranındakı qrafik: 13 addım (şəkillərlə)

Video: Itsybitsy M4 Express istifadə edərək CircuitPython ilə SSD1306 I2C OLED 128x64 Ekranındakı qrafik: 13 addım (şəkillərlə)

Video: Itsybitsy M4 Express istifadə edərək CircuitPython ilə SSD1306 I2C OLED 128x64 Ekranındakı qrafik: 13 addım (şəkillərlə)
Video: Running Arduino Blink Example on MacBook Pro with Itsy Bitsy M4 2024, Noyabr
Anonim
Itsybitsy M4 Express istifadə edərək CircuitPython ilə SSD1306 I2C OLED 128x64 Ekranındakı qrafik
Itsybitsy M4 Express istifadə edərək CircuitPython ilə SSD1306 I2C OLED 128x64 Ekranındakı qrafik

SSD1306 OLED displeyi kiçik (0.96 ), ucuz, geniş yayılmış, I2C, Raspberry Pi, Arduino və ya Adafruit Itsybitsy M4 kimi mikroprosessor inkişaf lövhələrinə asanlıqla bağlanan (yalnız 4 telli) 128x64 pikselli monoxrom qrafik ekrandır. Express, CircuitPlayground Express və ya digər CircuitPython cihazları. Sürücüləri internetdən yükləmək olar.

Arduinos üçün qrafik rutinlər bir müddətdir mövcuddur, lakin digər inkişaf sistemlərində yoxdur.

Əsas cihaz sürücüləri istifadəçilərə imkan verir:

  • Ekranı qara və ya ağa təmizləyin. oled.fill (c)
  • Oled.text ("Mətn", x, y, c) müəyyən bir (x, y) mövqeyində ekrana bir mətn sətri yazın.
  • Oled.pixel (x, y, c) müəyyən bir (x, y) mövqeyində bir nöqtə çəkin.
  • Ekrana bir şəkil faylı yükləyin. (Bu layihədə istifadə olunmur)
  • Oled.show () ekranını yeniləyin

Bu Təlimat, sadə prosedurlarla necə çəkiləcəyini interaktiv şəkildə göstərəcək:

  • xətlər
  • dairələr
  • içi boş qutular
  • möhkəm bloklar
  • əvvəlcədən təyin edilmiş simvollar

Metodları nümayiş etdirmək üçün Adafruit Itsybitsy M4 Express istifadə edəcəyəm, ancaq Pythondakı kod digər inkişaf sistemlərinə asanlıqla köçürülə bilər.

Bu nümayiş üçün Itsybitsy M4 -ü seçdim, çünki ucuz, güclü, proqramlaşdırmaq asandır, analoq və rəqəmsal Giriş/Çıxış daxildir, çoxlu yaddaşa malikdir, İnternetdə sənədləri və yardım forumlarını asanlıqla yerləşdirir, əvvəlcə qurmaq çox asandır. və kodlaşdırmağı yeni öyrənənlər üçün ideal Python versiyası olan CircuitPython -u dəstəkləyir.

Itsybitsy və SSD1306 qurduqdan sonra bu çox sadə bir çörək taxtası quruluşudur. Yazı yoxdur, bütün faylları yükləyə bilərsiniz.

Bu ucuz və asan bir layihədir, lakin bəzi aralıq/qabaqcıl fikirlər təqdim edir. Ümid edirəm sınayacaqsınız. Bu kiçik ekrandan çox təsirləndim.

Addım 1: Bu Layihə üçün Nə Lazımdır

Bu Layihə üçün Nə Lazımdır
Bu Layihə üçün Nə Lazımdır

Avadanlıq:

  • SSD1306 I2C mono ekran 128x64 piksel
  • Itsybitsy M4 Express
  • microUSB -dən USB kabelinə - lövhəni proqramlaşdırmaq üçün
  • Çörək lövhəsi
  • 1 10K Ohm potansiyometr
  • 1 düymə açarı
  • birləşdirən tel - müxtəlif rənglər kömək edə bilər
  • Kompüter (kodu yazmaq və yükləmək üçün) - çox köhnə bir dizüstü kompüter edəcək.

Proqram təminatı:

Mu redaktoru - kod yazmaq və skriptini Itsybitsy -yə yükləmək üçün

Itsybitsy-nin qurulması burada izah olunur:

CircuitPython -un son versiyası:

CircuitPython kitabxanaları:

Mu Redaktor:

Addım 2: Dövrə

Dövrə
Dövrə

Bu qurmaq üçün çox sadə bir sxemdir. Növbəti səhifə işləri asanlaşdırmaq üçün rəngli tellərlə bitmiş çörək taxtasını göstərir.

Addım 3: Dövrün Breadboard versiyası

Dövrün Breadboard versiyası
Dövrün Breadboard versiyası

Çörək taxtasının yuxarı və aşağı hissələrində elektrik rayları var. Qırmızı tel ilə +ve relsləri birləşdirin. Qara tel ilə birlikdə relsləri birləşdirin.

Itsybitsy'nin 3V pinini aşağı +ve rayına - qırmızı telə qoşulun. (Sütun 12)

Itsybitsy -nin G (GND) pinini üst -üst dəmir yolu - qara telə qoşulun. (Sütun 12)

33 və 34 -cü sütunlarda, SSD1306 VCC və GND sancaqlarını üst elektrik raylarına qoşun.

Çəhrayı bir tel ilə SCL sancaqlarını birləşdirin.

Boz bir tel ilə SDA pinlərini birləşdirin.

Qırmızı və qara tellərlə potansiyometrenin xarici sancaqlarını yuxarı elektrik raylarına, yaşıl tellə isə İtybitsy üzərindəki A5 -ə bağlayın.

Düymə açarının bir tərəfini bənövşəyi bir tel ilə 2 pininə, qara tellə digər tərəfini GND rayına bağlayın.

Addım 4: Şriftin Yüklənməsi

Şrift yüklənir
Şrift yüklənir

Şrift faylını yükləyin və CIRCUITPY sürücüsünə sürükləyin. (Bu, Itybitsydir.)

Lib qovluğuna iki dəfə vurun və artıq yüklədiyiniz sürücülərin siyahısına baxın.

Addım 5: Əlavə Sürücülər əlavə edin

Əlavə Sürücülər əlavə olunur
Əlavə Sürücülər əlavə olunur

Lib qovluğunda aşağıdakılara ehtiyacınız olacaq:

  • simpleio.mpy
  • adafruit_bus_device
  • adafruit_framebuf.mpy
  • adafruit_ssd1306.mpy

Əgər onlar yoxdursa, mövcud son versiyadan qovluğa sürükləyin.

İndi skript yükləməyə hazırsınız.

Mu redaktoruna yükləndikdən sonra main.py adı ilə Itsybitsy -də saxlaya bilərsiniz.

Proqram xətlərin, dairələrin, dinamik çubuq qrafikinin və müəyyən edilmiş simvolların nümayişindən ibarətdir. Qazanı yavaşca çevirin və ekranı idarə etmək üçün düyməni basıb saxlayın.

Növbəti səhifələr proqramın necə işlədiyi haqqında daha çox məlumat verir.

Addım 6: Cihazları Qurun

Cihazları Qurun
Cihazları Qurun

Bu birinci hissədə bütün kitabxanalar yüklənir və SSD1306, potensiometr və düymə açarı düzgün sancaqlar üzərində qurulur.

Addım 7: Xarakterləri müəyyənləşdirin və üfüqi və şaquli xətlər çəkin

Xarakterləri müəyyənləşdirin və üfüqi və şaquli xətlər çəkin
Xarakterləri müəyyənləşdirin və üfüqi və şaquli xətlər çəkin
Xarakterləri müəyyənləşdirin və üfüqi və şaquli xətlər çəkin
Xarakterləri müəyyənləşdirin və üfüqi və şaquli xətlər çəkin

Bu bölmə əvvəlcədən təyin edilmiş simvolları qurur. Genişliyi 5 nöqtə və hündürlüyü 8 nöqtədir. Tərifdəki hər bir nöqtə ekranda 4 nöqtə çəkir ki, daha yaxşı görünsünlər.

Üfüqi və şaquli xətlər bir döngə ilə çəkmək asandır. Yalnız sonunda əlavə nöqtəyə ehtiyacınız olduğunu xatırlamalısınız. (0, 7) -dən (5, 7) -ə qədər olan bir xətt 6 nöqtəyə ehtiyac duyacaq: x, 0, 1, 2, 3, 4 və 5 -ə bərabərdir.

Əsas nöqtə əmri oled.pixel (x, y, color) - 0 qara, 1 ağdır.

Mənşəyi (0, 0) ekranın sol üst hissəsində, 0 - 127 piksel üfüqi (soldan sağa) və 0 - 63 şaquli (yuxarıdan aşağıya).

Addım 8: Qutular, Bloklar və Eğimli Xətlər

Qutular, Bloklar və Eğimli Xətlər
Qutular, Bloklar və Eğimli Xətlər

Qutular üfüqi və şaquli xətlərdən tikilmişdir.

Bloklar çoxlu üfüqi xətlərdən tikilmişdir.

Eğimli xətlər üçün əvvəlcə koordinatların ən çox sola verildiyini yoxlayırıq. Əks təqdirdə onları dəyişdiririk, çünki xətt soldan sağa çəkiləcək.

Sonra yamacı hesablayırıq və hər bir x dəyəri üçün y dəyərini təyin etmək üçün istifadə edirik.

Ekran (t) proseduru, yenilənmiş ekranı görünən edir və qısa bir gecikmə, t saniyə gözləyir.

Addım 9: Dərəcə Simvolu, Anqnment, Çubuq Qrafiki və Dairə

Dərəcə Simvolu, Çərçivə, Çubuq Qrafiki və Dairə
Dərəcə Simvolu, Çərçivə, Çubuq Qrafiki və Dairə

Dərəcə simvolu 4 pikseldən yaradılır.

Align () rutini, sabit dəyərlər içərisində qısa dəyərləri sağa hizalamaq üçün nömrənin önünə əlavə boşluqlar əlavə edir.

Qrafik (v) rutini, seçilmiş faizi verən üfüqi bir çubuq qrafiki çəkir. Dəyər, sağ tərəfdə 100 (Ton və ya Üst) təmsil etmək üçün 'T' istifadə edərək yazılır.

Çevrələr bəzi triqonometriya tələb edir, buna görə də skriptin əvvəlində riyaziyyat kitabxanasını idxal etməliyik. Bir radius 90 dərəcə döndüyü üçün mərkəzdən x və y ofsetlərini hesablamaq üçün sin, cos və radian istifadə edirik. Ofsetlərin hər hesablanması üçün dörd kvadrantın hər birində ballar çəkilir.

Addım 10: Zibil Toplama, Başlıqlar və Çevrələr

Zibil toplama, başlıqlar və dairələr
Zibil toplama, başlıqlar və dairələr

Bu təlimatlar, ekranı qara və ağa təmizləməyi, ekrana mətn yazmağı və yer boşaltmaq üçün gc () 'zibil toplama' rutinindən istifadə etməyi nümayiş etdirir. Dəyər, daha böyük bir skript üçün çox yer olduğunu göstərir.

Proqram daha sonra ortaq mərkəzi olan və hərəkət edən mərkəzləri olan dairələr çəkir. Tələb olunan hesablama miqdarını nəzərə alaraq olduqca tez bir iş.

Satır demosu üçün başlıq sonradan yazılır.

Addım 11: Lines Demo

Lines Demo
Lines Demo

Bu rutin həqiqətən line () rutininə məşq edir. Radial xətlər, ekranın dörd küncünün hər birindən fərqli boşluqlarla nümunələr meydana gətirir.

Addım 12: Əsas Döngə: Çubuq Qrafiki və Müəyyən Edilmiş Xarakterlər

Əsas döngə: Çubuq qrafiki və müəyyən edilmiş simvollar
Əsas döngə: Çubuq qrafiki və müəyyən edilmiş simvollar

Bu proqramın əsas döngəsidir. Potensiometrdən alınan dəyərlər göstərilən dəyərləri dəyişdirir və çubuq qrafikinin uzunluğunu dəyişir.

Düyməni basıb saxlasanız, müəyyən edilmiş simvollar 1/0 və True/False kimi dəyişdirilir. Bu loop olduqca yavaş işləyir, çünki əvvəlcədən təyin edilmiş simvolların çəkilməsi yavaş bir prosesdir. Bəzilərini şərh edərək işləri sürətləndirə bilərsiniz.

Bu demonu sadə saxlamaq üçün heç bir temperatur sensoru yoxdur, buna görə də '?' 190 sətrində bir dəyər əvəzinə göstərilir.

Tövsiyə: