| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 8 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 5 | ||||
| × | 1 |
| ||||
| ||||
| ||||
|
|
Apa yang akan Anda Bangun dalam Proyek ini?
Ini adalah proyek yang akan menunjukkan kepada Anda langkah demi langkah cara membuat Mobil RC yang dikendalikan Wi-Fi yang akan secara otomatis mengisi ulang secara nirkabel saat diparkir.
Bagaimana cara kerjanya?
Otak dari proyek ini adalah Arduino MKR1000 dan terhubung melalui Wi-Fi dengan perangkat seluler Anda. Papan Arduino ditenagai oleh baterai Li-Po 3.7V. Untuk kontrol motor digunakan driver motor L293DNE. Namun perlu setidaknya 4.5V untuk beroperasi. Kami akan meningkatkan tegangan dari 3,7V ke 5V dengan Modul Konverter Daya Boost Step-up (mengubah tegangan rendah menjadi lebih tinggi) dan dengan cara ini driver motor akan diberi daya dengan 5V.
Untuk pengisian baterai, board Arduino MKR1000 dilengkapi sistem pengisian otomatis untuk baterai Li-Po. Ketika sumber daya eksternal (5V DC) terhubung, baterai yang terhubung ke papan sedang diisi. Jadi IDT P9025AC-R-EVK – Qi 5W Penerima akan terhubung ke papan Arduino sebagai sumber eksternal (5V DC). Saat mobil parkir di atas stasiun pengisian (yaitu IDT P9038-R-EVK – Qi 5W Pemancar), baterai akan terisi daya.
Sistem kontrol memiliki dua mode kecepatan:Cepat dan Lambat.
Bagaimana cara membuatnya?
Bagian Perangkat Keras
Kabel solder pada kutub motor dan pada papan Penerima IDT (Pin OUT dengan kabel merah dan pin GND dengan kabel hitam). Untuk langkah ini, Anda memerlukan besi solder dan 6 kabel.
Membuat rangkaian elektronik. Anda dapat menggunakan papan tempat memotong roti untuk membuat sirkuit atau Anda dapat menyolder semua sambungan.
PERHATIAN:Gunakan baterai Li-Po 3.7V dengan kapasitas setidaknya 700mAh! Jika tidak, baterai dapat menjadi terlalu panas dan meledak!
Menyesuaikan CN6009. Modul konverter daya step-up ke 5V. Untuk mengatur nilai keluaran CN6009 menggunakan obeng. Pastikan untuk memeriksa tegangan output (dengan menghubungkan Voltmeter ke pin OUT+ dan OUT-).
Menghubungkan penerima daya nirkabel IDT Qi 5W. Ambil selembar plastik (misalnya kartu plastik) untuk membuat alas Penerima Daya Nirkabel di bagian bawah mobil. Kemudian rekatkan potongan plastik sekaligus Receiver tersebut ke bagian bawah mobil dengan silikon. Terakhir, sambungkan kabel merah Penerima IDT ke pin VIN arduino dan kabel hitam ke pin GND.
Membuat Kendaraan Stabil. Kencangkan dengan bungkus dasi baterai dan papan tempat memotong roti ke kendaraan.
Bagian Perangkat Lunak– Koneksi Wi-Fi
Untuk bagian ini cukup salin kodenya. Pada file kode isikan SSID dan Password jaringan Anda (baris 12, 13 pada file kode). Anda harus mengikuti instruksi komentar. Kode saat ini diatur untuk bekerja dengan jaringan WPA/WPA2. Jika Anda ingin terhubung ke WEP atau jaringan terbuka, ikuti petunjuk di komentar kode (baris 34-37).
Bagaimana cara menggunakannya?
Langkah 1:Menghubungkan ke Arduino MKR1000
Mengontrol kendaraan membutuhkan koneksi Wi-Fi. Anda dapat mencapainya dengan dua cara. Yang pertama adalah mengaktifkan Wi-Fi Hotspot di perangkat seluler Anda dan menghubungkan papan ke Hotspot. Yang kedua adalah menghubungkan perangkat seluler Anda dan papan Arduino ke router Wi-Fi yang sama. Pastikan untuk mengisi pengaturan SSID dan Kata Sandi router Anda di file kode yang akan diunggah ke papan Arduino.
Catatan:Lebih baik menggunakan cara pertama (Wi-Fi Hotspot) karena dengan cara ini Anda dapat mengontrol kendaraan Anda tanpa memerlukan router.
Langkah 2:Mendapatkan Alamat IP Arduino MKR1000
Jika papan Arduino terhubung ke hotspot perangkat seluler Anda, buka pengaturan Hotspot Wi-Fi dan di sana Anda akan melihat alamat IP papan Anda (mis. 192.168.1.1).
Jika board Arduino terhubung ke router Wi-Fi, maka Anda perlu memeriksanya dari pengaturan router.
LED pada mobil menunjukkan koneksi yang berhasil ke jaringan dan aktivasi server yang ditentukan.
Langkah 3:Mengakses Webserver Arduino MKR1000
Buka browser Anda dan di kotak URL ketik alamat IP Arduino Anda.
Langkah 4:Menghubungkan Basis Pengisian Daya
Hubungkan IDT P9038-R-EVK – Pemancar Qi 5W ke stopkontak menggunakan Adaptor DC 5V.
Langkah 5:Selamat bersenang-senang!
Waktu Pengisian Daya!!
Uji Coba:
File Gerber dari PCBWeb
#include#include const int motor1Control =2; // Kanan motorconst int motor2Control =3; // motor kiriconst int motor1Input1 =4;const int motor1Input2 =5;const int motor2Input1 =8;const int motor2Input2 =9;const int wifiLed =10; // Untuk menunjukkan koneksi Wi-Fi yang berhasilchar ssid[] ="contoh"; // Isi SSID jaringan Anda (nama)char pass[] ="password"; // Isi kata sandi jaringan Andaint keyIndex =0; // Isi nomor indeks kunci jaringan Anda (Opsional - hanya diperlukan untuk WEP)int status =WL_IDLE_STATUS;String readString;Server WiFiServer(80); // Tentukan port serverString speedMode ="fast";void setup() { pinMode(motor1Control, OUTPUT); pinMode(motor2Control, OUTPUT); pinMode(motor1Input1, OUTPUT); pinMode(motor1Input2, OUTPUT); pinMode(motor2Input1, OUTPUT); pinMode(motor2Input2, OUTPUT); pinMode(wifiLed, OUTPUT); // Mencoba terhubung ke jaringan Wifi:while ( status !=WL_CONNECTED) { // Hubungkan ke jaringan WPA/WPA2. Ubah baris ini jika menggunakan jaringan terbuka atau WEP:// Untuk jaringan WEP, ganti dengan:status =WiFi.begin(ssid, keyIndex, pass); // Untuk jaringan terbuka, ganti dengan:status =WiFi.begin(ssid); status =WiFi.begin(ssid, pass); // tunggu 10 detik untuk koneksi:delay(10000); } // Memulai server webserver.begin(); // Menunjukkan bahwa server menjalankan digitalWrite(wifiLed, HIGH);}void loop() { // Mendengarkan klien yang masuk WiFiClient client =server.available(); if (klien) { // permintaan http diakhiri dengan baris kosong boolean currentLineIsBlank =true; while (client.connected()) { if (client.available()) { char c =client.read(); // Jika Anda telah mencapai akhir baris (menerima baris baru // karakter) dan baris kosong, permintaan http telah berakhir, // sehingga Anda dapat mengirim balasan jika (readString.length() <100 ) { //menyimpan karakter ke string readString +=c; } if (c =='\n') { // kirim header respons http standar client.println("HTTP/1.1 200 OK"); client.println("Jenis Konten:teks/html"); klien.println(); client.println(""); klien.println(""); klien.println(" "); klien.println(" "); client.println("a.button {-webkit-tampilan:tombol;"); client.println("-moz-tampilan:tombol;"); client.println("tampilan:tombol;"); client.println("tinggi:400px;"); client.println("tinggi garis:400px;"); client.println("text-align:center;"); client.println("teks-dekorasi:tidak ada;"); client.println("ukuran font:100px;"); client.println("warna:inisial;}"); client.println(""); client.println(""); klien.println(" "); // Tombol untuk bergerak Maju client.println("MAJU "); client.println("
"); // Tombol untuk berbelok ke kiri client.println("KIRI "); // Tombol untuk Menghentikan mobil client.println("STOP " ); // Tombol untuk berbelok ke Kanan client.println("KANAN "); klien.println("
"); // Tombol untuk bergerak Mundur client.println("BACKWARDS "); client.println("
"); client.println("
"); // Tombol untuk bergerak Mundur client.println("SPEED MODES
"); client.println("CEPAT"); client.println("SLOW "); client.println("
"); client.println("