Laporan Akhir Modul 3
(Percobaan 4)
- Rangkai semua komponen
- Buat program di aplikasi Thonny
- Jalankan program dan inputkan program
- Jalankan rangkaian
3. Rangkaian Simulasi dan Prinsip Kerja
[Kembali]
Prinsip Kerja :
Rangkaian ini menggunakan beberapa komponen yaitu 2 buah Raspberry Pi PIco , potensiometer dan LCD. Rangkaian ini dimulai dengan inputan dari potensiometer yang kemudian data dikirim dan di proses ke Raspberry Pi PIco. Kemudian Raspeberry Pi Pico (UART 1) yang bertindak sebagai TX akan mengirim data ke Raspberry Pi Pico (UART 2) yang bertindak sebagai RX atau penerima menggunakan protokol komunikasi UART (Universal Asynchronous Receiver-Transmiter). Kemudian setelah di proses, data tersebut akan di tampilkan di LCD menggunakan protokol komunikasi I2C. Rangkaian ini berjalan dengan program yang kita inputkan kedalam Raspbeery Pi Pico.
4. Flowchart dan Listing Program
[Kembali]
Flowchart :
Listing Program :
TX (Pengirim - Raspberry Pi Pico):
from machine import Pin, ADC, UART
import time
pot = ADC(26) # GPIO 26 (ADC0)
uart = UART(0, baudrate=9600, tx=Pin(0), rx=Pin(1))
while True:
pot_value = pot.read_u16() # Baca nilai (0-65535)
data = f"POT:{pot_value}\n" # Format: "POT:<nilai>\n"
uart.write(data)
print("Sent:", data.strip()) # Debug: Cek di Thonny
time.sleep(0.5)
RX (Penerima - Raspberry Pi Pico + LCD I2C):
from machine import UART, I2C, Pin
from i2c_lcd import I2cLcd
from time import sleep
uart = UART(0, baudrate=9600, tx=Pin(0), rx=Pin(1))
i2c = I2C(0, sda=Pin(4), scl=Pin(5))
lcd = I2cLcd(i2c, 0x27, 2, 16) # Ganti 0x27 jika perlu
while True:
if uart.any():
raw_data = uart.readline()
try:
decoded_data = raw_data.decode('utf-8').strip()
print("Received RAW:", repr(raw_data)) # Data mentah
print("Decoded:", decoded_data) # Data bersih
if decoded_data.startswith("POT:"):
pot_value = int(decoded_data.split(':')[1])
lcd.clear()
lcd.putstr(f"Value:{pot_value}")
else:
raise ValueError("Format salah")
except Exception as e:
lcd.clear()
lcd.putstr("ERROR")
lcd.move_to(0, 1)
lcd.putstr(str(e)[:16]) # Maks 16 karakter error
print("Error:", e, "| Data:", raw_data)
sleep(0.1)
5. Analisa
[Kembali]
7. Download File
[Kembali]
Tidak ada komentar:
Posting Komentar