Dengan menggunakan program ServoStudio 12 dan papan Arduino, Anda dapat membuat robot sendiri tanpa menulis satu baris kode



Mungkin banyak dari mereka yang menemukan dunia elektronik, cepat atau lambat berpikir tentang cara membuat semacam robot mereka sendiri, atau hanya otomatisasi rumah tangga atau model yang dikendalikan radio. Tetapi jika semuanya kurang lebih jelas dengan mekanika, maka mengembangkan program untuk mengendalikan alat seperti itu, di mana sejumlah besar servos harus bekerja bersama, menyebabkan beberapa kesulitan. Kompleks perangkat keras-perangkat lunak ServoStudio 12 hanya akan memungkinkan Anda untuk mengontrol perangkat seperti itu, mengontrol 12 servo pada saat yang sama, dan membuat urutan gerak menggunakan editor visual. Selain itu, kompleks ini akan menjadi alat yang nyaman untuk debugging mekanisme perangkat dan membuat program Anda sendiri.

Jika perlu, urutan gerakan yang dibuat dapat diekspor sebagai sketsa IDE Arduino, untuk operasi yang berdiri sendiri, tanpa PC. Atau hanya sebagai array nilai titik kunci untuk digunakan lebih lanjut dalam program Anda. ServoStudio 12 memiliki antarmuka yang intuitif dan bahkan seorang pemula pun dapat mengetahuinya. Dan penggunaan papan Arduino sebagai perangkat kontrol eksekutif membuat sistem ini mudah diakses dalam pengulangan dan pembuatan.

Sedikit latar belakang. Terinspirasi oleh gagasan untuk membuat servo tester yang nyaman dari Sergey Grishchenko , saya memutuskan untuk membuat sistem saya sendiri, yang akan mudah digunakan dan pada saat yang sama nyaman dan fungsional. Tidak seperti servo tester di atas, perangkat lunak ServoStudio 12 bertanggung jawab untuk semua kontrol pada komputer pribadi, dan papan Arduino mendukung hingga 12 servo sekaligus. Perangkat kerasnya adalah papan Arduino Nano atau Arduino Uno yang tersebar luas. Juga, perangkat lunak ini berisi pekerjaan dengan servo tester di atas.

Awalnya, saya berencana untuk membuat program kecil di mana urutan nilai-nilai sinyal kontrol servos akan direproduksi, tetapi selama pengembangan saya punya ide-ide baru, dan sebuah program sederhana tumbuh menjadi unit kontrol penuh untuk mekanisme robot, dengan kemampuan untuk mengatur kecepatan gerakan dan memainkan gerakan menggunakan panas kunci.

Servo - tidak seperti motor pengumpul, memungkinkan Anda membuat rotasi pada sudut tertentu. Sudut rotasi diatur oleh lebar pulsa sinyal kontrol. Lebar pulsa ini dapat bervariasi antara 800 - 2300 μs.



Untuk memulai, kita perlu yang berikut ini:


Diagram koneksi sangat sederhana. Pin D2-D13 terhubung ke input kontrol servos. Daya terhubung ke pin daya Arduino. Dengan konsumsi arus besar oleh servos, perlu untuk menghubungkan sumber daya eksternal.



Pertama-tama, dalam menu program ServoStudio 12, Anda harus memilih item "Code Generator" dan sub-item "Buat sketsa ServoStudio HardWare", simpan sketsa ini ke disk dan buka di Arduino IDE dan isi di Arduino Nano / Uno. Semuanya, perangkat kerasnya sudah siap! Tindakan ini dilakukan hanya sekali, dengan papan Arduino baru.

Untuk memulai, Anda perlu membuat proyek baru (File menu / Baru). Di kotak dialog, pilih jumlah saluran PWM yang diperlukan (jumlah servos), pilih jenis papan tester dan tulis nama perangkat Anda (untuk kenyamanan).



Sekarang tentang antarmuka program



Di bagian bawah adalah alat untuk membuat urutan poin kunci. Dengan menggerakkan slider pengontrol untuk saluran yang sesuai, nilai lebar pulsa sinyal kontrol (sudut rotasi drive servo) pada saluran yang sesuai diatur. Jika Anda memilih kotak centang "kontrol dalam waktu nyata", maka ketika Anda memindahkan slider dari pengontrol, drive servo yang terhubung ke saluran ini akan bergerak, yang sangat nyaman, karena posisi drive pada titik ini segera terlihat. Setelah sinyal kontrol ditetapkan pada semua saluran yang diperlukan, Anda perlu membuat "bingkai" berikutnya (titik kunci berikutnya) menggunakan tombol "Tambah". Dan dengan cara yang sama, dengan bantuan regulator, membuat titik kunci baru, dan sebanyak yang diperlukan. Waktu di mana servos harus berputar pada sudut yang diberikan diatur secara terpisah untuk setiap frame, dalam bidang "step time", waktu diatur dalam milidetik. Semakin besar nilai yang diberikan, semakin lambat gerakannya, semakin kecil semakin cepat. Bidang langkah menampilkan bingkai urutan saat ini. Jika perlu, mengubah nomor langkah di bidang ini, Anda dapat mengedit langkah-langkah sebelumnya. Untuk kenyamanan, nama saluran dapat diubah dengan mengklik dua kali pada nama saluran di sebelah kiri kenop.

Di bagian atas, pada grafik, perubahan lebar sinyal kontrol servos ditampilkan secara visual.

Dan ketika beberapa jenis gerakan selesai dibuat (misalnya, satu langkah maju), Anda dapat menyimpan urutan saat ini sebagai urutan selesai yang terpisah dengan mengklik tombol "add" di panel "Sequences", di sisi kanan jendela program. Misalnya, Anda dapat membuat beberapa urutan untuk bergerak maju, mundur, kiri, kanan, dll. Dan urutan ini dapat dimainkan secara independen satu sama lain, dengan mengklik dua kali mouse, atau dari menu konteks, serta dari jendela "remote control" (tetapi lebih lanjut tentang itu nanti). Dengan demikian, mereproduksi urutan ini, perangkat (robot) dikendalikan. Anda juga dapat menambahkan urutan tersimpan ke urutan utama, membuat satu urutan tindakan besar. Ini bisa sangat berguna untuk menunjukkan operasi perangkat.

Juga, urutan utama (yang saat ini terbuka di editor) dapat diekspor sebagai sketsa untuk Arduino IDE, untuk pemutaran offline oleh papan Arduino, tanpa PC. Untuk melakukan ini, pilih item "Urutan Ekspor" di menu "Pembuat Kode" dan klik tombol "Buat" di kotak dialog, setelah itu sketsa ini dapat disalin ke clipboard atau disimpan sebagai sketsa untuk Arduino IDE. Selanjutnya, sketsa ini dapat diisi dengan cara biasa ke dalam pengontrol papan Arduino.



Dimungkinkan untuk memainkan urutan ini secara siklis atau hanya sekali, dengan mengatur atau menghapus centang pada kotak "repeat in cycles". Dimungkinkan juga untuk mengekspor poin kunci ke array, ini dapat berguna jika Anda sudah memiliki program Anda sendiri untuk mikrokontroler dan Anda perlu mengatur gerakan di dalamnya, dan secara opsional Anda dapat menambahkan nilai waktu pengaturan posisi ke array dengan mengatur bendera yang sesuai. Jika, setelah mem-flash sketsa ini, papan Arduino harus digunakan lagi dengan program ServoStudio 12, lalu lagi, pilih item "Code Generator" dan sub-item "Buat ServoStudio HardWare Sketch" di menu, simpan sketsa ini ke disk dan buka di Arduino IDE dan isi di Arduino Nano / Uno.

Jendela "panel kontrol"



Memungkinkan Anda menggunakan tombol pintas untuk memainkan urutan individual. Pertama, Anda perlu mengklik tombol "Tetapkan Tombol", pilih urutan yang diinginkan dari daftar drop-down dan menetapkan kunci panas untuk itu. Ketika semuanya sudah diinstal, Anda harus mengklik tombol "Ingat". Sekarang, ketika jendela ini terbuka, menekan tombol pintas akan memainkan urutan yang ditetapkan untuk itu.

Tidak penting adalah item menu "Posisi Awal" - ini adalah posisi servos ketika dihidupkan, atau hanya "posisi normal" untuk sudut rotasi servos. Dengan kata lain, jika Anda tidak ingin robot Anda miring ketika dihidupkan, gunakan regulator untuk memilih posisi optimal untuk itu dan pilih item menu "Rekam frame saat ini di Arduino EEPROM sebagai posisi awal", fungsi ini hanya tersedia untuk papan Arduino. Ada juga poin "Tulis bingkai saat ini sebagai posisi awal" dan "Masukkan posisi awal dalam bingkai saat ini", itu akan sangat berguna jika Anda perlu memulai urutan baru dan titik awal. Posisi awal disimpan dalam file proyek dan tersedia ketika file dibuka, sehingga tidak perlu dipilih kembali.



Program ini juga memiliki kemampuan untuk mengaitkan file proyek dengan ServoStudio 12. Untuk melakukan ini, Anda perlu menjalankannya 1 kali dengan hak administrator. ServoStudio 12 sepenuhnya portabel, terdiri dari 1 file (ketika Anda menutup program, file proyek terbuka terakhir masih dibuat) dan tidak memerlukan instalasi.

Rincian lebih lanjut tentang pekerjaan dapat dilihat di video.



Tautan unduhan perangkat lunak ServoStudio 12

Sedikit tentang rencana untuk masa depan:

  • Saya ingin membuat aplikasi Android yang dapat membuka file proyek dan menggunakan telepon untuk mengontrol robot. Kelola melalui BlueTooth atau WiFi melalui adaptor TCP-UART.
  • Saya juga ingin membuat versi untuk jumlah saluran yang lebih besar untuk mengelola perangkat yang lebih kompleks.
  • Tambahkan pemrosesan sinyal dari sensor yang terhubung (misalnya, jika ada hambatan di depan, lewati saja).
  • Tambahkan kemampuan untuk mengontrol output digital (misalnya, untuk menyalakan LED atau yang lainnya)

Tetapi apakah rencana ini akan tetap hanya rencana atau akan dirilis dalam rilis berikutnya dari program tergantung pada minat pada kompleks ini.

Source: https://habr.com/ru/post/id402645/


All Articles