Wi-Servo: Kendalikan Servo melalui Wi-Fi dengan Browser Web
Komponen dan Perlengkapan
Arduino UNO
×
1
Espressif ESP8266 ESP-01
×
1
Arduino Proto Shield
×
1
Motor servo mikro SG90
×
1
Kabel jumper (umum)
×
1
Aplikasi dan Layanan Online
Arduino IDE
Tentang Proyek Ini
Proyek ini menunjukkan cara mengontrol beberapa servo motor secara jarak jauh dalam jaringan Wi-Fi, menggunakan browser internet biasa (Firefox, misalnya). Ini dapat digunakan dalam beberapa aplikasi: mainan, robot, drone, kamera pan/tilt, dll.
Motor dipasang pada Arduino Uno, yang terhubung ke jaringan Wi-Fi melalui modul ESP-8266. Antarmuka kontrol dirancang dengan HTML dan jQuery.
Tutorial Miguel (https://allaboutee.com/2015/01/02/esp8266-arduino-led-control-from-webpage/), yang menunjukkan cara menyalakan/mematikan LED menggunakan ESP-8266, berfungsi sebagai inspirasi untuk postingan ini.
Teknik yang ditampilkan di sini digunakan dalam salah satu proyek saya: "Robô da Alegria". Anda dapat menemukan lebih banyak tentang ini di salah satu tautan berikut:
Untuk proyek ini Anda akan membutuhkan komponen berikut:
Arduino Uno (beli)
ESP8266 (beli)
Protoshield (untuk versi yang lebih kompak) atau breadboard biasa (beli)
Resistor 10 kohm (x3)
Beberapa kabel jumper
Servomotor SG90 (x2) (beli)
Komputer (untuk mengkompil dan mengunggah kode Arduino)
SG90Servo.pdf
Anda tidak memerlukan alat spesifik untuk perakitan proyek ini. Semua komponen dapat ditemukan online di toko e-commerce favorit Anda. Sirkuit didayai oleh port USB (terhubung ke komputer atau charger telepon biasa), tetapi Anda juga dapat menambahkan sumber daya DC eksternal atau baterai terhubung ke jack daya Arduino.
Langkah 2: Perakitan
Hubungkan semua komponen sesuai skema. Anda akan membutuhkan beberapa kabel jumper untuk menghubungkan modul ESP-8266 dan servo motor. Anda dapat menggunakan proto-shield (untuk sirkuit yang lebih kompak), breadboard biasa, atau merancang shield Arduino Anda sendiri.
Colokkan kabel USB ke papan Arduino Uno dan lanjutkan ke langkah berikutnya.
Langkah 3: Kode Arduino
Instal Arduino IDE terbaru. Dalam proyek ini perpustakaan servo.h digunakan untuk kontrol servo. Untuk menghindari konflik antara modul Wi-Fi dan port USB komputer selama unggah kode, perpustakaan softserial digunakan. Tidak ada perpustakaan tambahan yang diperlukan untuk komunikasi dengan modul ESP-8266. Silakan periksa laju baud ESP8266 Anda dan atur dengan benar dalam kode.
Beberapa servo motor mulai bergeter dan mengeluarkan suara aneh ketika posisinya mendekati batas (0 dan 180 derajat). Untuk menghindari hal ini, sudut dibatasi antara 10 dan 170 derajat baik dalam kode Arduino maupun di antarmuka kontrol (nanti).
Sayangnya, perpustakaan servo.h dan perpustakaan softserial.h menggunakan timer yang sama dari mikrokontroler. Ini dapat menyebabkan geteran pada servo setiap kali Arduino berkomunikasi dengan ESP-8266. Untuk menghindari hal ini, servo dilepas dari Arduino setelah setiap perintah. Anda juga dapat menghubungkan modul ke pin serial standar. Dalam hal ini, ingatlah untuk mencabut modul sebelum setiap unggah.
Unduh kode Arduino (wi-servo.ino) dan ganti XXXXX dengan SSID router Wi-Fi Anda dan YYYYY dengan kata sandi router. Hubungkan papan Arduino ke port USB komputer Anda dan unggah kode.
FASLU1KIR9EDSUP.ino
Langkah 4: Antarmuka
Antarmuka HTML dirancang untuk kontrol servo motor. Dalam contoh ini, dua servo digunakan, tetapi lebih banyak dapat ditambahkan ke Arduino Uno (saya menguji hingga empat motor).
Sebuah formulir textbox digunakan untuk memasukkan alamat IP modul ESP. Unduh file Wi-servo.html dan jquery.js dan simpan keduanya dalam folder yang sama.
FH67KRAIQSAB934.zip
Langkah 5: Penggunaan
Saat Arduino di-restart, ia akan mencoba terhubung ke jaringan Wi-Fi Anda secara otomatis. Gunakan Serial Monitor untuk memeriksa apakah koneksi berhasil, dan untuk mendapatkan alamat IP apa yang ditetapkan router Anda ke ESP-8266 Anda.
Buka file html di browser internet (Firefox).
Masukkan alamat IP ESP-8266 Anda di textbox dan Anda siap untuk pergi. Pilih sudut yang diinginkan untuk setiap servo menggunakan slider. Browser akan secara otomatis mengirim permintaan ke Arduino saat Anda melepaskan tombol mouse, dan memindahkan setiap servo.