Pernahkah Anda lelah mengendalikan semuanya dengan tombol? Berpikir untuk mengendalikan sesuatu dengan gerakan tangan sederhana dengan duduk di sofa malas Anda? Jika ya, maka Anda berada di situs yang tepat. Dalam tutorial ini kita akan mengendalikan sebuah robot yang digerakkan oleh dua buah motor DC hanya dengan menggunakan gerakan tangan. Ada berbagai jenis sensor untuk mendeteksi gerakan tangan Anda seperti sensor fluks, Akselerometer, dan sensor berbasis gravitasi lainnya. Jadi untuk transmisi nirkabel kita akan menggunakan modul RF 434 yang mengirimkan data 4 bit. Data 4 bit berarti Anda dapat mengirimkan 16 kombinasi yang berbeda yaitu, 0000 hingga 1111. Selanjutnya dalam tutorial ini kita akan menggunakan encoder dan decoder untuk menghindari interferensi pada antarmuka udara. Pengemudi motor akan menggerakkan motor agar tidak menggunakan data dekoder.
Robot Terkendali Gerakan Menggunakan Raspberry Pi
Kami menggunakan Raspberry pi kami di ujung pemancar untuk menganalisis data sensor dan mengirimkan kombinasi data ke driver motor untuk menggerakkan motor yang sesuai sehingga robot dapat melayang-layang. Kami akan menggunakan baterai 12 V pada robot untuk memberi daya pada modul dekoder, modul penerima, dan motor. Di ujung pemancar, sensor dan modul encoder pemancar ditenagai oleh raspberry pi itu sendiri.
Komponen
Komponen
Spesifikasi
Jumlah
Raspberry Pi
Versi 3
1
Kartu Memori
Lebih dari 8 GB
1
Akselerometer
ADXL 345 atau MPU6050
1
Modul RF
RF Tx dan Rx 434
1
Supply daya
Adaptor mini USB 5 V seharga Rpi Baterai 12 V untuk Robot
1
Kabel
Wanita ke pria &Pria ke wanita
masing-masing 10
Encoder
HT12E (Modul pilihan)
1
Decoder
HT12D (Modul pilihan)
1
Pengemudi Motor
L293D (Modul pilihan)
1
Menampilkan 1 hingga 9 dari 9 entriSebelumnyaBerikutnya
Robot Terkendali Gerakan Menggunakan Raspberry Pi – Diagram Blok
Akhir Pemancar
Robot Terkendali Gerakan Menggunakan Raspberry Pi – Ujung Pemancar
Di sisi pemancar kami memiliki Accelerometer, raspberry pi, modul encoder, dan pemancar RF. Data gerakan mengalir dari akselerometer ke raspberry pi dan di sana diproses untuk memutuskan pergerakan robot dan data untuk gerakan ditransfer ke modul encoder melalui pin GPIO. Modul encoder mengkodekan data dan mengirimkannya ke antarmuka udara dengan bantuan pemancar RF.
Robot Terkendali Gerakan Menggunakan Raspberry Pi – Ujung Penerima
Robot Terkendali Gerakan Menggunakan Raspberry Pi – Ujung Penerima
Penerima RF dari ujung penerima mendapatkan data dari antarmuka udara dan memberikannya ke modul dekoder. Modul dekoder menerjemahkan data yang diterima dan memberikannya ke driver motor L293D. Dari pengemudi motor, motor digerakkan sesuai dengan data gerakan.
Akselerometer
Percepatan adalah pengukuran perubahan kecepatan, atau kecepatan dibagi waktu. Sebagai contoh jika sebuah mobil bergerak dari keadaan diam 0 sampai 60 Km/jam dalam waktu 10 sekon, mobil tersebut mengalami percepatan 6 Km/jam. Jadi apa hubungannya dengan gerakan tangan saya?
Akselerometer adalah perangkat elektromekanis yang digunakan untuk mengukur gaya percepatan. Gaya tersebut mungkin statis, seperti gaya gravitasi yang terus menerus atau, seperti halnya dengan banyak perangkat seluler, dinamis untuk merasakan gerakan atau getaran. Dengan mengukur jumlah percepatan statis akibat gravitasi, Anda dapat mengetahui sudut kemiringan perangkat terhadap bumi. Dengan merasakan jumlah akselerasi dinamis, Anda dapat menganalisis cara perangkat bergerak.
Beberapa akselerometer menggunakan efek piezoelektrik - akselerometer mengandung struktur kristal mikroskopis yang ditekan oleh gaya akselerasi, yang menyebabkan tegangan dihasilkan. Cara lain untuk melakukannya adalah dengan merasakan perubahan kapasitansi. Jika Anda memiliki dua struktur mikro di samping satu sama lain, mereka memiliki kapasitansi tertentu di antara mereka. Jika gaya percepatan menggerakkan salah satu struktur, maka kapasitansi akan berubah. Tambahkan beberapa sirkuit untuk mengkonversi dari kapasitansi ke tegangan, dan Anda akan mendapatkan akselerometer.
Akselerometer adalah perangkat berdaya rendah yang menghasilkan percepatan dalam bentuk tegangan Analog dan beberapa akselerometer dalam bentuk digital. Akselerometer analog seperti ADXL 335 memberi Anda 3 keluaran analog X,Y,Z berdasarkan sumbu gerakan Anda. Anda dapat mengubah tegangan analog ini menjadi tegangan digital melalui ADC. Akselerometer digital seperti ADXL345 akan berkomunikasi melalui protokol SPI atau I2C. Ini memiliki lebih sedikit noise dan paling dapat diandalkan
Ada sensor lain MPU6050 yang memiliki accelerometer serta giroskop di dalamnya. Itu juga bisa digunakan sebagai pengganti accelerometer. Alamat ADXL345 dan MPU6050 berbeda saat menghubungkan dalam mode I2C dengan raspberry pi, untuk ADXL 0x53 dan MPU adalah 0x68. Dalam tutorial ini saya akan menjelaskan cara menggunakan ADXL345 dan MPU6050.
Akselerometer Antarmuka
Sekarang kita akan menghubungkan accelerometer ADXL 345 dan MPU 6050 kita ke raspberry pi dan memeriksa pembacaan sensor. Saya yakin raspberry pi Anda terinstal dengan sistem operasi terbaru dan python di dalamnya, karena kita akan menggunakan kode python di sini.
Mari hubungkan ADXL345/MPU6050 ke raspberry pi kami. Di sini kita akan menggunakan protokol I2C untuk berkomunikasi antar perangkat. Dalam protokol I2C data ditransfer melalui SDA (Serial Data) dan jam di SCL (Serial Clock). Ini adalah protokol komunikasi setengah dupleks asinkron. Master mengontrol seluruh proses dan budak merespon sesuai dengan perintah master. Kecepatan data ditentukan oleh frekuensi kemampuan slave. Hanya ada 4 koneksi antara master dan slave disini 3V, Gnd, SCL dan SDA .
Akselerometer Digital ADXL345
Dari diagram pin out GPIO Anda dapat melihat pin SDA dan SCL pada Rpi dan menghubungkannya ke pin ADXL345/MPU6050 SDA dan SCL masing-masing. Nyalakan sensor menggunakan RPi itu sendiri. Sekarang koneksi sudah selesai.
Header GPIO Raspberry pi 3
Sebelum menguji sensor, mari kita instal python-smbus untuk protokol I2c di rpi dan aktifkan protokol I2C di RPi kita.
Memasang smbus: Sudo apt-get install python-smbus i2c-tools Mengaktifkan I2C di RPi: sudo raspi-config Buka opsi antarmuka dan aktifkan protokol I2c.
Kemudian sertakan baris spesifikasi i2c dengan perintah ini. sudo nano /etc/modules Tambahkan baris ini i2c-bcm2708 i2c-dev Jika Anda menggunakan rpi lama, hapus i2c dari backlist dengan menggunakan perintah ini sudo nano /etc/modprobe.d/raspi-blacklist.conf Berkomentarlah (#) daftar hitam i2c-bcm2708 sudo reboot Uji koneksi dengan menggunakan perintah ini. Ini akan menunjukkan alamat sensor yang terhubung ke pi kita. sudo i2c detect -y 1 Adxl akan ditemukan di 0x53 dan Mpu akan ditemukan di 0x68 atau 0x69
Sekarang kita akan mengunduh pustaka yang telah ditulis sebelumnya untuk ADXL345 untuk pi dengan python dari Github dan menguji keluaran sensor. Gunakan perintah ini. git clone https://github.com/pimoroni/adxl345-python cd adxl345-python sudo python example.py Contoh.py adalah program yang mengeluarkan nilai X,Y dan Z seperti yang ditunjukkan di bawah ini.
Kami dapat memodifikasi program ini atau menggunakan ini untuk proyek kami.
Untuk program pimoroni MPU6050 tidak akan bekerja, jadi kami akan menggunakan modul python yang berbeda dari github.
Dengan menggunakan perintah ini. git clone https://github.com/Tijndagamer/mpu6050.git
cd mpu6050
python setup.py install Untuk memeriksa koneksi sensor dan alamat, buka terminal dan ketik perintah di bawah ini. Ini akan menampilkan alamat sensor pada 0x68 atau 0x69 seperti yang ditunjukkan di bawah ini.
Dan untuk menguji data sensor, buka editor python dan ketik perintah ini hanya satu per satu untuk melihat output sensor. from mpu6050 import mpu6050
mympu=mpu6050(0x69 )
Data=mympu.get_accel_data()
Langkah selanjutnya Anda sekarang dapat menentukan nilai ambang dari 4 posisi berbeda untuk gerakan kanan, kiri, maju dan mundur dan catat. Kalibrasi dapat dilakukan berdasarkan nilai sensor Anda pada posisi yang berbeda seperti menyimpannya di posisi yang Anda inginkan untuk gerakan maju dan mencatat 5 nilai yang sama dan membulatkannya ke ambang batas, sehingga jika sensor melewati nilai pembulatan a pernyataan kondisi dalam program dapat diaktifkan. Kalibrasi dengan cara yang sama untuk semua gerakan lain seperti kiri, kanan, mundur, dan berhenti.
Baca Informasi Lebih Lanjut….
Robot Gesture Controlled Menggunakan Raspberry Pi
Proyek / Postingan Saat Ini juga dapat ditemukan menggunakan: