İçindekiler:

MicroPython Programı: Dairenin Büyüklüğünü Göster: 9 Adım
MicroPython Programı: Dairenin Büyüklüğünü Göster: 9 Adım

Video: MicroPython Programı: Dairenin Büyüklüğünü Göster: 9 Adım

Video: MicroPython Programı: Dairenin Büyüklüğünü Göster: 9 Adım
Video: Webots Python Car Lidar Camera Controller - Webots Otonom Araba Yapımı - Webots Python Dersleri #13 2024, Temmuz
Anonim

Bu deney, ESP8266 üzerinde MicroPython programlamayı öğrenmemizi sağlayan MakePython ESP8266 modülünü kullanır. Deney, potansiyometreyi döndürerek ekrandaki dairenin boyutunu kontrol etti. Bu süreçte ADC, SSD1306 OLED ekran ve uPyCraft IDE kullanımını öğreneceğiz.

Adım 1: ADC ve I2C Hakkında

ADC ve I2C hakkında
ADC ve I2C hakkında

ADC: ADC, Analog sinyalleri Dijitale çeviren bir Analog/Dijital Dönüştürücüdür. Ön kontrol LED'i açık, içeride PWM, dijital sinyal ve analog sinyal arasındaki farkı biliyoruz. Işık şiddeti, ses dalgaları, pil voltajları gibi günlük hayatta kullandığımız sinyallerin tamamı analog değerlerdir. Analog sinyali (voltaj, ışık şiddeti, ses dalgası) tek çipli mikrobilgisayar üzerinden ölçmek ve dijital bir sinyalle ifade etmek istiyorsak, o zaman ADC analog dijital sinyal dönüştürücüye ihtiyacımız var.

I2C iletişimi: I2C, sensörler/ekranlar gibi yerleşik bileşenlerle kontrolör iletişimi için yaygın olarak kullanılır. Veri iletimi, sırasıyla saat hattı SCL ve sinyal hattı SDA olmak üzere sadece iki sinyal hattı ile tamamlanabilir. I2C hattında yalnızca bir ana cihaz Master ve birkaç Slave cihazı vardır. Boştayken her iki baranın da yüksek seviyede olmasını sağlamak için SDA ve SCL'nin çekme direnci ile bağlanması gerekir. Çekme direncinin klasik değeri 10K'dır.

2. Adım: Sarf Malzemeleri

Gereçler
Gereçler

Donanım:

  • MakePython ESP8266
  • Potansiyometre
  • ekmek tahtası
  • atlama çizgisi
  • USB kablosu

MakePython ESP8266: MakePython kartında yerleşik bir OLED 1.3' OLED modülü var, 128x64 piksel… Monokrom ekranın bir pikseli ışık yayan bir diyottur. OLED "kendi kendini aydınlatır", pikselin kendisi ışık kaynağıdır, bu nedenle kontrast çok yüksektir. OLED ekranlar, farklı protokoller nedeniyle tamamen uyumsuz olan I2C ve SPI iletişim protokollerine sahiptir. Dersimizde OLED, I2C protokolü ile uyumlu olacak şekilde yapılandırılmıştır. Modül satın alma bağlantısı:

Potansiyometre: Potansiyometre, belirli bir varyasyon yasasına göre ayarlanabilen üç önde gelen uca ve direnç değerlerine sahip ayarlanabilir bir dirençtir. Bir potansiyometre genellikle bir direnç gövdesi ve hareketli bir fırçadan oluşur. Fırça direnç gövdesi boyunca hareket ettiğinde, çıkış ucunda yer değiştirmeye göre direnç değeri veya voltajı elde edilir.

Yazılım:

uPyCraft IDE

MicroPython ile birçok kod ve programlama yöntemi vardır. Bu eğitim için, MicroPython'a geçiş yapmak için en basit ve kolay yol olan uPyCraft IDE kullanıyoruz.

Adım 3: Kablolama

kablolama
kablolama
kablolama
kablolama
kablolama
kablolama

Bu, çok az kablo gerektiren çok basit bir devredir, sadece üç. Potansiyometrenin VCC pinini MakePython ESP8266'nın 3.3v'sine ve OUT pinini (orta) A0'a bağlayın ve GND'yi birbirine bağlayın. OLED ekran, I2C iletişimini kullanır ve kart kablolu olduğundan endişelenmenize gerek kalmaz.

Adım 4: UPyCraft IDE Windows PC'yi Yükleme

UPyCraft IDE Windows PC'yi Yükleme
UPyCraft IDE Windows PC'yi Yükleme
UPyCraft IDE Windows PC'yi Yükleme
UPyCraft IDE Windows PC'yi Yükleme

Windows için uPyCraft IDE'yi indirmek için bu bağlantıya tıklayın:

randomnerdtutorials.com/uPyCraftWindows.

Birkaç saniye sonra İndirilenler klasörünüzde benzer bir dosya (uPyCraft_VX.exe) görmelisiniz.

O dosyaya çift tıklayın. uPyCraft IDE yazılımı ile yeni bir pencere açılır.

Adım 5: Yönetim Kurulu İle İletişimin Kurulması

Yönetim Kurulu İle İletişimin Kurulması
Yönetim Kurulu İle İletişimin Kurulması

MicroPython bellenimi kurduktan sonra (Makerfabs MakePython ESP8266 aldığınızda MicroPython Firmware zaten yüklenmiştir), bir USB kablosuyla bilgisayarınıza bağlayın, aşağıdaki adımları izleyin:

  • Araçlar > Pano'ya gidin ve kullandığınız panoyu seçin. esp8266'yı seçin
  • Araçlar > Seri'ye gidin ve ESP'nizin bağlı olduğu com portunu seçin (USB sürücüsünü şuradan indirin:

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

Panonuzla seri iletişim kurmak için Bağlan düğmesine basın.

Panonuzla başarılı bir bağlantı kurduktan sonra Shell penceresinde “>>>” göründüğünü göreceksiniz.

Adım 6: Ana Sayfanızda Main.py Dosyasını Oluşturma

Ana Sayfanızda Main.py Dosyasını Oluşturma
Ana Sayfanızda Main.py Dosyasını Oluşturma
Ana Sayfanızda Main.py Dosyasını Oluşturma
Ana Sayfanızda Main.py Dosyasını Oluşturma
  • Yeni bir dosya oluşturmak için “Yeni dosya” düğmesine basın.
  • Dosyayı bilgisayarınıza kaydetmek için “Dosyayı kaydet” düğmesine basın.
  • Yeni bir pencere açılır, dosyanızı main.py olarak adlandırın ve bilgisayarınıza kaydedin.
  • Bundan sonra, cihazınızda boot.py dosyasını ve main.py dosyasıyla yeni bir sekme görmelisiniz.
  • Dosyayı ESP kartınıza yüklemek için “İndir ve çalıştır” düğmesine tıklayın.
  • Cihaz dizini şimdi main.py dosyasını yüklemelidir. ESP'niz main.py dosyasını depolar.

7. Adım: Sürücü Dosyası Ekle

OLED ekran SSD1306 sürücü çipini kullandığı için SSD1306 sürücüsünü indirmemiz gerekiyor. SSD1306 kütüphanesini aramak ve indirmek için GitHub web sitesine gidebilir veya ssd1306.py sürücü dosyamızı indirmek için tıklayabilirsiniz.

İndirdikten sonra ssd1306.py dosyasını workSpace dosya dizinine kaydedin. Ardından, ssd1306.py dosyasını açın ve çalıştır'a tıklayın, kitaplık dosyası cihaz dizinine yüklenebilir. Şu anda, ssd1306.py'nin kitaplık dosyası, import ssd1306 deyimiyle çağrılabilen MakePython ESP8266'ya başarıyla yüklendi.

*not: uPyCraft IDE'yi ilk açtığınızda, workSpace yolu mevcut değildir. Tıkladığınızda, çalışma alanı iletişim kutusu açılır. Saklamak istediğiniz dizini seçerek kullanıcının dosyalarını depolamak için bir çalışma alanı dizini oluşturabilirsiniz.

Adım 8: Ana İşlev

Ana İşlev
Ana İşlev
Ana İşlev
Ana İşlev

Dilbilgisi açıklaması:

  • i2c: SCL ve SDA pinlerini yapılandırın
  • oled: OLED nesnesi oluştur
  • adc.read(): Örneklenmiş ADC verilerini oku
  • daire(): Dairenin yarıçapını hesaplamak için sqrt () işlevini KULLANAN özel daire çizme işlevi
  • matematik.sqrt(r): Sayının karekökünü döndürür
  • pixel(x,y,c): (x,y) noktasındaki noktayı çizin
  • hline(x, y, w, c): (x, y) uzunluğunda, w uzunluğunda yatay bir çizgi çizin
  • vline(x, y, w, c): (x, y'den başlayarak) w yüksekliğinde dikey bir çizgi çizin
  • oled.fill(n): n=0 olduğunda ekranı boşaltın ve n> 0 olduğunda ekranı doldurun
  • oled.show(): Görüntüleme işlevini açar

Bu dosyayı doğrudan ekleyebilir veya içeriğini yeni oluşturulan ana dosyaya kopyalayabilirsiniz.

9. Adım: Deneysel Sonuçlar

Deneysel Sonuçlar
Deneysel Sonuçlar

Potansiyometreyi yavaşça saat yönünde çevirin ve ekrandaki daire büyüyecek, saat yönünün tersine doğru küçülecektir.

Önerilen: