Raspberry Pi Pico MicroPython ile Karaşimşek Uygulaması

Bu uygulamamızda Raspberry Pi Pico kartımıza bağlamış olduğumuz LED’lerin sıralı halde yanıp sönmesini sağlayacağız.

Bu uygulamada kullanacağımız malzemelerimiz;

  • Raspberry Pi Pico

  • 4 adet 5mm LED

  • 220R veya 330R Direnç

  • Jumper Kablolar

  • Breadboard

Karaşimşek uygulamasına geçmeden önce tek bir LED’in nasıl yanıp söndüğünü gözlemleyelim. Devre şemasını gördüğümüz şekilde kuruyoruz.



Devremizi tamamladıktan sonra kod yazma işlemine geçebiliriz. Raspberry Pi Pico kartı ile yapacağımız uygulamaları MicroPython programlama dilinde yazacağız. Thonny IDE’sinde ihtiyacımız olan kütüphaneler kurulu bir şekilde gelmektedir.


from machine import Pin 
import time

led = Pin(20,Pin.OUT) 
led.low()

while True:
 led.toggle()
 print("Işık yanmaya başladı.")
 time.sleep(0.5)

Karaşimşek uygulaması için devre kurulumu aynı olacaktır. 4 adet LED’imizi ve 4 adet direncimizi kullanarak devremizi kuruyoruz. Devreyi kurduktan sonra kodlama kısmına geçebiliriz.


LEDlerin hangi pine takıldığını kodlamada belirtmek uygulamayı çalıştırabilmek için çok önemlidir. Sıralı bir işlem yapmak istediğimiz için dizi oluşturuyoruz. Dizi oluşturmak bize bir sonraki aşama için daha az kod yoğunluğu yaşatmaktadır.

dizi = [Pin(led1,Pin.OUT), Pin(led2,Pin.OUT), Pin(led3,Pin.OUT), Pin(led4,Pin.OUT)]

Manuel olarak durdurulmadığı sürece sonsuz bir döngüye ihtiyaç vardır. Bu işlemi while True ile yapmaktayız. For döngüsü kullanarak oluşturmuş olduğumuz dizideki LEDlerin yanmasını bir sıraya sokuyoruz. İlk önce soldan sağa gidecek şekilde bir adet döngü oluşturulur.

for i in range(0,len(dizi) -1, +1):

while True içerisinde ikinci for döngüsünü de sağdan sola gidecek şekilde oluşturuyoruz.

for j in range(len(dizi) -1, 0, -1):

Kodun tamamı aşağıda verilmiştir.


from machine import Pin
import time

led1 = 21
led2 = 20
led3 = 19
led4 = 18

dizi = [Pin(led1,Pin.OUT), Pin(led2,Pin.OUT), Pin(led3,Pin.OUT), Pin(led4,Pin.OUT)]

while True:
for i in range(0,len(dizi) -1, +1):
print(i+1, ". led yandı.")
dizi[i].high()
time.sleep(0.5)
dizi[i].low()

for j in range(len(dizi) -1, 0, -1):
print(j+1, ". led yandı.")
dizi[j].high()
time.sleep(0.5)
dizi[j].low()

Dosyayı IDE içerisinde “Run” butonu ile çalıştırıyoruz.




Son Paylaşımlar