Daftar Isi:

Mobil Robot Dengan Bluetooth, Kamera, dan MIT App Inventor2: 12 Langkah (dengan Gambar)
Mobil Robot Dengan Bluetooth, Kamera, dan MIT App Inventor2: 12 Langkah (dengan Gambar)

Video: Mobil Robot Dengan Bluetooth, Kamera, dan MIT App Inventor2: 12 Langkah (dengan Gambar)

Video: Mobil Robot Dengan Bluetooth, Kamera, dan MIT App Inventor2: 12 Langkah (dengan Gambar)
Video: Wireless Steering Project through Android app 2024, November
Anonim
Image
Image
Bagian dan Perangkat Lunak
Bagian dan Perangkat Lunak

Apakah Anda pernah ingin membangun mobil robot Anda sendiri? Nah … ini adalah kesempatan Anda!!

Dalam Instruksi ini saya akan memandu Anda tentang cara membuat Mobil Robot yang dikendalikan melalui Bluetooth dan MIT App Inventor2. Ketahuilah bahwa saya seorang pemula dan ini adalah instruksi pertama saya, jadi tolong beri komentar Anda dengan lembut.

Ada banyak instruksi di luar sana, tetapi dalam hal ini saya mencoba menggabungkan banyak fitur seperti: streaming kamera, penghindaran rintangan, sensor jangkauan ultrasonik, pemindai Larson (dengan charlieplexing) dan pemantauan baterai ke Aplikasi Android!!

Jadi mari kita mulai dan bertemu Frankie (itu menggunakan ide dari banyak tempat….maka Robo Frankenstein)

Langkah 1: Bagian dan Perangkat Lunak

Bagian dan Perangkat Lunak
Bagian dan Perangkat Lunak
Bagian dan Perangkat Lunak
Bagian dan Perangkat Lunak

Di sini, di kota asal saya, sulit untuk mendapatkan semua suku cadang, oleh karena itu saya dapat memperoleh sebagian besar darinya dari www.aliexpress.com

Saya perkirakan proyek itu bisa dibangun seharga USD 25 - 30 tanpa mempertimbangkan ponsel lama.

  • Sasis mobil: 3 roda, 2 motor 6V (USD 9)
  • Arduino Nano (USD 2)
  • Bluetooth HC-05 (USD 3 hingga 4)
  • Driver motor L293D untuk menggerakkan motor roda (USD 1,50 untuk lot 5 buah)
  • Ponsel lama dengan kamera dan Wi-Fi
  • Sensor ultrasonik HC-SR04 untuk pengukuran ke objek terdekat (USD 1)
  • 6 LED untuk pemindai Larson
  • ATtiny85 untuk pemindai Larson (USD 1)
  • Papan tempat memotong roti (USD 1)
  • kabel
  • Resistor 100K Ohm (4)
  • Resistor 1K Ohm (2)
  • Resistor 2K Ohm (1)
  • 270 Ohm resistor (3)
  • Bel

Perangkat lunak:

  • Arduino IDE
  • IP Webcam (untuk Android seluler lama)
  • MIT App Inventor2: Aplikasi ini hebat tetapi hanya berfungsi untuk sistem operasi Android (tidak ada Iphone… maaf!)

Langkah 2: Proses Konstruksi

Proses Konstruksi
Proses Konstruksi
Proses Konstruksi
Proses Konstruksi
Proses Konstruksi
Proses Konstruksi
Proses Konstruksi
Proses Konstruksi

Sasis mobil sangat mudah dirakit; ia memiliki 2 motor 6V yang menggerakkan roda belakang dan 4 baterai.

Mobil Robot dikendalikan melalui Bluetooth dan Wi-Fi. Bluetooth mengontrol komunikasi serial antara Mobil dan MIT App inventor2 dan Wi-Fi digunakan untuk berkomunikasi dengan kamera (ponsel lama) yang dipasang di depan mobil.

Untuk proyek ini, saya menggunakan dua set baterai: arduino ditenagai oleh baterai 9V dan motor mobil dengan 6V (empat baterai AA 1,5V).

Arduino Nano adalah otak dari proyek ini yang mengontrol mobil, buzzer, sensor jarak ultrasonik HC-SR04, Bluetooth HC-05, pemindai Larson (ATtiny85) dan memonitor baterai. Baterai 9V masuk ke Vin (pin 30) dan pin 27 Arduino memberikan daya yang diatur 5V ke papan tempat memotong roti. Perlu untuk mengikat semua dasar dari semua IC dan baterai bersama-sama.

Terlampir, diagram sirkuit dibuat di Excel (Maaf …. lain kali saya akan mencoba Fritzing). Saya telah menghubungkan semuanya menggunakan papan tempat memotong roti dan konektor kabel jantan ke jantan, milik saya terlihat seperti sarang tikus.

Langkah 3: Pengemudi Motor L293D

Pengemudi Motor L293D
Pengemudi Motor L293D
Pengemudi Motor L293D
Pengemudi Motor L293D

L293D adalah driver setengah-H arus tinggi empat kali lipat yang dirancang untuk menyediakan arus penggerak dua arah hingga 600 mA pada tegangan 4,5V hingga 36V. Digunakan untuk menggerakkan roda mobil.

Ini didukung oleh baterai 6V (empat 1.5V AA) untuk motor dan menggunakan 5V untuk logika yang berasal dari 5V yang diatur (pin 27) di Arduino Nano. Koneksi ditunjukkan dalam skema terlampir.

Tidak perlu memasangnya di heat sink.

Langkah 4: HC-05 Bluetooth

HC-05 Bluetooth
HC-05 Bluetooth

HC-05 Bluetooth ditenagai oleh 5V (arduino pin 27), tetapi penting untuk dipahami bahwa level logikanya adalah 3.3V, yaitu komunikasi (Tx dan Rx) dengan 3.3V. Itulah sebabnya Rx harus dikonfigurasi dengan maksimum 3.3V yang dapat dicapai dengan konverter level shifter atau, seperti dalam kasus ini, dengan pembagi tegangan dengan menggunakan resistor 1K dan 2K seperti yang terlihat pada rangkaian.

Langkah 5: Monitor Baterai

Untuk memantau level baterai, saya telah mengatur pembagi tegangan untuk membawa level tegangan di bawah 5V (kisaran maksimal Arduino). Pembagi tegangan menurunkan tegangan yang diukur ke dalam kisaran input analog Arduino.

Input analog A4 dan A6 digunakan dan resistor tinggi (100K ohm) digunakan agar tidak terlalu menguras baterai dalam proses pengukuran. Kita perlu berkompromi, jika resistor terlalu rendah (10K ohm), lebih sedikit efek pembebanan, pembacaan tegangan lebih akurat, tetapi lebih banyak gambar saat ini; jika terlalu tinggi (1M ohm), lebih banyak efek pembebanan, pembacaan tegangan kurang akurat, tetapi penarikan arus lebih sedikit.

Pemantauan baterai dilakukan setiap 10 detik dan ditampilkan langsung di ponsel pengontrol Anda.

Saya yakin ada banyak ruang untuk perbaikan di bagian ini karena saya membaca dari dua pin analog dan MUX internal bertukar di antara keduanya. Saya tidak rata-rata melakukan beberapa pengukuran dan mungkin itulah yang harus saya lakukan.

Mari saya jelaskan rumus berikut:

// Baca tegangan dari pin analog A4 dan buat kalibrasi untuk Arduino:

voltage1 = (analogRead(A4)*5.0/1024.0)*2.0; //8.0V

Papan nano Arduino berisi 8 saluran, konverter analog ke digital 10-bit. Fungsi analogRead() mengembalikan angka antara 0 dan 1023 yang sebanding dengan jumlah tegangan yang diterapkan ke pin. Ini menghasilkan resolusi antara pembacaan: 5 volt / 1024 unit atau,.0049 volt (4,9 mV) per unit.

Pembagi tegangan membagi dua tegangan dan, untuk mendapatkan tegangan yang sebenarnya, perlu dikalikan dengan 2!!

PENTING: Saya yakin ada cara yang lebih efisien untuk menyalakan arduino daripada cara saya melakukannya!! Sebagai seorang pemula saya telah belajar dengan cara yang sulit. Pin Arduino Vin menggunakan regulator tegangan linier yang berarti bahwa, dengan baterai 9V, Anda akan membakar sebagian besar daya di regulator linier itu sendiri! Tidak baik. Saya melakukannya dengan cara ini karena cepat dan hanya karena saya tidak tahu lebih baik …tetapi pastikan bahwa di Robo Frankie versi 2.0 saya pasti akan melakukannya secara berbeda.

Saya berpikir (dengan lantang) bahwa DC DC Step up Switching Power Supply dan baterai isi ulang Li-ion mungkin merupakan cara yang lebih baik. Saran baik Anda akan lebih dari diterima…

Langkah 6: Sensor Rentang Ultrasonik HC-SR04

Sensor Rentang Ultrasonik HC-SR04
Sensor Rentang Ultrasonik HC-SR04

HC-SR04 adalah sensor jangkauan ultrasonik. Sensor ini memberikan pengukuran dari 2cm hingga 400cm dengan akurasi berkisar hingga 3mm. Dalam proyek ini, digunakan untuk menghindari rintangan ketika mencapai 20cm atau kurang dan juga untuk mengukur jarak ke objek apa pun, yang dikirim kembali ke ponsel Anda.

Ada tombol di layar ponsel Anda yang perlu diklik untuk meminta jarak ke objek terdekat.

Langkah 7: Pemindai Larson

Pemindai Larson
Pemindai Larson
Pemindai Larson
Pemindai Larson
Pemindai Larson
Pemindai Larson

Saya ingin memasukkan sesuatu yang menyenangkan, jadi saya menyertakan pemindai Larson yang menyerupai K. I. T. T. dari Knight Rider.

Untuk pemindai Larson saya telah menggunakan ATtiny85 dengan charlieplexing. Charlieplexing adalah teknik untuk menggerakkan tampilan multipleks di mana relatif sedikit pin I/O pada mikrokontroler digunakan untuk menggerakkan array LED. Metode ini menggunakan kemampuan logika tri-state dari mikrokontroler untuk mendapatkan efisiensi dibandingkan multiplexing tradisional.

Dalam hal ini saya menggunakan 3 pin dari ATtiny85 untuk menyalakan 6 LED!!

Anda dapat menyalakan LED "X" dengan pin N. Gunakan rumus berikut untuk mendapatkan berapa banyak LED yang dapat Anda kendarai:

X= N(N-1) LED dengan N pin:

3 pin: 6 LED;

4 pin: 12 LED;

5 pin: 20 LED… Anda mengerti;-)

Arus mengalir dari positif (anoda) ke negatif (katoda). Ujung panah adalah katoda.

Penting untuk dicatat bahwa pin 1 (dalam kode Arduino IDE) mengacu pada pin fisik 6 di ATtiny85 (silakan lihat pinout terlampir).

Terlampir, temukan kode yang perlu diunggah ke ATtiny85 yang mengontrol pemindai Larson. Saya tidak menjelaskan cara mengunggah kode ke ATtiny85 karena ada banyak instruksi yang melakukan itu seperti ini.

Langkah 8: Kode

Kode
Kode

Saya melampirkan kode yang perlu diunggah ke ATtiny85 yang mengontrol pemindai Larson dan kode untuk Arduino nano.

Adapun Arduino nano, saya telah menggunakan sebagian kode dari instruksi lain (di sini) dan membuat perubahan agar sesuai dengan kebutuhan saya. Saya telah menyertakan diagram alur (juga dalam kata untuk gambar yang lebih jelas) dari kode untuk lebih memahami cara kerja Switch - Case.

Penting: Untuk mengunggah kode CarBluetooth ke Arduino nano, Anda harus memutuskan sambungan Rx dan Tx dari modul Bluetooth HC-05!

Langkah 9: Kamera

Kamera
Kamera
Kamera
Kamera

Aplikasi IP Webcam perlu diunduh dari play store dan dipasang di ponsel lama Anda. Periksa preferensi video, sesuaikan resolusi yang sesuai dan akhirnya turun ke perintah terakhir "Mulai server" untuk memulai transmisi. Jangan lupa nyalakan Wi-Fi di HP!!

Langkah 10: MIT App Inventor2

MIT App Inventor2
MIT App Inventor2

MIT App inventor2 adalah alat berbasis cloud yang membantu membangun aplikasi di browser web Anda. Aplikasi ini (hanya untuk seluler berbasis android) kemudian dapat diunggah ke sel Anda dan mengontrol mobil robot Anda.

Saya melampirkan kode.apk dan.aia sehingga Anda dapat melihat apa yang telah saya lakukan dan dapat memodifikasinya sesuai keinginan. Saya telah menggunakan kode dari internet (Aplikasi MIT) dan membuat modifikasi sendiri. Kode ini mengontrol pergerakan mobil robot, menerima sinyal dari sensor ultrasonik, menyalakan lampu dan membunyikan bel. Itu juga menerima sinyal dari baterai yang memberi tahu kami level tegangan.

Dengan kode ini kita akan dapat menerima dua sinyal berbeda dari mobil: 1) jarak ke objek terdekat dan 2) tegangan dari motor dan baterai arduino.

Untuk mengidentifikasi string serial yang diterima, saya telah menyertakan tanda dalam kode Arduino yang menentukan jenis string yang dikirim. Jika Arduino mengirimkan jarak yang diukur dari sensor ultrasonik, maka Arduino mengirimkan karakter “A” di depan string. Setiap kali Arduino mengirimkan level Baterai, ia mengirimkan bendera dengan karakter "B". Dalam kode MIT App inventors2 saya telah menguraikan string serial yang berasal dari Arduino dan memeriksa tanda-tanda ini. Seperti yang saya katakan, saya seorang pemula dan saya yakin ada cara yang lebih efisien untuk melakukan ini dan saya berharap seseorang dapat mencerahkan saya dengan cara yang lebih baik.

Kirim Arduino_Bluetooth_Car.apk ke ponsel Anda (melalui email atau Google Drive) dan instal.

Langkah 11: Hubungkan Ponsel Anda ke Mobil RC Anda

Hubungkan Ponsel Anda ke Mobil RC Anda
Hubungkan Ponsel Anda ke Mobil RC Anda
Hubungkan Ponsel Anda ke Mobil RC Anda
Hubungkan Ponsel Anda ke Mobil RC Anda

Pertama-tama, nyalakan wi-fi di ponsel lama (yang ada di robot RC).

Di ponsel pengontrol Anda, nyalakan wi-fi, Bluetooth, dan buka Arduino_Bluetooth_Car.apk yang baru saja Anda instal. Di akhir layar (gulir ke bawah jika Anda tidak dapat melihatnya), Anda akan melihat dua tombol: Perangkat dan CONNECT. Klik Devices dan pilih Bluetooth dari RC Car Anda (harus berupa HC 05), lalu klik CONNECT dan Anda akan melihat pesan CONNECTED di kiri bawah layar Anda. Pertama kali, Anda akan dimintai kata sandi (masukkan 0000 atau 1234).

Ada kotak di mana Anda perlu mengetikkan alamat IP ponsel lama Anda (ponsel yang ada di Mobil RC Anda), dalam kasus saya ini adalah

Nomor IP ini dapat dideteksi di Router Wi-fi Anda. Anda perlu masuk ke konfigurasi Router Anda, pilih Devices List (atau sesuatu seperti itu tergantung pada merek Router Anda) dan Anda harus dapat melihat perangkat seluler lama Anda, klik dan masukkan nomor IP ini ke dalam kotak ini.

Kemudian pilih CAMERA dan Anda akan mulai melihat streaming kamera dari RC Car Anda.

Langkah 12: Anda Selesai

Kamu selesai!
Kamu selesai!

Kamu selesai! Mulailah bermain dengannya

Perubahan di masa depan: Saya akan mengganti baterai 9V dengan baterai Li-ion untuk mengisi ulang dan menggunakan pengatur tegangan DC-DC, juga saya ingin meningkatkan monitor baterai dengan memasukkan perataan (rata-rata) pembacaan analog. Tidak berencana untuk memasukkan A. I. belum …;-)

Saya telah memasuki kontes instruksi pertama saya … jadi tolong pilih;-)

Direkomendasikan: