Proyek 1: LED Berkedip dengan Pola Khusus (Cocok untuk Pemula)
Pengaturan Perangkat Keras
Untuk proyek ini, Anda memerlukan Raspberry Pi Pico, papan prototipe, LED, resistor 220 ohm, dan kabel jumper. Hubungkan anoda LED ke pin GPIO 25 melalui resistor, dan katoda ke pin ground pada Pico. Pengaturan ini memastikan bahwa LED terlindungi dari arus berlebih berkat resistor dan terhubung dengan benar ke pin GPIO Pico untuk pengendalian.

Penerapan Kode
Dengan menggunakan MicroPython, kita akan membuat program untuk membuat LED berkedip dengan pola yang berbeda-beda. Pertama, impor modul-modul yang diperlukan:
from machine import Pin, Timer
Kemudian, inisialisasi pin LED:
led = Pin(25, Pin.OUT)
tim = Timer()
def tick(timer):
led.toggle()
tim.init(freq=2, mode=Timer.PERIODIC, callback=tick)
Pengujian dan Penyesuaian
Proyek 2: Sistem Pemantauan Suhu (Tingkat Menengah)
Persyaratan Perangkat Keras

Pengembangan Kode
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)
Pencatatan dan Penampilan Data
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)
Proyek 3: Pengunggah Data IoT (Tingkat Lanjut)
Pengaturan Perangkat Keras

Integrasi Kode dan IoT
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)
Pengujian dan Skalabilitas
Proyek Pico untuk mempelajari PIO, USB, sensor, dan kendali
Proyek yang berguna mengajarkan satu konsep perangkat keras sekaligus dan menyediakan cara mengukur hasilnya. Pilih dahulu papan keluarga Pico yang tepat karena prosesor, radio, memori, pin, dan dukungan perangkat lunak berbeda; rancang semua antarmuka sesuai batas logika 3,3 V yang terdokumentasi.
- Mulai dari akuisisi: rekam sensor terkalibrasi dengan waktu dan interval sampling yang ditetapkan.
- Jelajahi PIO: buat atau tangkap antarmuka peka waktu lalu verifikasi pada pin uji.
- Buat perangkat USB: terapkan fungsi antarmuka manusia atau serial kecil dengan perilaku sambung ulang jelas.
- Tambahkan loop tertutup: atur kecepatan, cahaya, atau suhu pada sistem aman dengan keluaran terbatas.
- Rekayasa prototipe: sertakan decoupling, penyesuai level, pelindung konektor, titik uji, dan build yang terulang.



