Önceki bölümde PicoBricks’in ünlü blok tabanlı geliştirme platformu MicroBlocks ile hazırlanmış proje örneklerini paylaşmıştım.
Bu bölümde PicoBricks’i Thonny adlı basit IDE yardımıyla MicroPython diliyle kodlanmış bir projeyi paylaşacağım.
PicoBricks’i Thonny vs MicroPython ile kullanmak için Pi Pico üzerindeki BOOTSEL butonuna basılı tutarak USB kablosunu takıyor, ardından Thonny’yi açıyoruz. Run > Configure interpreter… menü seçeneğini seçiyor ve menüden MicroPython (Raspberry Pi Pico) seçiyoruz. Alttaki port seçme alanını otomatikte bırakıp sağ alt köşedeki install or update micropython linkine tıklıyoruz.
Yeni açılan pencerede Pi Pico sürücü adını seçiyor, family olarak RP2, variant olarak da Pi Pico W seçiyoruz. Install butonuna tıkladığımızda MicroPython’un son sürümü indirilip kurulacak. Elle kurmak istiyorsanız buradan MicroPython resmi sayfasına gidebilirsiniz.
PicoBricks’in MicroPython için bir kütüphane dosyası bulunuyor. Bunu da buradaki Github adresinden indirebilirsiniz. Aşağıdaki uygulama için de bu kütüphaneye ihtiyacımız var. Yapmamız gereken kütüphane dosyasını (picobricks.py) main.py ile aynı klasöre yüklemek.
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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
# METE HOCA SAAT (PicoBricks) import time import utime import network from machine import Pin, I2C, PWM, ADC, UART from picobricks import SSD1306_I2C, WS2812, DHT11, NEC_16, IR_RX import random import network import ntptime WIDTH = 128 HEIGHT = 64 i2c = I2C(0, scl=Pin(5), sda=Pin(4), freq=200000) oled = SSD1306_I2C(WIDTH, HEIGHT, i2c, addr=0x3c) tm_year = 0 tm_mon = 1 tm_mday = 2 tm_hour = 3 tm_min = 4 tm_sec = 5 tm_wday = 6 tm_yday = 7 tm_isdst = 8 time_is_set = False wifi_is_connected = False def wifi_connect(): ssid = "WIFIADINIZ" password = "WIFISIFRENIZ" wlan = network.WLAN(network.STA_IF) wlan.active(True) wlan.connect(ssid, password) max_wait = 10 while max_wait > 0: if wlan.status() < 0 or wlan.status() >= 3: break max_wait -= 1 print('Ağ bağlantısı bekleniyor...') time.sleep(5) if wlan.status() != 3: raise RuntimeError('WiFi bağlantısı kurulamadı!') else: print('WiFi ağına bağlanıldı.') wifi_is_connected = True status = wlan.ifconfig() print( 'ip = ' + status[0] ) def set_time(): if not wifi_is_connected: print("WiFi'ye bağlanılıyor...") wifi_connect() try: ntptime.settime() except OSError as exc: if exc.args[0] == 110: print("ZAMAN AŞIMI") time.sleep(5) t = time.localtime() machine.RTC().datetime((t[tm_year], t[tm_mon], t[tm_mday], t[tm_wday] + 1, t[tm_hour]+3, t[tm_min], t[tm_sec], 0)) print("Yerel Zaman%s"% str(time.localtime())) print("Yerel Tarih%s"% str(t[tm_year])+"-"+str(t[tm_mon])+"-"+str(t[tm_mday])) time_is_set = True def zfl(s, width): return '{:0>{w}}'.format(s, w=width) if not time_is_set: set_time() while True: t = time.localtime() oled.fill(0) oled.text("METE HOCA SAAT",10, 0) oled.text(str(t[tm_year])+"-"+str(zfl(t[tm_mon],2))+"-"+str(zfl(t[tm_mday],2)),25, 20) oled.text(str(t[tm_hour])+":"+str(zfl(t[tm_min],2))+":"+str(zfl(t[tm_sec],2)),35, 50) if t[tm_wday] == 0: oled.text("PAZARTESI",32, 35) if t[tm_wday] == 1: oled.text("SALI",50, 35) if t[tm_wday] == 2: oled.text("CARSAMBA",35, 35) if t[tm_wday] == 3: oled.text("PERSEMBE",35, 35) if t[tm_wday] == 4: oled.text("CUMA",50, 35) if t[tm_wday] == 5: oled.text("CUMARTESI",30, 35) if t[tm_wday] == 6: oled.text("PAZAR",45, 35) oled.show() time.sleep(1) oled.fill(0) |
Yukarıdaki kod internete bağlanıyor ve zaman sunucularından Türkiye saatini alarak ekranda görüntülüyor. Pi Pico’nun internete bağlanabilmesi için kod içindeki ssid ve password alanlarını kendi WiFi bilgileriniz ile değiştirmeniz gerekiyor.
Kodu kopyalayın, Thonny IDE’ye yapıştırın ve main.py olarak cihazın ana dizinine kaydedin.