Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
Saya mengunjungi howtomechatronics.com dan melihat lengan robot yang dikendalikan bluetooth di sana.
Saya tidak suka menggunakan bluetooth, ditambah saya melihat kami dapat mengontrol servo dengan rotary encoder, jadi saya mendesain ulang agar saya dapat mengontrol lengan robot menggunakan rotary encoder dan merekamnya
Perlengkapan
SG90*3
MG996*3
rotary encoder * 6
Arduino mega *1
Tombol tekan 2 pin * 2
560 ohm resistor * 2
Sekrup dan mur M3
pencetak 3D
Langkah 1: Hubungkan Servo
Dari kiri ke kanan: servo dasar (MG996), servo pinggang bawah (MG996), servo siku (MG996), servo tangan terendah (SG90), servo tangan tengah (SG90), servo ambil (SG90)
Kita tidak boleh menghubungkan 5V Arduino ke 5V eksternal (yaitu resistor secara paralel dan mereka akan mencoba untuk saling mengisi) Tetapi kita perlu menghubungkan ground bersama sebagai referensi sehingga mereka akan berfungsi Jika Anda tidak memiliki ground yang terhubung ke Arduino, tidak ada jalur balik untuk arus dari kabel sinyal Anda (kabel kuning), jadi ground daya eksternal harus terhubung ke pin ground servo dan pin ground Arduino. (Sementara kabel hitam dan merah adalah catu daya independen)
Catatan di sini saya memisahkan diagram koneksi ke servo, tombol tekan dan rotary encoder karena lebih mudah dibaca secara terpisah (semuanya terhubung ke satu Arduino Mega menggunakan pin pada setiap diagram)
Langkah 2: Hubungkan Tombol Tekan
Yang kiri adalah tombol reset
Tombol putar adalah yang benar
Tombol putar akan memutar gerakan yang direkam
Resistor yang saya gunakan adalah dua 560 ohm
Langkah 3: Hubungkan Rotary Encoder
Pin koneksi:
// Masukan Rotary Encoder 1
#define CLK1 53 #define DT1 51 #define SW1 49
// Masukan Rotary Encoder 2
#define CLK2 45 #define DT2 43 #define SW2 41
// Rotary Encoder 3 Masukan
#define CLK3 50 #define DT3 48 #define SW3 46
// Rotary Encoder 4 Masukan
#define CLK4 42 #define DT4 40 #define SW4 38
// Rotary Encoder 5 Input
#define CLK5 34 #define DT5 32 #define SW5 30
// Rotary Encoder 6 Input paling kanan
#define CLK6 26 //26 #define DT6 24 //24 #define SW6 22 //22
Langkah 4: File STL
File STL kredit howtomechatronics.com
Langkah 5: Kode
Langkah:
Tekan reset (setel ulang pemutaran)
Untuk servo kecuali ambil servo: putar rotary encoder setiap servo--tekan encoder (rekam posisi awal) untuk setiap servo seperti rotate encoder 1--tekan rotate encoder 1--rotate encoder 2--tekan rotate encoder 2
Setelah kami mencatat posisi awal, kami dapat melakukan hal yang sama untuk merekam posisi akhir
Untuk ambil servo: (dengan servo lain) tekan encoder (rekam ambil terbuka) (setelah kami merekam posisi awal servo lain dan mereka berada di posisi itu) putar - tekan lagi (rekam ambil dekat untuk menangkap sesuatu) (setelah kami merekam posisi akhir servo lain dan mereka berada di posisi itu) putar-- tekan encoder (rekam ambil terbuka untuk melepaskan objek)
tekan tombol start (servo akan berputar mulai dari posisi awal, ke posisi akhir) //jika ingin mengulang proses, perlu menekan tombol start beberapa kali
tombol putar adalah yang benar