Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Simulator Balap Gerak 2D DIY

Komponen dan persediaan

Arduino Nano R3
× 1
Motor servo mikro SG90
× 2

Alat dan mesin yang diperlukan

Besi solder (generik)

Aplikasi dan layanan online

Arduino IDE

Tentang proyek ini

SimTools adalah Perangkat Lunak Simulator Gerak generik yang dapat mengontrol beberapa antarmuka perangkat keras, termasuk Arduino. Kombinasi ini digunakan dalam proyek yang disajikan dalam video. Bagian perangkat keras hanya terdiri dari mikrokontroler Arduino Nano dan dua motor servo mikro SG90 yang murah. Kita hanya perlu mengunggah kode yang diberikan di bawah ini.

Data game yang dibutuhkan dengan bantuan software SimTools ditransmisikan melalui serial port ke Arduino. Selanjutnya Arduino mengaktifkan motor servo yang menggerakkan platform simulasi sesuai dengan itu. Ini adalah skala kecil dari simulator dua sumbu. Untuk membuat simulator nyata, Anda perlu menambahkan driver motor dan motor servo besar.

Ada banyak contoh simulator DIY seperti itu serta gambar konstruksi dan tip di halaman "https://www.xsimulator.net/". Prosedur penyiapan SimTools dijelaskan dalam video, tetapi Anda juga dapat mengunduh manual pengguna PDF di:https://simtools.us/wp-content/uploads/2019/06/SimToolsUserManual-v2.4.pdf

SimTools akan berjalan dalam mode "Demo" sampai lisensi yang valid telah didaftarkan. Plugin untuk Live for Speed ​​beroperasi penuh untuk pengujian saat SimTools dalam mode demo. (Demo Live for Speed ​​juga berfungsi untuk menguji SimTools.) Anda dapat menemukan lebih banyak dalam formasi dan mengunduh Live for Speed ​​di https://www.lfs.net/downloads

Tautan unduhan SimTools:

https://www.xsimulator.net/community/marketplace/motion-simulation-software-simtools.63/

Kode

  • Kode
KodeC/C++
//********************************************* ***********************************************// RC Model Servo// Kode asli Oleh EAOROBBIE (Robert Lindsay)// Dihancurkan sepenuhnya oleh aarondc// Untuk penggunaan gratis untuk Sim Tool Motion Software//********************* ************************************************** **********************#include //#define DEBUG 1 // beri komentar pada baris ini untuk menghapus debuggin Serial.print linesconst int kActuatorCount =2; // berapa banyak Aktuator yang kami tangani// huruf ("nama") yang dikirim dari Alat Sim untuk mengidentifikasi setiap aktuator// NB:urutan huruf di sini menentukan urutan konstanta yang tersisa kPins dan kActuatorScaleconst char kActuatorName[kActuatorCount] ={ 'R', 'L' };const int kPins[kActuatorCount] ={4, 5}; // pin tempat Aktuator terpasangconst int kActuatorScale[kActuatorCount][2] ={ { 0, 179 } , // Penskalaan Aktuator Kanan { 179, 0 } // Penskalaan Aktuator sisi kiri }; const char kEOL ='~'; // End of Line - pembatas untuk nilai acutator kita const int kMaxCharCount =3; // beberapa asuransi...Servo actuatorSet[kActuatorCount]; // array kami dari Actuatorsint actuatorPosition[kActuatorCount] ={90, 90}; // posisi Aktuator saat ini, diinisialisasi ke 90int Aktuator saat ini; // melacak Aktuator saat ini sedang dibaca dari port serial valueCharCount =0; // berapa banyak karakter nilai yang telah kita baca (harus kurang dari kMaxCharCount!!// mengatur beberapa status untuk mesin status kita// psReadActuator =karakter berikutnya dari port serial memberitahu kita Aktuator// psReadValue =3 karakter berikutnya dari port serial memberitahu kita nilai TPortState { psReadActuator, psReadValue }; TPortState currentState =psReadActuator;void setup(){ // pasang Aktuator ke pin untuk (int i =0; i 0).void serialEvent() { char tmpChar; int tmpValue; while (Serial.available()) { // if kami menunggu nama Aktuator, ambil di sini if ​​(currentState ==psReadActuator) { tmpChar =Serial.read(); // cari aktuator kami di deretan nama aktuator yang kami siapkan #ifdef DEBUG Serial.print("dibaca di "); Serial.println(tmpChar); #endif for (int i =0; i 9)) tmpNilai =0; actuatorPosition[currentActuator] =actuatorPosition[currentActuator] * 10 + tmpValue; nilaiCharCount++; } lain istirahat; } // jika kita sudah membaca pembatas nilai, perbarui Aktuator dan mulailah mencari nama Aktuator berikutnya if (tmpValue ==kEOL || valueCharCount ==kMaxCharCount) {#ifdef DEBUG Serial.print("read in "); Serial.println(Posisi aktuator[Aktuator saat ini]); #endif // skala posisi baru sehingga nilainya antara 0 dan 179 actuatorPosition[currentActuator] =map(actuatorPosition[currentActuator], 0, 255, kActuatorScale[currentActuator][0], kActuatorScale[currentActuator][1]);# ifdef DEBUG Serial.print("skala ke "); Serial.println(Posisi aktuator[Aktuator saat ini]); #endif updateActuator(currentActuator); currentState =psReadActuator; } } }}// tulis posisi Aktuator saat ini ke yang diteruskan di Aktuator void updateActuator(int thisActuator) { actuatorSet[thisActuator].write(actuatorPosition[thisActuator]);}

Skema


Proses manufaktur

  1. Sistem Sensor Gerak Inframerah DIY untuk Raspberry Pi
  2. DIY LUMAZOID Arduino Music Visualizer
  3. Voltmeter DIY Menggunakan Arduino dan Smartphone
  4. Skateboard Realitas Virtual DIY
  5. Sensor Gerakan Pistol Air
  6. DIY Arduino RADIONICS Treatment MMachine
  7. Ide DIY dengan RFID
  8. VMC CNC 3-Sumbu DIY
  9. Arduino DIY + GY-906 Termometer Inframerah
  10. Pedal Kemudi DIY untuk Simulator Penerbangan