MODUL DAN PERISAI

KELAS ROBOT
Mendaftar

Pendahuluan: Modul dan Perisai

Dalam dan dari dirinya sendiri, Arduino terbatas pada kontrol input dan output yang sangat dasar. Untuk melakukan sesuatu yang lebih membutuhkan pembangunan sirkuit kompleks dari banyak komponen elektronik. Shield dan modul adalah sirkuit pra-dibangun yang kompleks yang dirancang untuk menyelesaikan tugas tertentu. Ini berarti bahwa alih-alih membangun dan menghubungkan Arduino Anda ke sirkuit rumahan besar yang rumit, Anda bisa menempelkannya ke terminal yang tepat di papan ini, dan mereka akan melakukan banyak pekerjaan untuk Anda. Ini memungkinkan Anda untuk dengan cepat dan mudah memperluas fungsionalitas mikrokontroler tanpa banyak keributan.

Perisai Arduino adalah papan sirkuit khusus yang dipasang di atas Arduino dan menambahkan fungsionalitas khusus untuknya. Itu mendapat namanya karena sedikit seperti papan memegang perisai di depan dirinya sebagai perlindungan.
Orang-orang membuat semua jenis perisai untuk meningkatkan kemampuan Arduino. Mereka pada dasarnya adalah sirkuit khusus yang dirancang untuk melakukan sesuatu yang sangat khusus, dan kemudian melekat langsung ke Arduino. Mengingat bahwa ada banyak sirkuit yang dapat Anda hubungkan ke Arduino, ada juga perisai yang tak terhitung jumlahnya di dunia melakukan berbagai fungsi.
Salah satu jenis perisai yang paling umum ditemui dalam hobi robotika adalah perisai motor. Pelindung motor adalah sirkuit untuk mengendalikan motor menggunakan satu atau lebih jembatan-H, yang - seperti yang dibahas dalam Pelajaran " Robot Otak" - adalah jenis sirkuit khusus yang memungkinkan Anda mengontrol arah motor (dan, biasanya, kecepatan juga ). Pelindung ini memiliki empat jembatan H terpisah yang memungkinkan Anda untuk mengontrol empat motor DC yang berbeda, atau dua motor stepper (atau kombinasi keduanya). Perisai ini juga dikonfigurasikan untuk menyediakan catu daya arus relatif tinggi yang diatur untuk dua motor servo.
Dalam contoh ini saya menggunakan perisai motor Adafruit untuk hanya mengendalikan satu motor pada Saluran 1. Untuk mencapai ini saya hanya kawat motor DC ke terminal berlabel M1 dan menghubungkan catu daya eksternal (paket baterai) ke blok terminal daya. 

Manfaat menggunakan perisai adalah Anda dapat menghubungkannya dengan papan sirkuit eksternal tanpa kabel yang berantakan. Ini pas di atas papan Arduino, berpotensi menghemat ruang. Itu juga secara eksplisit dirancang untuk bekerja dengan Arduino, dan sering memiliki perpustakaan yang terkait dengannya.

Karena perisai cenderung memiliki koneksi tetap ke Arduino dan fungsi yang sangat spesifik, mereka sering memiliki perpustakaan yang terkait dengannya. Pustaka adalah serangkaian fungsi yang dapat Anda panggil dalam kode Anda yang membantu Anda melakukan tugas-tugas umum dengan cepat dan mudah. Misalnya, alih-alih menulis kode Arduino yang rumit untuk berinteraksi dengan perangkat keras pada pelindung motor ini untuk menghidupkan motor, Anda cukup menginstal perpustakaan dan menggunakan fungsi "jalankan" motor. 

Perisai motor khusus ini mengharuskan Anda untuk mengunduh dan menempatkan perpustakaan Adafruit Motor Shield V2 di folder perpustakaan perangkat lunak Anda. Jika Anda tidak yakin cara menginstal perpustakaan, lihat Arduino Class untuk instruksi yang lebih lengkap. 

Setelah diinstal, restart perangkat lunak Arduino, dan Anda sekarang akan melihat sketsa yang disebut "DCMotorTest" di bawah File> Contoh> Perpustakaan Adafruit Motor Shield V2 . Buka dan jalankan sketsa ini untuk melihat motor Anda beraksi.
Namun, ada pengorbanan untuk menggunakan perisai juga. Kelemahannya adalah ia mungkin mengikat pin lebih banyak pada Arduino daripada yang Anda butuhkan dengan menghubungkan fungsionalitas yang tidak diinginkan pada perisai. Bahkan jika Anda tidak berencana untuk menggunakan semua aspek dari perisai, namun demikian selalu menghubungkan bagian-bagian dari rangkaian ke Arduino. Sebagai contoh, kita mengendalikan satu motor DC, tetapi ada dua pin yang dirancang untuk mengendalikan motor servo yang tidak kita gunakan. Ini kurang ideal jika kita ingin menghubungkan beberapa modul dan komponen lain ke Arduino. Jarang bisa Anda menumpuk berbagai jenis perisai tanpa pin ini mengganggu. 

Cara mudah untuk mengatasi masalah ini adalah dengan menggunakan modul eksternal dan hanya menghubungkan pin yang Anda butuhkan ke Arduino.

Modul, seperti perisai, adalah papan yang terhubung ke Arduino, dan menambahkan fungsi khusus. Perbedaannya dengan modul adalah bahwa mereka tidak spesifik Arduino. Mereka tidak perlu mencolokkan Arduino, tetapi dapat dihubungkan ke sejumlah papan pengontrol yang berbeda menggunakan kawat hookup, atau kadang-kadang bahkan dapat berjalan sebagai perangkat yang berdiri sendiri (yaitu semuanya sendiri).
Sensor gerak IR dan sensor Ping yang kami gunakan dalam pelajaran sensor sebelumnya adalah contoh dari papan modul. Ketika Anda mulai bekerja dengan robot, Anda akan terus menemukan semua jenis modul yang berbeda. Seperti halnya perisai, ada banyak sekali perisai di dunia yang melakukan lebih banyak fungsi daripada yang dapat Anda bayangkan.
Jenis umum modul yang mungkin Anda gunakan untuk robotika adalah modul pengendali motor stepper DRV8833 seperti yang digambarkan di atas. Papan ini pada dasarnya hanyalah pengontrol motor dengan dual H-bridges. Itu berarti dapat mengendalikan kecepatan dan arah dua motor DC, atau kecepatan dan arah motor stepper tunggal.
Untuk berinteraksi dengan motor stepper bipolar (dua kumparan), masing-masing kumparan perlu dihubungkan ke salah satu output pada modul. Jika Anda tidak dapat mengetahui kawat mana yang dimaksud, Anda dapat menemukan koil dengan menghubungkan dan LED ke koil motor dan memutar poros motor dengan tangan Anda. Jika LED menyala, Anda telah menemukan sepasang kabel koil. Jika tidak, coba lagi sampai LED menyala. Setelah Anda menemukan koil pertama, pasangan kabel lainnya harus menjadi koil lainnya secara default.
Modul pengontrol servo memiliki pin input, yang terhubung ke Arduino. Ini karena input kontrol pada modul menerima pulsa output dari Arduino. Pin output dari modul terhubung ke motor. Setiap output adalah H-bridge tunggal, dan memiliki dua pin. Gulungan motor servo terhubung ke setiap output. 

Dengan kata lain, setiap gelung dari stepper terhubung ke H-bridge yang terpisah. Modul ini memproses perintah dari Arduino untuk menggunakan jembatan-H dalam urutan yang tepat untuk menggerakkan motor. Untungnya, tidak perlu mencari tahu urutan yang tepat yang diperlukan untuk menyalakan gulungan dengan polaritas yang tepat. Pustaka stepper bawaan Arduino memecahkan ini untuk Anda. 

Untuk menghubungkannya, buat koneksi input berikut: 

Arduino Pin 4> AIN1
Pin Arduino 5> AIN 2 
Pin Arduino 6> BIN1 
Pin Arduino 7> BIN 2 
Arduino + 5v> SLP 

Di sisi output, Anda ingin menghubungkan satu pasang kumparan stepper ke salah satu pasang pin output H-bridge. Kemudian diikuti untuk menghubungkan pasangan kabel motor lainnya ke output lainnya. 

Terakhir, colokkan catu daya eksternal (paket baterai) ke dalam blok terminal daya eksternal, dengan menjaga polaritas yang tepat. 

Untuk membuatnya bekerja, kita hanya perlu menginisiasi perpustakaan, menginisiasi instance dari motor stepper dalam kode, dan kemudian mengkonfigurasinya agar sesuai dengan motor kita. Anda dapat melihat contoh di sini:
    // Include the stepper library. 
    // This comes default with the Arduino software.
    
    #include <Stepper.h>
     
    // 200 is the number of "steps" it takes the motor to make 
    // one 360 degree revolution. Change this number to match your
    // stepper motor by dividing the step angle into 360.
    // In this case, 360/1.8 = 200 steps
    
    #define STEPS 200
    
    // create an instance of the stepper class called "stepper"
    // tell "stepper" the number of steps it takes 
    // the actual motor to make one revolution
    // and which pins will be controlling it.
    
    Stepper stepper(STEPS, 4, 5, 6, 7);
     
    void setup()
    {
      // set the speed of the motor to 100 RPMs
      stepper.setSpeed(100);
    }
     
    void loop(){

      //select a random amount of steps for the motor to take
      // between 0 and 500
      
      int randomsteps = random(500);
      
      // Power the motor coils in a clockwise sequence
      // to take however many steps selected by randomsteps
      
      stepper.step(randomsteps);
      delay(1000);

      // Power the motor coils in a counter clockwise sequence
      // simply by adding a - symbol
      
      stepper.step(-randomsteps);
      delay(1000);
      
    }
Manfaat menggunakan modul adalah Anda dapat memilih fungsi yang Anda inginkan dari papan dan hanya jumlah minimum absolut pin Arduino yang terhubung. Juga, karena tidak duduk di atas Arduino, itu bisa lebih kecil, dan lebih kompak. Ukuran kecil ini bermanfaat karena tidak hanya membuatnya lebih mudah masuk ke dalam kandang proyek yang ketat, tetapi juga menekan biaya produksi. Modul cenderung lebih murah daripada perisai. 

Namun, Anda mungkin hanya ingin menggunakan perisai karena berpotensi lebih mudah untuk berinteraksi dan Anda tidak akan berakhir dengan kekacauan kabel.

Terlepas dari apakah Anda menggunakan perisai atau modul, semakin robot Anda menjadi, semakin kecil kemungkinan bahwa satu papan akan melakukan semua yang Anda butuhkan. Baik perisai dan modul biasanya dimaksudkan untuk memecahkan masalah umum dasar. Ketika robot Anda mulai berevolusi, Anda akan menemukan masalah kompleks spesifik yang melebihi kemampuan papan ini.
Jika Anda tidak menemukan perisai atau modul yang melakukan apa yang Anda butuhkan, jangan putus asa. Anda selalu dapat membuat papan sirkuit khusus sesuai kebutuhan Anda. Seperti yang ditunjukkan di atas, papan prototipe baru ini bahkan dapat ditumpuk di atas perisai Arduino yang ada. Jika Anda benar-benar ingin melangkah lebih jauh dan lebih jauh, Anda bahkan dapat melangkah lebih jauh dengan mendesain papan sirkuit kustom Anda sendiri dan membuatnya diproduksi. Ini mungkin bukan sesuatu yang akan Anda lakukan segera, tetapi akan menjadi lebih menarik saat Anda menyelam ke dalam robotika.

Apa selanjutnya?

Sekarang setelah Anda dipersenjatai dengan semua pengetahuan elektronik untuk robot, langkah selanjutnya adalah membuat robot. Saya sarankan Anda mulai dengan Robot Telepresence . Ini adalah panduan komprehensif yang membahas pembuatan robot dan meninjau banyak konsep yang sama yang tercakup dalam kelas ini. 

Namun, jika robot itu tidak sesuai keinginan Anda, ada beberapa saran tambahan yang tercantum di bawah ini.

Komentar

Postingan populer dari blog ini