Tugas Pendahuluan 1
[menuju akhir]
[menuju awal]
1. Baca terlebih dahulu kondisi yang akan diambil
2. Buka aplikasi yang digunakan, misalnya menggunakan wokwi yang bisa dibuka pada web
3. Setelah membuka wokwi pilih Pi Pico, lalu micropython
4. Setelah itu siapkan komponen - komponen yang dibutuhkan, seperti Raspberry Pi Pico, Sensor LDR, Buzzer, resistor, dan LED
5. Hubungkan komponen - komponen menjadi rangkaian yang sesuai dengan kondisi
6. Buat codingan atau program phyton untuk menjalankan rangkaian tersebut
7. Lalu simulasikan rangkaian
8. Selesai
2. Hardware dan Diagram Blok[kembali]
a. Hardware
1) Raspberry Pi Pico
Raspberry Pi Pico terdiri dari 40 pin, dimana 26 pin GPIO, 10 pin PWM, SPI dan ADC. Dan beberapa pin untuk pin daya, ground dan reset. Untuk daya yang dianjurkan dalam penggunaannya adalah 3.3 Volt.
2) Sensor LDR
Sensor LDR (Light Dependent Resistor) adalah resistor yang nilai hambatannya berubah sesuai dengan intensitas cahaya yang dipancarkan kepadanya. Dengan kata lain, LDR berfungsi sebagai detektor cahaya atau pengukur besaran cahaya
3) Buzzer
4) Resistor
Resistor adalah komponen elektronik yang berfungsi untuk menghambat aliran arus listrik. Resistor merupakan komponen pasif yang digunakan dalam sirkuit elektronik. Fungsi Resistor Mengontrol besar arus listrik, Menurunkan tingkat tegangan, Membagi tegangan dan besaran arus yang masuk, Sebagai pengaman arus sehingga tidak terjadi lonjakan secara mendadak. Resistor di kondisi ini digunakan sebesar 220 ohm.
5) LED
LED adalah jenis dioda yang ketika di aliri aliran listrik akan menghailkan foton (cahaya). Kaki LED terdiri dari Anoda (+) dan Katoda (-). Bisa dilihat pada gambar yang kakinya pendek merupakan katoda dan yang bengko (lebih panjang) adalah anoda.
b. Blok Diagram
3. Rangkaian Simulasi dan Prinsip Kerja[kembali]
rangkaian sebelum di run :
Prinsip Kerja:
Pada rangkaian kondisinya yaitu, ketika lux yang terbaca dibawah atau sama 250 Lux maka LED dan Buzzer akan hidup, serta duty cycle 45%
LED dan buzzer sebagai indikator saat cahaya di sekitar LDR lebih gelap dari normal.
Untuk komponen ini dihubungkan ke Pin yang ada pada Raspberry Pi Pico, dimana untuk sensor LDR pada VCC-nya dihubungkan ke VCC 3,3 Volt pada Raspberry Pi Pico, untuk groundnya dihubungkan ke Pin GND3 pada Raspberry Pi Pico dan untuk PIN ADC-nya dihubungkan ke PIN GPIO 28 yang merupakan salah satu PIN ADC dari Raspberry Pi Pico. Sensor ini adalah sebagai input pada rangkaian ini. Selanjutnya untuk LED Katoda dihubungkan ke resistor 1k Ohm lalu dihubungkan ke PIN GPIO 6 dan untuk kaki Anodanya itu dihubungkan ke Pin GND5. Untuk Buzzer salah satu kaki itu dihubungkan ke Pin GND6 dan satu lagi dihubungkan ke PIN GPIO 15.
Lanjut untuk program yang kita gunakan adalah bahasa phyton. Lanjut kita melakukan Inisialisasi, yaitu mengatur pin-pin perangkat (LDR, LED, Buzzer). Mengatur buzzer supaya awalnya mati (duty_u16(0)). Lalu Membuat fungsi untuk konversi nilai ADC menjadi nilai Lux. Pada awal program, nilai pencahayaan saat ini (lux) disimpan sebagai lux_normar, dianggap kondisi "pencahayaan normal". Lalu untuk programnya kita buat untuk membaca nilai analog dari LDR (analog_value) dan menghitung Lux-nya (lux). Menampilkan nilai analog dan Lux ke terminal (monitoring/debugging).
Lanjut kita simulasikan untuk rangkainnya, ketika rangkaian ini disimulasikan bisa didapat yaitu ketika lux pada sensor LDR nya itu nilainya di atas 304 maka lux yang terbaca adalah besar dari 250, maka untuk bazar akan berbunyi dan LED akan menyala.
Jadi, untuk Rangkaian ini berfungsi untuk memantau tingkat pencahayaan di sekitar menggunakan sensor LDR yang dihubungkan ke Raspberry Pi Pico sebagai input. Sensor akan mengukur intensitas cahaya (dalam satuan lux) dan mengirimkan datanya ke mikrokontroler. Raspberry Pi Pico kemudian memproses data tersebut dan membandingkannya dengan batas ambang 250 lux.
4. Flowchart dan Listing Program [kembali]
Flowchart:
Listing Program:
from machine import Pin, PWM, ADC
import utime
# ---------------------------------------
# PINOUT SESUAI PERINTAH:
# LDR: VCC -> 3V3 Pico
# LDR: GND -> GND.4 Pico
# LDR: A0 -> GP28
# LED: GP6 -> Resistor -> LED -> GND
# Buzzer: GP15 -> Positif, GND6 -> Negatif
# ---------------------------------------
# Inisialisasi sensor dan aktuator
ldr = ADC(28) # LDR analog di GP28
led = Pin(6, Pin.OUT) # LED di GP6
buzzer = PWM(Pin(15)) # Buzzer di GP15
buzzer.freq(1000)
buzzer.duty_u16(0) # Buzzer dimatikan di awal
# Fungsi konversi ADC ke lux
def adc_to_lux(adc_value):
return (adc_value / 65535) * 900 + 10 # estimasi dari 10-1000 lux
# Kalibrasi nilai lux normal selama 2 detik
print("Kalibrasi lux normal...")
samples = []
start_time = utime.ticks_ms()
while utime.ticks_diff(utime.ticks_ms(), start_time) < 2000:
samples.append(adc_to_lux(ldr.read_u16()))
utime.sleep(0.05)
lux_normal = sum(samples) / len(samples)
print(f"Lux Normal: {lux_normal:.2f} Lux")
# Variabel status alarm
alarm_active = False
led_state = False
blink_start_time = 0
last_blink_toggle = 0
# Loop utama
while True:
analog_value = ldr.read_u16()
lux = adc_to_lux(analog_value)
print(f"Lux Sekarang: {lux:.2f} Lux")
if not alarm_active and lux > lux_normal + 75:
print(">>> Cahaya terlalu terang - Alarm Aktif <<<")
alarm_active = True
blink_start_time = utime.ticks_ms()
last_blink_toggle = blink_start_time
buzzer.duty_u16(int(0.45 * 65535)) # Duty cycle 45%
if alarm_active:
now = utime.ticks_ms()
# Kedip LED setiap 300ms
if utime.ticks_diff(now, last_blink_toggle) >= 300:
led_state = not led_state
led.value(led_state)
last_blink_toggle = now
# Setelah 4 detik, matikan alarm
if utime.ticks_diff(now, blink_start_time) >= 4000:
alarm_active = False
led.value(0)
buzzer.duty_u16(0)
print(">>> Alarm Selesai <<<")
utime.sleep(0.1)
Buatlah rangkaian seperti gambar pada percobaan 1, buatlah ketika LDR membaca Lebih terang dari normal sebesar 250 LUX Led merah hidup berkedip selama 4 detik dan Duty Cycle Buzzer 45%
Rangkaian tekan disini
Datasheet Raspberry Pi Pico [tekan disini]
Datasheet LED [tekan disni]
Datasheet Resistor [tekan disini]
Komentar
Posting Komentar