M4 - Project

 

Modul 4:Demo Project

Sortir Bahan Bangunan Otomatis Berbasis Conveyor




1. Tujuan Perancangan [Kembali]
    1. Untuk mengetahui pemakaian  mikrokontroler pada prototype yang dibuat 
    2. Untuk menghasilkan alat yang dapat bekerja secara otomatis berbasis  mikrokontroler


2. Komponen [Kembali]
  A. Alat
1. Lem Tembak
2. Sorder
3. Stapler
4. Gerinda

B. Bahan
1. Raspbery Pi Pico



   
2.Proximity Sensor


3.Load Cell


4.IR sensor



5.Volatge Regulator

6.Motor Servo 180

7.Motor Servo 360

8.Modul HX711
9.PCB


10. Breadboard


    11. Kabel USB


    12. kabel jumper

    
    13.LCD


    14. Motor Driver



    15. baterai

16.Triplek



   17.Karton 


    18.Double Tape, Lakban, dan Selotip Kertas






19.Belt (Conveyor)
20.Paku
21.Ring/Sekrup

22. Motor DC
23. Kardus

24. Adaptor

25. Batrai Holder
26. Timah


27. Stick
28. Resistor


3. Dasar Teori [Kembali]

1.     PWM (Pulse Width Modulation)

            PWM (Pulse Width Modulation) adalah salah satu teknik modulasi dengan mengubah lebar pulsa (duty cylce) dengan nilai amplitudo dan frekuensi yang tetap. Satu siklus pulsa merupakan kondisi high kemudian berada di zona transisi ke kondisi low. Lebar pulsa PWM berbanding lurus dengan amplitudo sinyal asli yang belum termodulasi. Duty Cycle adalah perbandingan antara waktu ON (lebar pulsa High) dengan perioda. Duty Cycle biasanya dinyatakan dalam bentuk persen (%).




·       Duty Cycle = tON / ttotal

·       tON = Waktu ON atau Waktu dimana tegangan keluaran berada pada posisi tinggi (high atau 1)

·       tOFF = Waktu OFF atau Waktu dimana tegangan keluaran berada pada posisi rendah (low atau 0)

·       ttotal = Waktu satu siklus atau penjumlahan antara tON dengan tOFF atau disebut juga dengan “periode satu gelombang”

            

2.     ADC (Analog to Digital Converter)

          ADC atau Analog to Digital Converter merupakan salah satu fitur penting dalam sistem mikrokontroler yang berfungsi sebagai penghubung antara sinyal analog dan pemrosesan digital. Fitur ini memungkinkan Raspberry Pi Pico untuk membaca sinyal analog, kemudian mengubahnya menjadi data digital agar dapat diproses oleh sistem.

Fungsi utama ADC adalah mengubah tegangan analog menjadi nilai digital, sehingga data dari sensor seperti potensiometer, sensor suhu, atau cahaya bisa digunakan oleh mikrokontroler.

3.     Mikrokontroler

            Raspberry Pi Pico adalah board mikrokontroler berbasis chip RP2040 buatan Raspberry Pi Foundation (lihat datasheet RP2040). Board ini memiliki 26 pin input/output digital multifungsi, di mana beberapa pin dapat digunakan sebagai PWM output, serta 3 kanal input analog (ADC), osilator internal 12 MHz yang dikalikan dengan PLL untuk mencapai frekuensi kerja hingga 133 MHz, koneksi Micro-USB, pin VSYS untuk catu daya, header SWD (Serial Wire Debug) untuk pemrograman dan debugging, serta tombol BOOTSEL yang berfungsi untuk memasukkan board ke mode pemrograman.

Untuk menggunakan mikrokontroler ini, cukup hubungkan Raspberry Pi Pico ke komputer menggunakan kabel Micro-USB. Setelah itu, board dapat diprogram menggunakan MicroPython atau C/C++ SDK. Pico juga dapat dijalankan menggunakan catu daya eksternal melalui pin VSYS yang mendukung tegangan 1.8V hingga 5.5V, misalnya dari adaptor DC atau baterai. Raspberry Pi Pico akan otomatis menjalankan program yang telah diunggah saat dinyalakan.



           


 Setiap 14 pin digital pada arduino uno dapat digunakan sebagai input dan output, menggunakan fungsi pinMode(), digitalWrite(), dan digitalRead(). Fungsi – fungsi tersebut beroperasi di tegangan 5 volt. Setiap pin dapat memberikan atau menerima suatu arus maksimum 40 mA dan mempunyai sebuah resistor pull-up (terputus secara default) 20-50 kOhm.

 

4.     Komunikasi

4.1.  Universal Asynchronous Receiver Transmitter (UART)

            UART (Universal Asynchronous Receiver-Transmitter) adalah bagian perangkat keras komputer yang menerjemahkan antara bit-bit paralel data dan bit-bit serial. UART biasanya berupa sirkuit terintegrasi yang digunakan untuk komunikasi serial pada komputer atau port serial perangkat periperal.






Cara Kerja Komunikasi UART :

  1. UART (Universal Asynchronous Receiver/Transmitter) adalah metode komunikasi serial asinkron yang mengirim data bit demi bit tanpa sinyal clock bersama.

  2. Komunikasi terjadi antara dua perangkat dengan menghubungkan:

    • TX (Transmit) satu perangkat ke RX (Receive) perangkat lain.

  3. Data dikirim dalam frame yang terdiri dari:

    • Start bit (LOW) → menandai awal data

    • Data bit (5–8 bit, biasanya 8 bit)

    • (Optional) Parity bit → deteksi error ringan

    • Stop bit (HIGH) → menandai akhir data

  4. Kedua perangkat harus menggunakan baud rate yang sama agar bit-bit terbaca dengan benar.

  5. Penerima akan membaca data sesuai waktu bit berdasarkan baud rate dan menyusun ulang byte aslinya.

   

                                  


 5. Resistor

Resistor adalah komponen dasar elektronika yang selalu digunakan dalam setiap rangkaian elektronika karena bisa berfungsi sebagai pengatur atau untuk membatasi jumlah arus yang mengalir dalam suatu rangkaian. Dengan resistor, arus listrik dapat didistribusikan sesuai dengan kebutuhan. Sesuai dengan namanya resistor bersifat resistif dan umumnya terbuat dari bahan karbon. Satuan resistansi dari suatu resistor disebut Ohm atau dilambangkan dengan simbol Ω (Omega).
Simbol Resistor :


Cara menghitung nilai resistor : 
a. Membaca Kode Warna Resistor 
b. Membaca Resistor SMD 
c. Menggunakan Multimeter Analog/Digital 

   4 Gelang Warna

Masukkan angka langsung dari kode warna Gelang ke-1 (pertama)
Masukkan angka langsung dari kode warna Gelang ke-2
Masukkan Jumlah nol dari kode warna Gelang ke-3 atau pangkatkan angka tersebut dengan 10 (10n)
Merupakan Toleransi dari nilai Resistor tersebut

Contoh :

Gelang ke 1 : Coklat = 1
Gelang ke 2 : Hitam = 0
Gelang ke 3 : Hijau = 5 nol dibelakang angka gelang ke-2; atau kalikan 105
Gelang ke 4 : Perak = Toleransi 10%
Maka nilai Resistor tersebut adalah 10 * 105 = 1.000.000 Ohm atau 1 MOhm dengan toleransi 10%.

 5 Gelang Warna

Masukkan angka langsung dari kode warna Gelang ke-1 (pertama)
Masukkan angka langsung dari kode warna Gelang ke-2
Masukkan angka langsung dari kode warna Gelang ke-3
Masukkan Jumlah nol dari kode warna Gelang ke-4 atau pangkatkan angka tersebut dengan 10 (10n)
Merupakan Toleransi dari nilai Resistor tersebut

Contoh :

Gelang ke 1 : Coklat = 1
Gelang ke 2 : Hitam = 0
Gelang ke 3 : Hijau = 5
Gelang ke 4 : Hijau = 5 nol dibelakang angka gelang ke-2; atau kalikan 105
Gelang ke 5 : Perak = Toleransi 10%
Maka nilai Resistor tersebut adalah 105 * 105 = 10.500.000 Ohm atau 10,5 MOhm dengan toleransi 10%.


Rumus :


         -Jika rangkaian seri, maka :



        -Jika rangkaian paralel, maka :

    6. Transistor NPN

        Transistor adalah komponen semikonduktor yang memiliki berbagai macam fungsi seperti sebagai penguat, pengendali, penyearah, osilator, modulator dan lain sebagainya. Transistor merupakan salah satu komponen semikonduktor yang paling banyak ditemukan dalam rangkaian-rangkaian elektronika. 
Gambar Gelombang  Input/Output

 7. Sensor Load Cell
        Load Cell adalah alat electromekanik yang biasa disebut Transducer, yaitu gaya yang bekerja berdasarkan prinsip deformasi sebuah material akibat adanya tegangan mekanis yang bekerja, kemudian merubah gaya mekanik menjadi sinyal listrik. 
Simbol load cell di proteus:

Load cell adalah sebuah sensor yang digunakan untuk mengukur gaya atau beban yang bekerja pada suatu objek. Sensor ini umumnya digunakan dalam berbagai aplikasi industri, seperti alat pengukur berat, peralatan pengujian material, alat timbangan, dan sebagainya. Cara kerja load cell didasarkan pada perubahan resistansi material khusus yang dipengaruhi oleh tekanan atau gaya yang diterapkan.

Ada beberapa jenis load cell, tetapi yang paling umum adalah strain gauge load cell. Strain gauge load cell terdiri dari satu atau beberapa strain gauge yang ditempatkan di dalam tubuh load cell. Strain gauge adalah sensor resistansi yang mengubah perubahan tekanan atau gaya menjadi perubahan resistansi. Ketika gaya diterapkan pada load cell, ia menyebabkan deformasi pada material strain gauge, yang kemudian mengubah resistansinya.

Berikut adalah langkah-langkah umum dalam cara kerja load cell menggunakan strain gauge:

1). Gaya diterapkan pada load cell: Gaya atau beban yang ingin diukur diterapkan pada load cell melalui elemen penghubung, seperti pelat, kait, atau celah yang terdapat pada load cell.

2). Deformasi pada strain gauge: Ketika gaya diterapkan pada load cell, material strain gauge mengalami deformasi atau perubahan bentuk. Deformasi ini menyebabkan perubahan panjang atau luas strain gauge, yang pada gilirannya mengubah resistansinya.

3). Perubahan resistansi: Strain gauge biasanya terbuat dari material yang mempunyai sifat resistansi yang berubah sesuai dengan perubahan panjang atau luasnya. Ketika load cell mengalami deformasi, resistansi strain gauge juga berubah.

4). Pengukuran resistansi: Perubahan resistansi strain gauge kemudian diukur menggunakan jembatan Wheatstone atau rangkaian elektronik serupa. Jembatan Wheatstone adalah rangkaian yang terdiri dari empat resistansi, termasuk strain gauge, yang diatur sedemikian rupa sehingga perubahan resistansi strain gauge dapat diukur sebagai perubahan tegangan output.

5). Konversi tegangan menjadi satuan pengukuran: Tegangan output dari jembatan Wheatstone kemudian dikonversi menjadi satuan pengukuran yang sesuai dengan aplikasi tertentu. Hal ini biasanya melibatkan penggunaan amplifier atau konverter sinyal untuk mengubah tegangan menjadi satuan seperti kilogram, pound, Newton, atau satuan lainnya.


Dalam beberapa aplikasi yang lebih kompleks, load cell juga dapat dilengkapi dengan perangkat elektronik tambahan, seperti penguat sinyal, pengolah data, atau komunikasi dengan sistem lain.

Itulah gambaran umum tentang cara kerja load cell menggunakan strain gauge. Dengan mengukur perubahan resistansi pada strain gauge, load cell mampu mengonversi gaya atau beban yang diterapkan menjadi sinyal listrik yang dapat diukur dan digunakan untuk berbagai aplikasi.

 
    Respon sensor


    8. Motor
        DC Motor adalah suatu perangkat yang mengubah energi listrik menjadi energi kinetik atau gerakan (motion). Motor DC ini juga dapat disebut sebagai Motor Arus Searah. Seperti namanya, DC Motor memiliki dua terminal dan memerlukan tegangan arus searah atau DC (Direct Current) untuk dapat menggerakannya. 
Simbol DC Motor :

Pin out :


Cara Kerja DC Motor : Pada prinsipnya motor listrik DC menggunakan fenomena elektromagnet untuk bergerak, ketika arus listrik diberikan ke kumparan, permukaan kumparan yang bersifat utara akan bergerak menghadap ke magnet yang berkutub selatan dan kumparan yang bersifat selatan akan bergerak menghadap ke utara magnet. Saat ini, karena kutub utara kumparan bertemu dengan kutub selatan magnet ataupun kutub selatan kumparan bertemu dengan kutub utara magnet maka akan terjadi saling tarik menarik yang menyebabkan pergerakan kumparan berhenti.


13. Battery


        Baterai (Battery) adalah sebuah alat yang dapat merubah energi kimia yang disimpannya menjadi energi Listrik yang dapat digunakan oleh suatu perangkat Elektronik. Hampir semua perangkat elektronik yang portabel seperti Handphone, Laptop, Senter, ataupun Remote Control menggunakan Baterai sebagai sumber listriknya. Dengan adanya Baterai, kita tidak perlu menyambungkan kabel listrik untuk dapat mengaktifkan perangkat elektronik kita sehingga dapat dengan mudah dibawa kemana-mana. Dalam kehidupan kita sehari-hari, kita dapat menemui dua jenis Baterai yaitu Baterai yang hanya dapat dipakai sekali saja (Single Use) dan Baterai yang dapat di isi ulang (Rechargeable).


        Baterai dalam sistem PV mengalami berulang kali siklus pengisian dan pengosongan selama umur pakainya. Siklus hidup (cycle life) baterai adalah banyaknya pengisian dan pengosongan hingga kapasitas baterai turun (melemah) dan tersisa 80% dari kapasitas nominalnya. Pabrik baterai biasanya mencantumkan siklus hidup pada spesifikasi teknis baterai. Mencantumkan satu nilai siklus hidup (cycle life) sebenarnya terlalu menyederhanakan informasi, karena siklus hidup baterai juga tergantung pada suhu baterai.

        Dari grafik di atas, terlihat pada suhu operasional baterai yang lebih rendah, siklus hidup baterai lebih lama. Siklus hidup baterai juga tergantung dari DoD, artinya baterai yang dikosongkan hanya 50% dari kapasitasnya, berumur lebih lama jika dikosongkan hingga 80%, namun membuat sistem menjadi lebih mahal, karena membutuhkan kapasitas baterai lebih besar untuk mengakomodasi kebutuhan yang sama.

battery capacity vs temperature

    Jika pada suhu operasional lebih rendah, umur baterai lebih lama,  namun ada efek negatif berkaitan dengan kapasitas baterai. Pada suhu  yang lebih rendah, kapasitas baterai menjadi lebih rendah. Hal ini disebabkan karena pada suhu yang lebih tinggi, reaksi kimia yang terjadi pada baterai bergerak lebih aktif/cepat, sehingga kapasitas baterai cenderung lebih tinggi.

    Terkadang, pada suhu yang lebih tinggi, kapasitas baterai justru dapat lebih besar dari angka nominalnya, meskipun pada suhu tinggi, elemen baterai terlalu aktif, juga berakibat buruk pada kesehatan baterai.


4. Listing Program [Kembali]

from machine import Pin, PWM, UART, I2C
from time import sleep
from hx711 import HX711
from lcd_api import LcdApi
from i2c_lcd import I2cLcd
import time

# ========== Bagian UART dan Servo Deteksi Logam ==========
# Inisialisasi UART0 (RX di GP1)
uart = UART(0, baudrate=9600, tx=Pin(0), rx=Pin(1))

# Inisialisasi Servo 180° pada pin GP16
servo_logam = PWM(Pin(16))
servo_logam.freq(50)  # Frekuensi standar servo

# Fungsi untuk mengatur sudut servo
def set_servo_angle(angle):
    min_duty = 1638   # 0 derajat (~2.5% duty)
    max_duty = 8192   # 180 derajat (~12.5% duty)
    duty = int(min_duty + (angle / 180) * (max_duty - min_duty))
    servo_logam.duty_u16(duty)

# Fungsi untuk memutar servo secara perlahan
def move_servo_slowly(target_angle):
    global current_angle
    step = 1 if target_angle > current_angle else -1
    for angle in range(current_angle, target_angle + step, step):
        set_servo_angle(angle)
        time.sleep(0.01)
    current_angle = target_angle

# Status awal servo logam
current_angle = 0
set_servo_angle(current_angle)

# ========== Bagian Timbangan dan LCD ==========
# Inisialisasi HX711
HX711_dout = Pin(5, Pin.IN, pull=Pin.PULL_DOWN)
HX711_sck = Pin(6, Pin.OUT)
LoadCell = HX711(HX711_dout, HX711_sck)

print("Memulai koneksi ke HX711...")
LoadCell.set_scale(1.0)
LoadCell.tare()
sleep(2)

# Inisialisasi LCD I2C (SDA = GP2, SCL = GP3)
i2c = I2C(1, scl=Pin(3), sda=Pin(2), freq=400000)
lcd = I2cLcd(i2c, 0x27, 2, 16)

lcd.clear()
lcd.putstr("Timbangan Aktif")
sleep(2)
lcd.clear()

# ========== Loop Utama ==========
try:
    while True:
        # === Bagian UART dan Servo Deteksi Logam ===
        if uart.any():
            data = uart.read(1)
            if data == b'1':  # Logam terdeteksi
                if current_angle != 180:
                    print("Logam terdeteksi - Menunggu 2 detik...")
                    time.sleep(0.12)
                    print("Servo ke 180°")
                    move_servo_slowly(180)
                    print("Kembali ke posisi awal (0°)")
                    time.sleep(0)
                    move_servo_slowly(0)

        # === Bagian Timbangan (Tanpa Servo 360°) ===
        LoadCell.power_up()
        weight = LoadCell.get_units(1)

        if weight < 0:
            weight = 0

        print("Berat:", weight, "gram")
        lcd.clear()
        lcd.putstr("Berat: {:.2f} g".format(weight))

        sleep(2)
        time.sleep(0.1)  # Delay untuk UART

except KeyboardInterrupt:
    print("⛔ Program dihentikan")
    lcd.clear()
    lcd.putstr("Program Stop")


5. Flowchart [Kembali]









6. Rangkaian Simulasi [Kembali]



7. Vidio [Kembali]

8. Analisis [Kembali]

   Rangkaian ini merupakan sistem sortir otomatis berbasis dua Raspberry Pi Pico yang digunakan untuk mendeteksi dan memisahkan benda logam dan non-logam di atas konveyor. Dua buah sensor PIR digunakan, di mana sensor PIR pertama berperan sebagai sensor IR untuk mendeteksi keberadaan benda di atas konveyor, dan sensor PIR kedua berperan sebagai sensor metal (proximity) untuk mendeteksi apakah benda tersebut mengandung logam.

Saat benda terdeteksi oleh sensor IR, Raspberry Pi Pico (sebagai slave) membaca data dari sensor metal. Jika benda adalah logam, motor servo akan aktif untuk menyortir benda tersebut ke jalur logam, sedangkan jika bukan logam, benda akan terus berjalan di jalur utama. Pico slave juga mengirimkan data status benda ke Pico master melalui komunikasi UART. Pico master kemudian menampilkan informasi tersebut pada LCD 16x2 dan mengontrol pergerakan motor konveyor menggunakan driver motor L298N. Sistem ini juga dilengkapi dengan modul load cell untuk menimbang berat benda sebagai fitur tambahan.

9. Kesimpulan [Kembali]
    Proyek ini berhasil merancang dan mengimplementasikan sistem sortir otomatis berbasis Raspberry Pi Pico untuk mendeteksi dan memisahkan benda logam dan non-logam secara efisien. Dengan memanfaatkan sensor IR sebagai pendeteksi keberadaan benda dan sensor proximity sebagai pendeteksi logam, sistem mampu mengambil keputusan secara otomatis dengan bantuan dua Raspberry Pi Pico yang saling berkomunikasi melalui UART. Informasi status ditampilkan pada LCD, dan pengendalian mekanik dilakukan oleh motor servo serta driver motor L298N. Fitur tambahan seperti load cell digunakan untuk menimbang berat benda sebagai data pendukung. Sistem ini membuktikan bahwa mikrokontroler sederhana seperti Raspberry Pi Pico mampu digunakan dalam aplikasi otomasi industri skala kecil dengan hasil yang akurat dan responsif.

10. Link Download [Kembali]
DataShett RaspBery Pi Pico Klik Disini
DataShett Motor DC Klik Disini
DataShett Motor Servo Klik Disini
DataShett L298N Klik Disini
DataShett Sensor Proximity Klik Disini
DataShett Sensor Load Cell Klik Disini
DataShett IR Sensor Klik Disini
DataShett LCD Klik Disini
DataShett HX711 Klik Disini
DataShett XL4015 Klik Disini

Komentar

Popular Posts