Proje 1: Özel Desenlerle Yanıp Sönen LED (Yeni Başlayanlar İçin Uygun)
Donanım Kurulumu
Bu proje için bir Raspberry Pi Pico, bir devre tahtası, bir LED, 220 ohm'luk bir direnç ve bağlantı kablolarına ihtiyacınız olacak. LED'in anotunu direnç üzerinden GPIO 25 numaralı pime, katodunu ise Pico'nun toprak pimine bağlayın. Bu kurulum, LED'in direnç sayesinde aşırı akımdan korunmasını ve kontrol amacıyla Pico'nun GPIO pimine doğru şekilde bağlanmasını sağlar.

Kod Uygulaması
MicroPython kullanarak LED'i farklı desenlerde yanıp sönmesini sağlayacak bir program yazacağız. Öncelikle gerekli modülleri içe aktaralım:
from machine import Pin, Timer
Ardından, LED pinini başlatın:
led = Pin(25, Pin.OUT)
tim = Timer()
def tick(timer):
led.toggle()
tim.init(freq=2, mode=Timer.PERIODIC, callback=tick)
Test ve Özelleştirme
Proje 2: Sıcaklık İzleme Sistemi (Orta Seviye)
Donanım Gereksinimleri

Kod Geliştirme
import machine
import onewire
import ds18x20
import time
ds_pin = machine.Pin(18)
ds_sensor = ds18x20.DS18X20(onewire.OneWire(ds_pin))
roms = ds_sensor.scan()
print('Found DS devices: ', roms)
while True:
ds_sensor.convert_temp()
time.sleep_ms(750)
for rom in roms:
print(ds_sensor.read_temp(rom))
time.sleep(2)
Veri Kaydı ve Görüntüleme
from machine import I2C, Pin
import ssd1306
i2c = I2C(0, sda=Pin(0), scl=Pin(1), freq=400000)
oled = ssd1306.SSD1306_I2C(128, 32, i2c)
while True:
ds_sensor.convert_temp()
time.sleep_ms(750)
for rom in roms:
temp = ds_sensor.read_temp(rom)
print(temp)
oled.fill(0)
oled.text(f"Temp: {temp} C", 0, 0)
oled.show()
time.sleep(2)
file = open('temperatures.txt', 'w')
while True:
ds_sensor.convert_temp()
time.sleep_ms(750)
for rom in roms:
temp = ds_sensor.read_temp(rom)
print(temp)
file.write(f"{time.time()},{temp}\n")
file.flush()
time.sleep(2)
Proje 3: IoT Veri Yükleyici (İleri Düzey)
Donanım Kurulumu

Kod ve IoT Entegrasyonu
import network
ssid = 'your_SSID'
password = 'your_PASSWORD'
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(ssid, password)
while not wlan.isconnected():
pass
print('Connected to WiFi')
import bme280_i2c
i2c = machine.I2C(0, sda=machine.Pin(8), scl=machine.Pin(9))
bme = bme280_i2c.BME280_I2C(i2c)
import urequests
def upload_data(temperature, humidity, pressure):
url = 'https://industrial.api.ubidots.com/api/v1.6/devices/your_device_label'
headers = {'X-Auth-Token': 'your_token', 'Content-Type': 'application/json'}
data = '{"temperature": %s, "humidity": %s, "pressure": %s}' % (temperature, humidity, pressure)
response = urequests.post(url, headers=headers, data=data)
if response.status_code == 200:
print('Data uploaded successfully')
else:
print('Error uploading data')
response.close()
while True:
temperature, pressure, humidity = bme.values
temperature = float(temperature.strip(' C'))
humidity = float(humidity.strip(' %'))
pressure = float(pressure.strip(' hPa'))
upload_data(temperature, humidity, pressure)
time.sleep(60)
Test ve Ölçeklenebilirlik
PIO, USB, algılayıcı ve denetim öğreten Pico projeleri
Yararlı projeler bir kerede tek donanım kavramını öğretir ve sonucun ölçülmesine imkân verir. İşlemci, kablosuz işlev, bellek, uç ve yazılım desteği değiştiğinden önce tam Pico ailesi kartını seçin; dış arayüzleri belgelenmiş 3,3 V mantık sınırlarına göre tasarlayın.
- Veri toplamayla başlayın: kalibre edilmiş algılayıcıyı zaman damgası ve tanımlı aralıkla kaydedin.
- PIO’yu keşfedin: zamanlamaya duyarlı özel arayüz üretip test uçlarında doğrulayın.
- USB aygıtı kurun: yeniden bağlanma davranışı belirli küçük kullanıcı veya seri işlev yapın.
- Kapalı çevrim ekleyin: güvenli ve sınırlı bir düzende hız, ışık veya sıcaklığı denetleyin.
- Prototipi mühendislikle tamamlayın: dekuplaj, seviye uyumu, koruma, test noktası ve tekrarlanabilir derleme ekleyin.




