29 Jun 2021

Membuat Self Balancing Robot Dikontrol via Wifi Berbasis ESP32



Halo agan-agan sekalian, apa tahu yang namanya Self balancing Robot, itu tuh robot mainan yang ada rodanya dua kiri kanan tapi anehnya robot ini bisa berdiri seimbang tanpa harus jatuh. Kenapa bisa seimbahnya dikarenakan pada rangkaian robot tersebut terdapat sensor accelerometer dan gyro yang bisa bikin motor bergerak maju mundur seimbang tanpa terjatuh.

Ikutin tutorial ini nanti agan bakal ditunjukin alat-alat dan komponen apa saja yang diperlukan serta bagaimana cara membuatnya.

Jika agan ingin membuat PCB dan sedang mencari jasa cetak PCB, bisa langsung order saja ke PCBWAY.COM, harganya lebih murah $5 bisa mendapatkan papan PCB 10 keping dengan kualitas PCB yang sangat bagus.

Gambar Rangkaian

Daftar Komponen:

  • 1 x PCB ESP32 Balancing Robot Shield
  • 1 x ESP32 DEVKIT V1 board
  • 2 x Stepper Motor Driver A4988
  • 1 x 3 axis Acc. and Gyro sensor MPU6050
  • 2 x Stepper Motor Nema17
  • 1 x Servo Motor MG90S
  • 1 x LED 3mm
  • 2 x LED 3mm White Super Bright
  • 1 x Active BUzzer
  • 2 x V-Regulator 5V AMS1117 (SMD)
  • 1 x Resistor 1K Ohm
  • 1 x Capacitor 0.1uF
  • 1 x Capacitor 100uF/16V
  • 2 x Capacitor 220uF/16V
  • 1 x Rocker Switch Dia. 20mm
  • 2 x Rechargeable Battery Li-ion 18650 3,7V
  • 1 x Battery Holder 2x 18650
  • 1 x Micro USB Cable
  • 1 x OTG Adapter
  • 1 x Terminal Screw 2 pin 5mm
  • 2 x Female Header 15 pin
  • 5 x Female Header 8 pin
  • 2 x Female Header 4 pin
  • 1 x Male Header 2 pin
  • 1 x Male Header 3 pin
  • 1 x Jumper cap
  • 1 x Set screw 5mm
  • 1 x Set M3 set screw 10mm
  • 2 x O-ring 3mm ID 82mm
  • 1 x Set 3D Printed Parts

  • Order PCB (PCBWAY)

    Untuk membuat proyek ini kamu perlu memesan prototipe PCB di PCBWAY. Cara pemesanannya sangat mudah, kamu akan mendapatkan 10 keping PCB seharga $5 dengan kualitas PCB yang sangat bagus.

    Langkah-langkah order:

    1. SignUp/Log in di pcbway.com

    2. Buka tautan proyek PCB ini.

    3. Klik Tambahkan ke troli.

    4. Tunggu sebentar untuk review PCB, lalu Klik Check Out.

    Menyolder Komponen SMD

    Proyek kali ini memiliki dua komponen SMD, jangan khawatir komponen ini tidak terlalu sulit untuk disolder karena ukurannya cukup besar, agan hanya membutuhkan pinset sebagai alat bantu untuk menahan komponen saat disolder. Langkah pertama beri lapisan timah pada tembaga PCB untuk tempat kaki komponen SMD.
    Kemudian ditahan menggunakan pinset lalu di panaskan kembali timah hingga menempel dengan kaki komponen SMD.

    Memasang Komponen

    Pasang semua komponen pada PCB mengikuti gambar/simbol komponen yang ada pada bagian atas PCB, untuk lebih jelasnya dapat mengikuti step by step pada video youtube.

    Menyolder Komponen

    Solder semua kaki komponen pada bagian bawah PCB, untuk lebih jelasnya dapat mengikuti step by step pada video youtube.

    Kemudian potong kaki komponen yang panjang menggunakan tang pemotong, hati-hati ketika memotong pastikan memakai kacamata safety.

    Memasang Modul

    Pasang board ESP32, modul sensor MPU6050 dan modul Driver Stepper Motor A4988 ke soket female header yang tersedia seperti terlihat pada gambar, ketika memasang perhatikan arah dan nama pin jangan sampai terbalik.

    Part 3D Printer

    Cetak semua part 3D robot Balancing, file 3D nya bisa agan download dari sini thingiverse.com/thing:2306541

    Daftar nama part 3D yang harus dicetak:

  • 2 x Wheels
  • 2 x Hub Arm
  • 2 x Side Panel
  • 1 x Top Shelf
  • 1 x Motor Shelf
  • 1 x Electronics Shelf
  • 2x Bumpers
  • Memasang Part 3D

    Masukkan ke empat mur M3 di setiap lubang ditepi part 3D Electronic Shelf.

    Pasangkan part 3D Side panel di kedua sisinya lalu dikencangkan dengan baud M3.

    Memasang Stepper Motor

    Pasang kedua stepper motor Nema17 ke part 3D Motor Shelf seperti terlihan pada gambar kemudian kencangkan dengan baud M3.

    Menggabungkan Part 3D

    Pasang bagian Motor Shelf dengan Electronic Shelf seperti terlihat pada gambar kemudian kencangkan dengan baud M3.

    Memasang ESP32 Balancing Robot Shield Ke Body

    Sebelum memasangkan ESP32 Balancing Robot Shield letakkan pengikat baterai dibawahnya seperti yang ditunjukkan pada gambar.

    Pasang ESP32 Balancing Robot Shield lalu dikencangkan menggunakan skrup.

    Memasang ESP32 Balancing Robot Shield Ke Body

    Solder kabel jumper dupont ke kaki sakelar rocker.

    Masukkan sakelar rocker ke lubang dari part 3D Side Panel sebelah.

    Hubungkan konektor dupont jumper ke pin pada ESP32 Balancing Robot Shield.

    Memasang Motor Servo

    Pasangkan motor servo MG90 ke dudukan lubang part 3D Side Panel sebelah kiri seperti yang ditunjukkan gambar, kemudian kencangkan dengan mur+baud M2.

    Hubungkan konektor dari motor servo ke pin soket pada ESP32 Balancing Robot Shield, perhatikan pemasangannya jangan sampai terbalik.

    Hubungkan juga kedua konektor dari motor stepper ke soket yang sudah terseida seperti ditunjukkan pada gambar.

    Memasang Baterai

    Hubungkan dan kabel dari dudukan baterai ke terminal sekrup pada pada ESP32 Balancing Robot Shield, kabel merah ke terminal VM dan kabel hitam ke terminal GND.

    Pasang kedua baterai 18650 ke dudukan baterai.

    Masukkan tempat baterai tadi di sela antara bawah part 3D Electronic Shelf dan atas motor stepper, kemudian ikat dengan pengikat baterai.

    Memasang Part 3D Penutup

    Masukkan ke empat mur M3 di setiap lubang ditepi part 3D Top Shelf. Pasang diatas part 3D Side Panel kemudian kencangkan dengan baud M3.

    Memasang Part 3D Bumper

    Terdapat dua part 3D bumper untuk dipasang pada bagian depan dan belakang part 3D Side Panel dan dikencangkan menggunakan sekrup.

    Memasang Part 3D Arm

    Sebelum memasang part 3D Arm, terlebih dahulu putar poros motor servo ke posisi tengah atau setengah putaran (90 derajat), lalu pasangkan part 3D Arm tegak lurus ke atas kemudian kencangkan dengan sekrup bawaan dari servo motor.

    Memasang Part 3D Wheel

    Gabungkan part 3D Wheel dengan part 3D HUB, kemudian pasangkan O-ring pada roda. Setelah itu pasangkan roda tadi keporos masing-masing motor stepper.

    Mengisi Program ke ESP32 Board

    Untuk membuat WiFi Self balancing Robot berfungsi dan dapat dikendalikan oleh smartphone Android, agan harus memprogram ESP32 terlebih dahulu. Caranya cukup mudah hanya cukup menggunakan smartphone Android tidak memerlukan lagi Laptop/PC, ikuti langkah berikut:

    - Install aplikasi ESP32 WiFi Balancing Robot dari Google Playstore.

    - Hubungkan antara smartphone Android dengan ESP32 Motor Shield menggunakan kabel USB dan USB OTG adapter. (pastikan HP agan support USB OTG)

    - Buka aplikasi ESP32 Wifi Balancing Robot, pada menu bar atas tekan icon Circuit diagram & Code. Kemudian setelah terbuka tampilan gambar rangkaian dan kode pada menu bar atasnya tekan ikon setting (gear), buka pilihan Upload Firmware Via lalu pilih USB OTG, jika ingin menghubungkan Robot ke sebuah router jaringan rumah agan bisa set SSID name & Password. Setelah selesai konfigurasi langkah selanjutnya tekan ikon UPLOAD, dan tunggu sampai proses uploadnya selesai. Terakhir tekan tombol reset untuk menjalankan program.

    Selain mengisi program melalui smartphone Android, agan dapat juga memprogram ESP32 melalui komputer menggunakan software Arduino IDE, download full source code nya disini:

    Catatan: Software Arduino IDE agan harus sudah disetting untuk dapat digunakan untuk memprogram ESP32 sebelumnya.

    Mainkan Balancing Robot

    Balancing Robot dapat dikontrol melalui smartphone Android dengan dua cara, dikontrol langsung antara smartphone Android ke ESP32 (mode AP), dengan cara hubungkan smartphone Android ke SSID Wifi dari ESP32 kemudian atur alamat IP pada aplikasi menjadi 192.168.4.1.

    Cara kedua adalah ESP32 (mode STA), dimana smartphone Android terhubung ke jaringan Wifi router yang sama kemudian atur alamat IP pada aplikasi sesuai dengan alamat IP yang dimiliki oleh ESP32 (contoh:192.168.0.2).

    Belajar Dasar Pemograman Pi Pico Menggunakan Pi Pico Starter Shield

    Hi agan-agan sekalian, sekarang mari kita cobain produk mikrokontroler pendatang baru ditahun 2021 dari Raspberry Pi berupa mikrokontroler RP2040 yang cukup powerful, chip RP2040 dirancang oleh Raspberry Pi dilengkapi beberapa fitur yaitu menggunakan prosesor Arm Cortex-M0+ dual-core dengan RAM internal 264KB dan dukungan Flash off-chip hingga 16MB. Berbagai pilihan I/O fleksibel termasuk I2C, SPI, Programmable I/O (PIO). Selain chip RP2040 Raspberry Pi mengeluarkan produk yang sudah menjadi sitem minimum mikrokontroler yang dinamai Pi pico Board, cocok untuk agan-agan ingin mulai mencoba atau membuat project mikrokontrolernya menggunakan chip RP2040.

    Biar lebih mudah lagi dalam bereksperimen dengan Pi Pico kali ini Bluino mau nunjukin cara membuat shield unutk Pi Pico board ini, Ikutin tutorial ini nanti agan bakal ditunjukin alat-alat dan komponen apa saja yang diperlukan serta bagaimana cara membuatnya.

    Jika agan ingin membuat PCB dan sedang mencari jasa cetak PCB, bisa langsung order saja ke PCBWAY.COM, harganya lebih murah $5 bisa mendapatkan papan PCB 10 keping dengan kualitas PCB yang sangat bagus.

    Rangkaian:

    Daftar Komponen:

  • 1 x PCB ESP32 IoT Starter Kit (PCBWay)
  • 1 x PCB Pi Pico Starter Kit (PCBWay)
  • 1 x Raspberry Pi Pico board
  • 1 x I2C Character LCD 16x2
  • 1 x Motion sensor PIR AM312
  • 1 x LDR (Photoresistor)
  • 3 x LED 5mm (Red, Green, Yellow)
  • 1 x RGB LED 8mm WS2812
  • 1 x Active BUzzer
  • 2 x Tact Switch 6x6mm
  • 1 x Potentiometer 10K Ohm
  • 3 x Resistor 330 Ohm
  • 1 x Resistor 10K Ohm
  • 4 x M3 10mm Set Spacer Screw
  • 2 x Female Header 20 pin
  • 1 x Male Header 4x20pin, pin, 4x3pin & 5pin
  • 1 x Double Male Header 2 pin
  • 1 x Slide Switch
  • 2 x Jumper cap

  • Order PCB (PCBWAY)

    Untuk membuat proyek ini kamu perlu memesan prototipe PCB di PCBWAY. Cara pemesanannya sangat mudah, kamu akan mendapatkan 10 keping PCB seharga $5 dengan kualitas PCB yang sangat bagus.

    Langkah-langkah order:

    1. SignUp/Log in di pcbway.com

    2. Buka tautan proyek PCB ini.

    3. Klik Tambahkan ke troli.

    4. Tunggu sebentar untuk review PCB, lalu Klik Check Out.

    Memasang Komponen

    Pasang semua komponen pada PCB mengikuti gambar/simbol komponen yang ada pada bagian atas PCB, untuk lebih jelasnya dapat mengikuti step by step pada video youtube.

    Menyolder Komponen

    Solder semua kaki komponen pada bagian bawah PCB, untuk lebih jelasnya dapat mengikuti step by step pada video youtube.

    Kemudian potong kaki komponen yang panjang menggunakan tang pemotong, hati-hati ketika memotong pastikan memakai kacamata safety.

    Pasang dan Solder Modul LCD 1602 I2C

    Tekuk 4 kaki pada modul I2C sehingga menjadi lurus.

    Kemudian pasang spacer 10mm pada ke empat lubang PCB.

    Pasang LCD yang sudah ada spacernya ke PCB shield, pastikan semua pin modul I2C sudah masuk pada lubang PCB shield.

    Lalu solder kaki modul I2C pada bagian belakang PCB.

    Setelah itu kencangkan keempat spacer tadi dengan mur.

    Menyolder Pin Header Pi Pico

    Pasang male header 20 pin pada ke dua sisi papan Pi Pico kemudian solder.

    Pasang Pi Pico Board

    Pasangkan Pi Pico board tersebut pada socket female yang sudah tersedia 2 x 20pin.

    Pemograman Menggunakan Thonny IDE

    Sebelum agan dapat mulai memprogram Pico dengan bahasa pemograman MicroPython, harus menginstal dulu software Thonny IDE, merupakan sebuah IDE populer digunakan untuk pemograman berbasis Python dan MicroPython. Terdapat Raspberry Pi OS, Linux, Windows, atau macOS, untuk medapatkatnya bisa download di thonny.org secara gratis.

    Mulai Latihan dengan Pi Pico

    Selanjutnya, agan dapat mencoba semua tutorial yang ada pada buku panduan resmi dari website Raspberry mulai dari pengenalan hingga membuat sebuah project, download disini.