Mündəricat:

MicroPython Proqramı: Dairənin Ölçüsünü Göstərin: 9 Addım
MicroPython Proqramı: Dairənin Ölçüsünü Göstərin: 9 Addım

Video: MicroPython Proqramı: Dairənin Ölçüsünü Göstərin: 9 Addım

Video: MicroPython Proqramı: Dairənin Ölçüsünü Göstərin: 9 Addım
Video: Использование комплекта Wi-Fi Heltec ESP32 OLED 2024, Iyul
Anonim

Bu sınaq, ESP8266 -da MicroPython proqramlaşdırmasını öyrənməyimizə imkan verən MakePython ESP8266 modulundan istifadə edir. Təcrübə potensiometrini döndərərək ekrandakı dairənin ölçüsünü idarə etdi. Bu müddətdə ADC, SSD1306 OLED displey və uPyCraft IDE -nin istifadəsini öyrənəcəyik.

Addım 1: ADC və I2C haqqında

ADC və I2C haqqında
ADC və I2C haqqında

ADC: ADC, analoq siqnalları rəqəmsal hala çevirən bir analoq/rəqəmsal çeviricidir. Ön idarəetmə LEDində, PWM içərisində, rəqəmsal siqnal ilə analoq siqnal arasındakı fərqi bilirik. Gündəlik həyatda işığın intensivliyi, səs dalğaları və batareya gərginliyi kimi istifadə etdiyimiz siqnalların hamısı analoq dəyərlərdir. Tək çipli mikrokompüter vasitəsilə analoq siqnalını (gərginlik, işıq intensivliyi, səs dalğası) ölçmək və rəqəmsal siqnalla ifadə etmək istəyiriksə, ADC analoq rəqəmsal siqnal çeviricisinə ehtiyacımız var.

I2C rabitəsi: I2C, sensorlar/ displeylər kimi təyyarə komponentləri ilə ünsiyyət qurmaq üçün geniş istifadə olunur. Məlumat ötürülməsi sırasıyla SCL və SDA siqnal xətti olmaqla iki siqnal xətti ilə tamamlana bilər. I2C xəttində yalnız bir əsas cihaz Master və bir neçə Slave cihazı var. Boş vaxtda hər iki avtobusun yüksək səviyyədə olmasını təmin etmək üçün SDA və SCL çəkmə rezistoru ilə əlaqələndirilməlidir. Çəkmə müqavimətinin klassik dəyəri 10K -dır.

Addım 2: Təchizat

Təchizat
Təchizat

Avadanlıq:

  • MakePython ESP8266
  • Potensialiometr
  • Çörək lövhəsi
  • Atlama xətti
  • USB kabeli

MakePython ESP8266: MakePython lövhəsində 128x64 piksel ölçülü bir OLED 1.3 'OLED modulu var… Monoxrom ekranın bir pikseli işıq yayan bir dioddur. OLED "özünü işıqlandırır", pikselin özü işıq mənbəyidir, buna görə də kontrast çox yüksəkdir. OLED ekranlarda fərqli protokollar səbəbindən tamamilə uyğun olmayan I2C və SPI rabitə protokolları var. Dərsimizdə OLED, I2C protokolu ilə uyğun olaraq qurulmuşdur. Modul satın alma linki:

Potansiometr: Potansiyometr, müəyyən bir dəyişmə qanununa görə tənzimlənə bilən üç aparıcı ucu və müqavimət dəyərləri olan tənzimlənən bir rezistordur. Potansiyometr ümumiyyətlə bir rezistor gövdəsi və hərəkətli fırçadan ibarətdir. Fırça müqavimət gövdəsi boyunca hərəkət edərkən, çıxış ucunda yerdəyişmə ilə əlaqədar müqavimət dəyəri və ya gərginlik əldə edilir.

Proqram təminatı:

uPyCraft IDE

MicroPython ilə bir çox kod və proqramlaşdırma üsulu var. Bu dərs üçün MicroPython -a keçməyin ən sadə və asan yolu olan uPyCraft IDE -dən istifadə edirik.

Addım 3: Kabel çəkmə

Kablolama
Kablolama
Kablolama
Kablolama
Kablolama
Kablolama

Bu, çox az tel tələb edən çox sadə bir sxemdir, yalnız üç. Potansiyometrenin VCC pinini 3.3v MakePython ESP8266 -ya, Çıxış pinini (ortada) A0 -a bağlayın və GND -ni bir -birinə bağlayın. OLED displey I2C ünsiyyətindən istifadə edir və lövhə tellidir, buna görə narahat olmayın.

Addım 4: UPyCraft IDE Windows PC qurmaq

UPyCraft IDE Windows PC quraşdırılması
UPyCraft IDE Windows PC quraşdırılması
UPyCraft IDE Windows PC quraşdırılması
UPyCraft IDE Windows PC quraşdırılması

Windows üçün uPyCraft IDE yükləmək üçün bu linki vurun:

randomnerdtutorials.com/uPyCraftWindows.

Bir neçə saniyə sonra, Yükləmələr qovluğunda oxşar bir fayl (uPyCraft_VX.exe) görməlisiniz.

Bu faylı iki dəfə vurun. UPyCraft IDE proqramı ilə yeni bir pəncərə açılır.

Addım 5: İdarə Heyəti ilə Əlaqə Yaratmaq

İdarə heyəti ilə ünsiyyət qurmaq
İdarə heyəti ilə ünsiyyət qurmaq

MicroPython firmware quraşdırıldıqdan sonra (Makerfabs MakePython ESP8266 əldə etdiyiniz zaman MicroPython Firmware artıq qurulmuşdur), USB kabel vasitəsilə kompüterinizə qoşun və aşağıdakı adımları yerinə yetirin:

  • Alətlər> Karta gedin və istifadə etdiyiniz lövhəni seçin. Esp8266 seçin
  • Alətlər> Seriala gedin və ESP -nin bağlı olduğu portu seçin (USB sürücüsünü buradan yükləyin:

www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers)

  • Lövhənizlə serial əlaqə qurmaq üçün Bağlan düyməsini basın.

Lövhənizlə uğurlu bir əlaqə qurduqdan sonra Shell pəncərəsində ">>>" görünəcək.

Addım 6: Lövhənizdə Main.py Faylının Yaradılması

Lövhənizdə Main.py Faylının Yaradılması
Lövhənizdə Main.py Faylının Yaradılması
Lövhənizdə Main.py Faylının Yaradılması
Lövhənizdə Main.py Faylının Yaradılması
  • Yeni bir fayl yaratmaq üçün "Yeni fayl" düyməsini basın.
  • Faylı kompüterinizə saxlamaq üçün "Fayl saxla" düyməsini basın.
  • Yeni bir pəncərə açılır, faylınızı main.py adlandırın və kompüterinizə qeyd edin.
  • Bundan sonra, cihazınızda boot.py faylını və main.py faylı olan yeni bir nişanı görməlisiniz.
  • Dosyanı ESP kartınıza yükləmək üçün "Yüklə və Çalışdır" düyməsini basın.
  • Cihaz qovluğu indi main.py faylını yükləməlidir. ESP -də main.py faylı saxlanılır.

Addım 7: Sürücü Faylını əlavə edin

OLED ekranda SSD1306 sürücü çipi istifadə edildiyindən, SSD1306 sürücüsünü yükləməliyik. SSD1306 kitabxanasını axtarıb yükləmək üçün GitHub veb saytına gedə və ya ssd1306.py sürücü faylımızı yükləmək üçün tıklayabilirsiniz.

Yüklədikdən sonra ssd1306.py faylını workSpace fayl qovluğuna qeyd edin. Sonra ssd1306.py faylını açın və Çalışdır düyməsini basın və kitabxana faylı cihaz qovluğuna yüklənə bilər. Bu zaman, ssd1306.py kitabxana faylı, ssd1306 idxal ifadəsi ilə adlandırıla bilən MakePython ESP8266 -ya uğurla yükləndi.

*Qeyd: uPyCraft IDE -ni ilk dəfə açdığınızda, workSpace yolu mövcud deyil. Tıkladığınızda, workSpace informasiya qutusu açılacaqdır. Saxlamaq istədiyiniz qovluğu seçərək istifadəçinin fayllarını saxlamaq üçün bir workSpace qovluğu yarada bilərsiniz.

Addım 8: Əsas funksiya

Əsas funksiya
Əsas funksiya
Əsas funksiya
Əsas funksiya

Qrammatika izahı:

  • i2c: SCL və SDA pinlərini konfiqurasiya edin
  • oled: OLED obyekti yaradın
  • adc.read (): ADC nümunə məlumatlarını oxuyun
  • dairə (): Dairənin radiusunu hesablamaq üçün sqrt () funksiyasından istifadə edən xüsusi çəkmə dairəsi funksiyası
  • math.sqrt (r): Nömrənin kvadrat kökünü qaytarır
  • piksel (x, y, c): (x, y) nöqtəsini çəkin
  • hline (x, y, w, c): (x, y) ilə başlayan üfüqi bir xətt çəkin w uzunluğu
  • vline (x, y, w, c): (x, y) ilə başlayan, hündürlüyü olan şaquli bir xətt çəkin
  • oled.fill (n): n = 0 olduqda ekranı boşaldın və n> 0 olduqda ekranı doldurun
  • oled.show (): Ekran funksiyasını yandırın

Bu faylı birbaşa əlavə edə və ya məzmununu yeni yaradılmış əsas fayla kopyalaya bilərsiniz.

Addım 9: Eksperimental Nəticələr

Eksperimental Nəticələr
Eksperimental Nəticələr

Potansiyometrini yavaş -yavaş, saat yönünde çevirin və ekrandakı dairə böyüyəcək, saat əqrəbinin əksinə kiçiləcək.

Tövsiyə: