Isi kandungan:

Robot Car With Bluetooth, Camera dan MIT App Inventor 2: 12 Langkah (dengan Gambar)
Robot Car With Bluetooth, Camera dan MIT App Inventor 2: 12 Langkah (dengan Gambar)

Video: Robot Car With Bluetooth, Camera dan MIT App Inventor 2: 12 Langkah (dengan Gambar)

Video: Robot Car With Bluetooth, Camera dan MIT App Inventor 2: 12 Langkah (dengan Gambar)
Video: Membuat Robot Mobil Kontrol dengan Kamera dan Aplikasi Android | Kendalikan Robot Melalui Smartphone 2024, November
Anonim
Image
Image
Bahagian dan Perisian
Bahagian dan Perisian

Adakah anda pernah mahu membina kereta robot anda sendiri? Baiklah … ini peluang anda !!

Dalam Instructable ini saya akan memandu anda bagaimana membuat Robot Car dikendalikan melalui Bluetooth dan MIT App Inventor2. Ketahuilah bahawa saya seorang pemula dan ini adalah yang pertama saya tidak boleh dilayan, jadi sila beri komen anda dengan lembut.

Terdapat banyak instruksional di luar sana, tetapi yang ini saya telah cuba menggabungkan banyak ciri seperti: streaming kamera, penghalang halangan, sensor jarak ultrasonik, pengimbas Larson (dengan charlieplexing) dan pemantauan bateri ke Aplikasi Android !!

Oleh itu, mari kita mulakan dan berjumpa dengan Frankie (ia menggunakan idea dari banyak tempat …. oleh itu Robo Frankenstein)

Langkah 1: Bahagian dan Perisian

Bahagian dan Perisian
Bahagian dan Perisian
Bahagian dan Perisian
Bahagian dan Perisian

Di sini, di bandar asal saya, sukar mendapatkan semua bahagian, oleh itu saya dapat memperoleh sebahagian besar dari www.aliexpress.com

Saya menganggarkan bahawa projek itu dapat dibina dengan harga USD 25 - 30 tanpa mempertimbangkan telefon bimbit lama.

  • Casis kereta: 3 roda, 2 motor 6V (USD 9)
  • Arduino Nano (USD 2)
  • Bluetooth HC-05 (USD 3 hingga 4)
  • Pemacu motor L293D untuk menggerakkan motor roda (USD 1.50 untuk lot 5 keping)
  • Selular lama dengan kamera dan Wi-Fi
  • Sensor ultrasonik HC-SR04 untuk pengukuran ke objek berdekatan (USD 1)
  • 6 LED untuk pengimbas Larson
  • ATtiny85 untuk pengimbas Larson (USD 1)
  • Papan Roti (USD 1)
  • Wayar
  • 100K Ohm perintang (4)
  • Perintang Oh 1k (2)
  • Perintang Ohm 2K (1)
  • Perintang 270 Ohm (3)
  • Buzzer

Perisian:

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

Langkah 2: Proses Pembinaan

Proses Pembinaan
Proses Pembinaan
Proses Pembinaan
Proses Pembinaan
Proses Pembinaan
Proses Pembinaan
Proses Pembinaan
Proses Pembinaan

Casis kereta sangat senang dipasang; ia mempunyai 2 motor 6V yang menggerakkan roda belakang dan 4 pek bateri.

Kereta Robot dikendalikan melalui Bluetooth dan Wi-Fi. Bluetooth mengawal komunikasi bersiri antara Pencipta Aplikasi Mobil dan MIT2 dan Wi-Fi digunakan untuk berkomunikasi dengan kamera (telefon bimbit lama) yang dipasang di hadapan kereta.

Untuk projek ini, saya telah menggunakan dua set bateri: arduino dikuasakan oleh bateri 9V dan motor kereta dengan 6V (empat bateri AA 1.5V).

Arduino Nano adalah otak projek ini yang mengawal kereta, buzzer, sensor jarak ultrasonik HC-SR04, Bluetooth HC-05, pengimbas Larson (ATtiny85) dan memantau bateri. Bateri 9V pergi ke Vin (pin 30) dan pin Arduino 27 memberikan kuasa terkawal 5V ke papan roti. Perlu mengikat semua landasan dari semua IC dan bateri bersama-sama.

Terlampir, gambarajah litar membuatnya di Excel (Maaf…. Lain kali saya akan mencuba Fritzing). Saya telah menghubungkan semuanya menggunakan papan roti dan penyambung wayar lelaki ke lelaki, saya kelihatan seperti sarang tikus.

Langkah 3: Pemandu Motor L293D

Pemandu Motor L293D
Pemandu Motor L293D
Pemandu Motor L293D
Pemandu Motor L293D

L293D adalah pemacu separuh H arus tinggi empat kali ganda yang direka untuk menyediakan arus pemacu dua arah sehingga 600 mA pada voltan 4.5V hingga 36V. Ia digunakan untuk menggerakkan roda kereta.

Ia dikuasakan oleh pek bateri 6V (empat 1.5V AA) untuk motor dan menggunakan 5V untuk logik yang berasal dari 5V terkawal (pin 27) di Arduino Nano. Sambungan ditunjukkan dalam skema yang dilampirkan.

Tidak perlu memasangnya di pendingin.

Langkah 4: HC-05 Bluetooth

Bluetooth HC-05
Bluetooth HC-05

Bluetooth HC-05 dikuasakan oleh 5V (pin arduino 27), tetapi penting untuk memahami bahawa tahap logiknya adalah 3.3V, iaitu komunikasi (Tx dan Rx) dengan 3.3V. Itulah sebabnya mengapa Rx harus dikonfigurasi dengan maksimum 3.3V yang dapat dicapai dengan converter shifter level atau, seperti dalam kes ini, dengan pembahagi voltan dengan menggunakan perintang 1K dan 2K seperti yang terlihat di litar.

Langkah 5: Monitor Bateri

Untuk memantau tahap bateri, saya telah menetapkan pembahagi voltan untuk membawa tahap voltan di bawah 5V (julat maksimum Arduino). Pembahagi voltan mengurangkan voltan yang diukur hingga dalam julat input analog Arduino.

Input analog A4 dan A6 digunakan dan perintang tinggi (100K ohm) digunakan agar tidak menghabiskan bateri terlalu banyak dalam proses pengukuran. Kita perlu berkompromi, jika perintang terlalu rendah (10K ohm), kesan pemuatan lebih sedikit, bacaan voltan lebih tepat, tetapi lukisan lebih banyak semasa; jika terlalu tinggi (1M ohm), lebih banyak kesan pemuatan, bacaan voltan kurang tepat, tetapi lukisan semasa kurang.

Pemantauan bateri dibuat setiap 10 saat dan dipaparkan secara langsung di telefon bimbit pengawal anda.

Saya yakin ada banyak ruang untuk diperbaiki dalam bahagian ini kerana saya membaca dari dua pin analog dan MUX dalaman bertukar antara mereka. Saya tidak memperoleh banyak ukuran dan mungkin itulah yang harus saya lakukan.

Izinkan saya menerangkan formula berikut:

// Baca voltan dari pin analog A4 dan buat penentukuran untuk Arduino:

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

Papan nano Arduino mengandungi 8 saluran, penukar analog ke digital 10-bit. Fungsi analogRead () mengembalikan nombor antara 0 dan 1023 yang berkadaran dengan jumlah voltan yang dikenakan pada pin. Ini menghasilkan resolusi antara bacaan: 5 volt / 1024 unit atau,.0049 volt (4.9 mV) per unit.

Pembahagi voltan separuh voltan dan, untuk mendapatkan voltan sebenar, perlu darab dengan 2 !!

PENTING: Saya pasti ada cara yang lebih cekap untuk menghidupkan arduino daripada cara saya melakukannya !! Sebagai pemula saya telah belajar dengan cara yang sukar. Pin Arduino Vin menggunakan pengatur voltan linier yang bermaksud, dengan bateri 9V, anda akan membakar sebahagian besar kuasa dalam pengatur linier itu sendiri! Tidak baik. Saya melakukannya dengan cara ini kerana cepat dan hanya kerana saya tidak tahu lebih baik… tetapi pastikan bahawa dalam Robo Frankie versi 2.0 saya pasti akan melakukannya dengan cara yang berbeza.

Saya berfikir (dengan lantang) bahawa DC DC Step up Switching Power Supply dan bateri Li-ion yang boleh dicas semula mungkin merupakan kaedah yang lebih baik. Cadangan baik anda akan lebih diterima …

Langkah 6: Sensor Julat Ultrasonik HC-SR04

Sensor Julat Ultrasonik HC-SR04
Sensor Julat Ultrasonik HC-SR04

HC-SR04 adalah sensor jarak ultrasonik. Sensor ini memberikan ukuran dari 2cm hingga 400cm dengan ketepatan berkisar hingga 3mm. Dalam projek ini, ia digunakan untuk menghindari halangan ketika mencapai 20cm atau kurang dan juga untuk mengukur jarak ke objek apa pun, yang dikirim kembali ke telefon bimbit anda.

Terdapat butang di layar telefon bimbit anda yang perlu diklik untuk meminta jarak ke objek yang berdekatan.

Langkah 7: Pengimbas Larson

Pengimbas Larson
Pengimbas Larson
Pengimbas Larson
Pengimbas Larson
Pengimbas Larson
Pengimbas Larson

Saya mahu memasukkan sesuatu yang menyeronokkan, jadi saya memasukkan pengimbas Larson yang menyerupai K. I. T. T. dari Knight Rider.

Untuk pengimbas Larson, saya telah menggunakan ATtiny85 dengan charlieplexing. Charlieplexing adalah teknik untuk menggerakkan paparan multiplexed di mana relatif sedikit pin I / O pada mikrokontroler digunakan untuk menggerakkan pelbagai LED. Kaedah menggunakan keupayaan logik tri-keadaan mikrokontroler untuk mendapatkan kecekapan berbanding multiplexing tradisional.

Dalam kes ini, saya menggunakan 3 pin dari ATtiny85 hingga menyala 6 LED !!

Anda boleh menyalakan LED "X" dengan pin N. Gunakan formula berikut untuk mendapatkan berapa banyak LED yang boleh anda pandu:

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

3 pin: 6 LED;

4 pin: 12 LED;

5 pin: 20 LED … anda mendapat idea;-)

Arus mengalir dari positif (anod) ke negatif (katod). Hujung anak panah adalah katod.

Penting untuk diperhatikan bahawa pin 1 (dalam kod Arduino IDE) merujuk kepada pin fizikal 6 di ATtiny85 (sila rujuk pinout yang dilampirkan).

Dilampirkan sila cari kod yang perlu dimuat naik ke ATtiny85 yang mengawal pengimbas Larson. Saya tidak menerangkan bagaimana memuat naik kod ke ATtiny85 kerana terdapat banyak arahan yang melakukannya seperti ini.

Langkah 8: Kod

Kod
Kod

Saya melampirkan kod yang perlu dimuat naik ke ATtiny85 yang mengawal pengimbas Larson dan kod untuk Arduino nano.

Bagi Arduino nano, saya telah menggunakan sebahagian kod dari arahan lain (di sini) dan membuat perubahan agar sesuai dengan keperluan saya. Saya telah memasukkan carta alir (juga untuk gambar yang lebih jelas) kod tersebut untuk lebih memahami bagaimana Switch - Case berfungsi.

Penting: Untuk memuat naik kod CarBluetooth ke Arduino nano, anda perlu memutuskan Rx dan Tx dari modul Bluetooth HC-05!

Langkah 9: Kamera

Kamera
Kamera
Kamera
Kamera

Aplikasi Webcam IP perlu dimuat turun dari play store dan dipasang di telefon bimbit lama anda. Periksa pilihan video, sesuaikan resolusi dengan sewajarnya dan akhirnya turun ke perintah terakhir "Start server" untuk memulakan penghantaran. Jangan lupa menghidupkan Wi-Fi di telefon bimbit !!

Langkah 10: MIT App Inventor2

Pencipta Aplikasi MIT2
Pencipta Aplikasi MIT2

MIT App inventor2 adalah alat berasaskan awan yang membantu membina aplikasi di penyemak imbas web anda. Aplikasi ini (hanya untuk selular berasaskan android) kemudian boleh dimuat naik ke sel anda dan mengawal kereta robot anda.

Saya melampirkan kod.apk dan.aia supaya anda dapat melihat apa yang telah saya lakukan dan dapat mengubahnya mengikut kehendak anda. Saya telah menggunakan kod dari internet (Aplikasi MIT) dan membuat pengubahsuaian saya sendiri. Kod ini mengawal pergerakan kereta robot, menerima isyarat dari sensor ultrasonik, menyalakan lampu dan membunyikan bel. Ia juga menerima isyarat dari bateri yang memberitahu kami tahap voltan.

Dengan kod ini, kita akan dapat menerima dua isyarat yang berbeza dari kereta: 1) jarak ke objek berdekatan dan 2) voltan dari bateri motor dan arduino.

Untuk mengenal pasti rentetan siri yang diterima, saya telah memasukkan bendera dalam kod Arduino yang menentukan jenis tali yang telah dikirim. Sekiranya Arduino mengirimkan jarak yang diukur dari sensor ultrasonik, maka ia mengirimkan char "A" di depan tali. Setiap kali Arduino mengirimkan tahap Baterai, ia akan mengirimkan bendera dengan char "B". Dalam kod MIT App penemu2 saya telah menguraikan rentetan siri yang berasal dari Arduino dan memeriksa bendera ini. Seperti yang saya katakan, saya seorang pemula dan saya pasti ada cara yang lebih cekap untuk melakukan ini dan saya harap seseorang dapat menyedarkan saya dengan cara yang lebih baik.

Hantar Arduino_Bluetooth_Car.apk ke telefon bimbit anda (melalui e-mel atau Google Drive) dan pasangkannya.

Langkah 11: Sambungkan Telefon Bimbit Anda ke Kereta RC Anda

Sambungkan Telefon Bimbit Anda ke Kereta RC Anda
Sambungkan Telefon Bimbit Anda ke Kereta RC Anda
Sambungkan Telefon Bimbit Anda ke Kereta RC Anda
Sambungkan Telefon Bimbit Anda ke Kereta RC Anda

Pertama sekali, hidupkan wi-fi di telefon bimbit lama (yang ada dalam robot RC).

Dalam telefon bimbit pengawal anda, hidupkan wi-fi, Bluetooth dan buka Arduino_Bluetooth_Car.apk yang baru anda pasang. Di hujung skrin (tatal ke bawah jika anda tidak dapat melihatnya) anda akan melihat dua butang: Peranti dan Sambungkan. Klik Peranti dan pilih Bluetooth dari Kereta RC anda (semestinya adalah sesuatu yang HC 05), kemudian klik SAMBUNGAN dan anda akan melihat mesej yang TERHUBUNG di bahagian bawah kiri skrin anda. Kali pertama, anda akan diminta kata laluan (masukkan 0000 atau 1234).

Terdapat kotak di mana anda perlu menaip alamat IP sel lama anda (telefon bimbit yang ada di dalam Kereta RC anda), dalam kes saya ialah

Nombor IP ini dapat dikesan di Penghala Wi-fi anda. Anda perlu masuk ke konfigurasi Router anda, pilih List Devices (atau sesuatu seperti itu bergantung pada jenama Router anda) dan anda seharusnya dapat melihat peranti sel lama anda, klik padanya dan masukkan nombor IP ini ke dalam kotak ini.

Kemudian pilih CAMERA dan anda harus mula melihat streaming kamera dari RC Car anda.

Langkah 12: Anda Selesai

Anda Sudah Selesai!
Anda Sudah Selesai!

Anda sudah selesai! Mula bermain dengannya

Perubahan masa depan: Saya akan menukar bateri 9V dengan bateri Li-ion untuk mengisinya semula dan menggunakan pengatur voltan naik DC-DC, juga saya ingin meningkatkan monitor bateri dengan memasukkan kelancaran (rata-rata) bacaan analog. Tidak merancang untuk memasukkan A. I. belum…;-)

Saya telah memasuki pertandingan pertama yang boleh diajar … jadi sila undi;-)

Disyorkan: