Laporan Akhir M3






1. Prosedur [kembali]
  1. Pertama siapkan alat dan bahan untuk percobaan 4 modul 3 ini
  2. kedua buka aplikasi thony rusberry pipico
  3. ketiga rangkailah rangkaian sesuai dengan modul percobaan 4
  4. keempat buatlah program pada thony
  5. kelima pastikan jika program berjalan dengan baik 
  6. keenam inputkan program ke rangkaian yang sudah di buat
  7. ketujuh pastikan kedua (RX, TX) datanya ter inputkan
  8. kelapan jalankanlah rangkaianya
2. Hardware dan Diagram Blok [kembali]
  • Rusberry Pipico

  • Potensiometer
  • lid modul I2c
  • Diagram Blok



3. Rangkaian Simulasi dan Prinsip Kerja [kembali]
  • Rangkaian Simulasi

  • Prinsip Kerja
Potensiometer memberikan nilai input analog yang bervariasi saat diputar
Raspberry Pi Pico bagian bawah membaca nilai potensiometer
Data tersebut dikirim melalui komunikasi serial ke Raspberry Pi Pico bagian atas
Raspberry Pi Pico bagian atas memproses data dan menampilkannya pada LCD
Hasil pengukuran atau status sistem ditampilkan pada layar LCD

5. Listing program dan Flowchart [kembali]
  • Listing Program
TX
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
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)) # Tampilkan data mentah (termasuk \n)
print("Decoded:", decoded_data) # Data tanpa \n
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]) # Tampilkan pesan error
print("Error:", e, "| Data:", raw_data)
sleep(0.1)
  • Flow Chart

6. Kondisi [kembali]
  • (Percobaan 4)
  • Tugas Asistensi
  • Tugas Analisa


7. Video Simulasi [kembali]
  • Vidio Saat Percobaan


8. Download file [kembali]





Komentar

Postingan populer dari blog ini

MODUL 1 MIKRO

MODUL 2 SISDIG

Tugas Pendahulu M1=1