Önceki bölümde PicoBricks’i Arduino IDE ile kodladığım bir projeyi paylaşmıştım.
Bu bölümde ise PicoBricks’i Adafruit’in MicroPython üzerine kurulu kendi geliştirme ortamı olan CircuitPython ile kodluyoruz.
PicoBricks’i CircuitPython ile kullanmak için Pi Pico üzerindeki BOOTSEL butonuna basılı tutarak USB kablosunu takıyor ve bilgisayarımızda görünen sürücü içine CircuitPython yorumlayıcısını yüklememiz gerekiyor.
CircuitPython’u Thonny ile de kullanabiliriz, ancak geliştirici Adafruit bunun için Mu Editor‘u tavsiye ediyor. CircuitPython’un kütüphaneleri MicroPython’dan farklı yapıda olduğu için PicoBricks’in kendi kütüphanesini CircuitPython ile kullanamıyoruz. Ancak Adafruit firması pek çok kütüphane hazırlamış durumda. Biz de bu projede bunları kullanacağız.
Projemizde ekran için adafruit_displayio_ssd1306, adafruit_display_text ve adafruit_bitmap_font kütüphanelerini ve sıcaklık ölçümü için adafruit_dht kütüphanesini kullanacağız. Bu kütüphaneleri buradan toplu halde indirebiliriz. İndirdiğimiz kütüphaneleri sürücü içindeki lib klasörünün içine yerleştirmeliyiz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# PicoBricks DHT11-OLED Örneği # Raspberry Pi Pico W # METE HOCA, 13-11-2023 import board, busio, displayio, os, terminalio, microcontroller, time import adafruit_displayio_ssd1306 import adafruit_dht from adafruit_display_text import label from adafruit_bitmap_font import bitmap_font dht = adafruit_dht.DHT11(board.GP11) displayio.release_displays() i2c = busio.I2C(board.GP5, board.GP4) display_bus = displayio.I2CDisplay(i2c, device_address=0x3C) display = adafruit_displayio_ssd1306.SSD1306(display_bus, width=128, height=64) font = bitmap_font.load_font("terminal.bdf") splash = displayio.Group() display.show(splash) sicaklik = 0 baslik = label.Label(font, text="= METE HOCA SICAKLIK =", color=0xFFFFFF) baslik.anchor_point = (0.5, 0.0) baslik.anchored_position = (64, 0) baslik.scale = 1 splash.append(baslik) sicaklik_degeri = label.Label(font, text = f"{sicaklik}°C", color = 0xFFFFFF) sicaklik_degeri.anchor_point = (0.5, 0.5) sicaklik_degeri.anchored_position = (64, 42) sicaklik_degeri.scale = 5 splash.append(sicaklik_degeri) while True: sicaklik = dht.temperature sicaklik_degeri.text = f"{sicaklik}°C" time.sleep(2) |
Yukarıdaki kod örneği PicoBricks üzerindeki DHT11 sıcaklık ve nem sensöründen aldığı sıcaklık verisini OLED ekranda görüntülüyor. Kütüphaneleriyle birlikte tüm proje kodunu buraya tıklayarak indirebilirsiniz.