LA M3

 



PERCOBAAN 4

1. Prosedur[Kembali]

  • Rangkai semua komponen sesuai dengan percobaan 4 pada modul 
  • Buat program untuk Rspberry pi pico, sesuaikan konfigurasinya dengan rangkaian dan kondisi yang dipakai
  • Upload program ke Raspberry Pi Pico

2. Hardware dan Diagram Blok[Kembali]

1. Raspberry PI PICO



2. Potensio


3. LCD


3. Rangkaian Simulasi dan Prinsip Kerja[Kembali]

Rangkaian: 



Prinsip Kerja:

Dalam percobaan ini, mula-mula input dimasukkan dari potensiometer ke Raspberry Pi Pico melalui komunikasi UART. Selanjutnya, dua Raspberry Pi Pico saling terhubung menggunakan komunikasi SPI, di mana Raspberry Pi Pico pertama berperan sebagai master (pengirim), sedangkan Raspberry Pi Pico kedua sebagai slave (penerima). Kemudian, data dari Raspberry Pi Pico kedua dikirim ke LCD melalui komunikasi I2C.


4. Flowchart dan Listing Program[Kembali] 




Listing Program:

TX

from machine import Pin, ADC, UART
import time

# Inisialisasi ADC di GPIO26
pot = ADC(26)  # ADC0

# Inisialisasi UART0 dengan TX=Pin0 dan RX=Pin1
uart = UART(0, baudrate=9600, tx=Pin(0), rx=Pin(1))

while True:
    pot_value = pot.read_u16()  # Baca nilai ADC (0 - 65535)
    data = f"POT:{pot_value}\n"  # Format data yang dikirim
    uart.write(data)  # Kirim data lewat UART
    print("Sent:", data.strip())  # Tampilkan data yang dikirim
    time.sleep(0.5)  # Tunggu 0.5 detik

RX

from machine import UART, I2C, Pin
from i2c_lcd import I2cLcd
from time import sleep

# Inisialisasi UART0
uart = UART(0, baudrate=9600, tx=Pin(0), rx=Pin(1))

# Inisialisasi I2C untuk LCD (ubah alamat I2C jika perlu)
i2c = I2C(0, sda=Pin(4), scl=Pin(5))
lcd = I2cLcd(i2c, 0x27, 2, 16)  # 2 baris, 16 karakter

while True:
    if uart.any():
        raw_data = uart.readline()  # Baca data dari UART

        try:
            decoded_data = raw_data.decode('utf-8').strip()
            print("Received RAW:", repr(raw_data))
            print("Decoded:", decoded_data)

            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])  # Batasi pesan error agar muat di LCD
            print("Error:", e, "| Data:", raw_data)

        sleep(0.1)




5. Analisa[Kembali]







6. Video Demo[Kembali]








7. Download File[Kembali]

Video simulasi [download]
Datasheet Raspberry Pi Pico [Download]










temukan pada blog ini

LA M3

  [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Prosedur 2. Hardware dan Diagram Blok 3. Rangkaian Simulasi dan Prinsip Kerja 4. Flowchart dan ...