Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Mobil RC Wi-Fi - Qi Diaktifkan

Komponen dan persediaan

Kit Prototipe Pemancar Qi 5W IDT
× 1
Kit Prototipe Penerima Qi 5W IDT
× 1
Arduino MKR1000
× 1
• Sasis Mobil Robot 2WD untuk Arduino
× 1
L293DNE
× 1
CN6009 - Peningkatan Modul Konverter Daya
× 1
Baterai Li-Po 3,7V
× 1
1N4007 – Tegangan Tinggi, Dioda Nilai Arus Tinggi
× 8
LED (generik)
× 1
Resistor 221 ohm
× 1
Tie Wraps
× 5
Breadboard (generik)
(Opsional)
× 1

Alat dan mesin yang diperlukan

Besi solder (generik)
Pistol lem panas (generik)
Obeng
Voltmeter

Aplikasi dan layanan online

Arduino IDE

Tentang proyek ini

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

Kode

  • Arduino_IDT_Wi-Fi_Car.ino
Arduino_IDT_Wi-Fi_Car.inoArduino
Ganti contoh dan kata sandi di baris 12-13 dengan ssid dan kata sandi Anda masing-masing.
#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(""); break; } // Tentukan tombol mana yang diklik (jika ada) // Tombol Fast Mode if (readString.indexOf("?fast")> 0){ speedMode ="fast"; // Hapus readString untuk mendapatkan perintah selanjutnya readString =""; } // Tombol Slow Mode if (readString.indexOf("?slow")> 0){ speedMode ="slow"; // Hapus readString untuk mendapatkan perintah selanjutnya readString =""; } // Fast Mode if (speedMode =="fast"){ if (readString.indexOf("?moveForwards")> 0 ){ moveForwards(); // Hapus readString untuk mendapatkan perintah selanjutnya readString =""; } if (readString.indexOf("?moveBackwards")> 0){ moveBackwards(); // Hapus readString ke bisa mendapatkan perintah selanjutnya readString =""; } } else if (speedMode =="slow"){ // Slow Mode if (readString.indexOf("?moveForwards")> 0){ moveForwardsSlow(); // Hapus readString untuk mendapatkan perintah berikutnya r eadString =""; } if (readString.indexOf("?moveBackwards")> 0){ moveBackwardsSlow(); // Hapus readString untuk mendapatkan perintah selanjutnya readString =""; } } if (readString.indexOf("?turnLeft")> 0){ turnLeft(); // Hapus readString untuk mendapatkan perintah selanjutnya readString =""; } if (readString.indexOf("?turnRight")> 0){ turnRight(); // Hapus readString untuk mendapatkan perintah selanjutnya readString =""; } if (readString.indexOf("?stopMoving")> 0){ stopMoving(); // Hapus readString untuk mendapatkan perintah selanjutnya readString =""; } } } // Berikan waktu pada browser web untuk menerima penundaan data(1); // Tutup koneksi:client.stop(); }}// Perintah untuk bergerak majuvoid moveForwards(){ digitalWrite(motor1Control, HIGH); digitalWrite(motor2Control, TINGGI); digitalWrite(motor1Input1, RENDAH); digitalWrite(motor1Input2, TINGGI); digitalWrite(motor2Input1, RENDAH); digitalWrite(motor2Input2, HIGH);}// Perintah untuk bergerak mundurvoid moveBackwards(){ digitalWrite(motor1Control, HIGH); digitalWrite(motor2Control, TINGGI); digitalWrite(motor1Input1, TINGGI); digitalWrite(motor1Input2, RENDAH); digitalWrite(motor2Input1, TINGGI); digitalWrite(motor2Input2, LOW);}// Perintah untuk berbelok ke kananvoid turnRight(){ // Tegangan yang lebih rendah disediakan untuk berbelok lebih lambat - kontrol yang lebih baik analogWrite(motor1Control, 0); analogWrite(motor2Control, 200); digitalWrite(motor1Input1, TINGGI); digitalWrite(motor1Input2, RENDAH); digitalWrite(motor2Input1, RENDAH); digitalWrite(motor2Input2, HIGH);}// Perintah untuk belok kirivoid turnLeft(){ // Tegangan yang lebih rendah disediakan untuk berbelok lebih lambat - kontrol yang lebih baik analogWrite(motor1Control, 200); analogWrite(motor2Control, 0); digitalWrite(motor1Input1, RENDAH); digitalWrite(motor1Input2, TINGGI); digitalWrite(motor2Input1, TINGGI); digitalWrite(motor2Input2, LOW);}// Perintah untuk menghentikan carvoid stopMoving() { digitalWrite(motor1Control, LOW); digitalWrite(motor2Control, RENDAH); digitalWrite(motor1Input1, RENDAH); digitalWrite(motor1Input2, RENDAH); digitalWrite(motor2Input1, RENDAH); digitalWrite(motor2Input2, LOW);}// Perintah untuk bergerak maju dengan kecepatan rendahvoid moveForwardsSlow(){ analogWrite(motor1Control, 200); analogWrite(motor2Control, 200); digitalWrite(motor1Input1, RENDAH); digitalWrite(motor1Input2, TINGGI); digitalWrite(motor2Input1, RENDAH); digitalWrite(motor2Input2, HIGH);}// Perintah untuk gerakan mundur kecepatan rendahvoid moveBackwardsSlow(){ analogWrite(motor1Control, 200); analogWrite(motor2Control, 200); digitalWrite(motor1Input1, TINGGI); digitalWrite(motor1Input2, RENDAH); digitalWrite(motor2Input1, TINGGI); digitalWrite(motor2Input2, RENDAH);}

Suku cadang dan penutup khusus

Arduino%20IDT%20Wireless%20charging%20wifi%20car.cad

Skema


Proses manufaktur

  1. Konstruktor C#
  2. C# Kelas Bersarang
  3. C# Konstruktor Overloading
  4. Ancaman yang berkembang dari Wi-Fi memungkinkan IoT
  5. Bagian-bagian mesin mobil yang dibuat dengan presisi
  6. Memahami sistem dongkrak mobil
  7. Konfigurasi Silinder Mesin Mobil
  8. Memahami cara kerja mesin mobil
  9. Bagaimana cara memperbaiki kebocoran gas di mobil saya?
  10. Apakah upgrade mobil mempengaruhi garansi?