Daftar Isi:

Bangun Pengamat Mesin: 9 Langkah
Bangun Pengamat Mesin: 9 Langkah

Video: Bangun Pengamat Mesin: 9 Langkah

Video: Bangun Pengamat Mesin: 9 Langkah
Video: INTEL MOSSAD Kerjanya Cuma Tidur, Israel Dihujani Ribuan Roket, dari Mana Hamas Mendapatkan Senjata? 2024, Juli
Anonim
Bangun Pengamat Mesin
Bangun Pengamat Mesin
Bangun Pengamat Mesin
Bangun Pengamat Mesin

Titik awal untuk proyek ini adalah mengerjakan proyek konkret untuk mempelajari beberapa hal tentang papan mikrokontroler.

Ide awalnya adalah membuat objek fisik yang dapat memantau Sistem Integrasi Berkelanjutan (VSTS|Azure DevOps) dan melaporkan kegagalan pembuatan perangkat lunak. Karena masalah keamanan dari departemen TI, saya telah ditolak untuk menghubungkan perangkat "non-standar" langsung ke jaringan perusahaan.

Saya berakhir dengan arsitektur yang ditunjukkan pada gambar di atas. Alur kerja eksekusi dapat diringkas sebagai:

Aplikasi desktop Windows memindai (menarik) Definisi Pembuatan VSTS. Ini menganalisis hasil pembangunan, dan kemudian mengirim perintah ke perangkat fisik yang menjalankan sedikit urutan animasi sebelum menunjukkan bendera merah atau hijau.

Langkah 1: Bagian yang Dibutuhkan

Daftar berikut merangkum semua item yang dibutuhkan:

  • 1 Arduino UNO R3 (https://store.arduino.cc/usa/arduino-uno-rev3).
  • 1 Perisai Pengeluaran (https://www.dfrobot.com/wiki/index.php/IO_Expansion_Shield_for_Arduino_V7_SKU:DFR0265).
  • 2 modul XBee S1 (https://www.adafruit.com/product/128).
  • 1 dongle penjelajah XBee (https://www.sparkfun.com/products/11697).
  • 2 motor servo kontinu 5VDC dengan aksesori pemasangan (https://www.parallax.com/sites/default/files/downloads/900-00008-Continuous-Rotation-Servo-Documentation-v2.2.pdf).
  • 1 catu daya 9VDC.
  • 3 LED.
  • 3 resistor 220 Ohm.
  • lengan termo ditarik.
  • 1 tombol tekan.
  • resistor tarik 10KΩ untuk pull up.
  • kapasitor 100nF.
  • kabel listrik.
  • strip-board (untuk pemasangan tombol)
  • Kayu 5mm (50x50cm).
  • tongkat kayu bagian persegi 5x5 mm (1m).
  • kardus.
  • 10 X sekrup diameter 2mm.
  • 4 sekrup diameter 5mm.
  • magnet yang kuat.
  • modul putar. Saya menggunakan kembali bagian internal yang bergerak dari lampu yang berkedip. Anda dapat menempatkan apa pun yang Anda inginkan. Anda hanya perlu berhati-hati agar 2 bagian ponsel dapat bergerak bebas tanpa bersentuhan.

Langkah 2: Membangun Kotak

Membangun Kotak
Membangun Kotak

Sebenarnya Anda dapat memiliki kotak dengan bentuk apa pun yang Anda inginkan. Hal utama yang harus dipikirkan sebelum memulai adalah di mana akan menjadi bagian yang bergerak dan untuk memastikan bahwa mereka dapat bergerak bebas tanpa bersentuhan. Poin lainnya adalah di mana Anda akan meletakkan perangkat? Saya berakhir dengan magnet (yang kuat) untuk menempelkannya ke penyangga logam apa pun. jika Anda ingin membuat kotak yang sama, Anda dapat mengikuti petunjuk di file box_drawings.pdf.

Dalam hal ini Anda hanya perlu memotong semua bagian yang berbeda, membuat lubang untuk servomotor, LED, tombol dan sekrup dan akhirnya merekatkan semua bagian menjadi satu. Setelah kering, sedikit pengamplasan dan beberapa warna.

Kedua bendera tersebut dibuat menggunakan beberapa karton merah dan hijau. Untuk memperbaiki tiang bendera pada servomotor Anda dapat menggunakan bagian pemasangan yang disediakan saat Anda membelinya.

Langkah 3: Pengaturan Arduino

Pengaturan Arduino
Pengaturan Arduino

Item yang terhubung ke papan ekstensi Arduino adalah:

  • PIN D2: tombol tekan.
  • PIN D4: LED untuk menyatakan sistem AKTIF.
  • D5 PIN: LED untuk mengatakan kami menjalankan siklus.
  • D6 PIN: LED untuk mengatakan perangkat telah menerima pesan baru.
  • D9 PIN: sinyal pulsa PWM untuk servomotor yang menangani gyro.
  • PIN D10: sinyal pulsa PWM untuk servomotor yang menangani bendera.
  • Soket XBee: satu Modul ZigBee.

Skema di atas menunjukkan bagaimana semua item terhubung ke papan.

Untuk LED, resistor dan kabel dilas langsung di atasnya (jaga polaritasnya). Semuanya kemudian dikemas dalam beberapa selongsong termo yang dapat ditarik.

Untuk tombol tekan, semua bagian (tombol, resistor, dan kapasitor) langsung dilas pada papan strip satelit kecil. Papan strip kemudian langsung dipasang dengan dua sekrup (2mm)

Servomotors beroperasi dengan daya 5V sehingga dapat dihubungkan langsung ke Arduino. Jika Anda menggunakan yang bertegangan lebih tinggi (12V), Anda harus menambahkan lapisan lain untuk catu daya.

Untuk modul XBee, setelah dikonfigurasi untuk berbicara bersama (lihat bagian berikutnya), modul tersebut dapat langsung dicolokkan ke soket.

Catatan: LED dan tombol tekan dapat dihubungkan langsung ke pin Arduino karena dapat mengimplementasikan secara internal sekuritas yang diperlukan. Saya hanya melakukan cara lama karena aspek ini tidak terlalu jelas bagi saya.

Langkah 4: Perangkat Lunak - XCTU

Perangkat Lunak - XCTU
Perangkat Lunak - XCTU

Seperti disebutkan di atas, kedua perangkat XBee harus dikonfigurasi untuk berbicara bersama. Untuk melakukan itu, Anda perlu menggunakan perangkat lunak X-CTU khusus dari DIGI. Anda perlu melakukan langkah konfigurasi ini hanya sekali. silakan ikuti prosedur yang dijelaskan dalam file xbee_configuration.pdf.

Setelah konfigurasi selesai, Anda dapat menghubungkan setiap modul pada soketnya. Satu di konverter USB/Serial dan satu lagi di papan ekstensi Arduino.

Konverter USB/Serial harus dikenali secara otomatis oleh windows 10. Jika tidak, Anda mungkin harus menginstal driver secara manual

Catatan:

Menggunakan modul XBee untuk melakukan komunikasi serial dasar sedikit berlebihan. Pada saat saya memulai proyek, saya tidak berhasil menemukan perangkat komunikasi serial sederhana yang mudah digunakan di windows 10 (masalah driver). Itu juga merupakan kesempatan untuk mempelajari beberapa hal tentang

Langkah 5: Perangkat Lunak - Arduino Sketch

Perangkat Lunak - Arduino Sketch
Perangkat Lunak - Arduino Sketch

Untuk memprogram Arduino kami menggunakan IDE yang dapat diakses dari situs web resmi.

Logika program ini agak sederhana, hanya mendengarkan pada port serial default papan untuk huruf tunggal ('a', 'b', …). Jika karakter yang diterima cocok dengan perintah yang diketahui, maka sub-fungsi memainkan urutan yang sesuai.

2 perintah utama yang berguna adalah animasi sukses ('a') dan animasi kesalahan ('b').

Untuk bisa bermain (atau debugging) sedikit lebih banyak dengan kotak ada beberapa perintah tambahan yang bisa dijalankan. Mereka:

  • 'o': paksa LED ON menjadi ON
  • 'p': paksa LED ON menjadi OFF
  • 'q': paksa LED Pesan Baru menjadi ON
  • 'r': paksa LED Pesan Baru menjadi OFF
  • 's': paksa LED Siklus menjadi ON
  • 't': paksa LED Siklus menjadi OFF
  • 'u': aktifkan servomotor gyro
  • 'v': aktifkan servomotor bendera.

Selain perintah serial ada sub-rutin (handlePushButton) yang diaktifkan saat tombol tekan ditekan pada perangkat. Dalam hal ini animasi kesalahan atau sukses diputar secara otomatis. Fitur ini memungkinkan untuk memeriksa apakah perangkat fisik telah dipasang dengan benar.

Kode sketsa Arduino ada di file tunggal bsldevice.ino. Anda dapat mengunggahnya langsung menggunakan IDE.

Langkah 6: Perangkat Lunak - Aplikasi Desktop

Perangkat Lunak - Aplikasi Desktop
Perangkat Lunak - Aplikasi Desktop

Tujuan dari aplikasi desktop adalah untuk memantau situs web Microsoft Azure DevOps (sebelumnya VSTS) dan untuk mendeteksi jika Definisi Bangun berhasil atau salah. Setiap kali build selesai, aplikasi desktop menentukan status build dan mengirim perintah yang sesuai ('a' atau 'b') ke port serial (COMx).

Setelah meluncurkan aplikasi, tindakan pertama adalah memilih port com yang tepat di mana modul ZigBee terhubung. Untuk menentukan port Anda dapat menggunakan Windows Device Manager (di bawah Ports (bagian COM & LPT)). Koneksi ke Azure DevOps dilakukan secara otomatis saat startup menggunakan kredensial pengguna saat ini. Anda juga dapat mengirim perintah yang telah ditentukan sebelumnya secara manual menggunakan kotak kombo di sebelah kanan.

Semua sumber telah dihasilkan dengan edisi profesional Visual Studio 2017. Ini membutuhkan. NET Framework 4.6.1. Versi Kerangka ini lebih disukai untuk memfasilitasi koneksi/otentikasi ke situs web VSTS.

menggunakan:

  • unduh arsip bslwatcher_sources.zip.
  • Ekstrak di disk Anda.
  • Baca file how_to_build.txt untuk detail build.

Langkah 7: Mulai Pertama

Ada dua hal utama yang harus diperhatikan saat memulai kotak:

1- Tidak ada cara bagi sistem untuk mengetahui sendiri di mana flag-flag tersebut berada. Sistem mengasumsikan bahwa saat startup bendera hijau sudah habis.

2- Saat menyalakan papan Arduino, tidak ada yang bergerak. Saat kami menggunakan servos kontinu, posisi nol diatur pada 90 secara default dalam file sketsa. Jika servomotor mulai berputar atau mengeluarkan suara. Anda mungkin harus mendefinisikan ulang posisi nolnya. Untuk melakukan itu Anda hanya perlu menyetel potensiometer di dalam lubang kecil di sisi servomotor.

www.arduino.cc/en/Reference/ServoWrite

cmra.rec.ri.cmu.edu/content/electronics/boe…

Langkah 8: Kesimpulan

Perangkat kecil ini secara fisik akan melaporkan status Sistem Integrasi Berkelanjutan Anda.

Karena "kecerdasan" ada di aplikasi desktop, Anda dapat menggunakan kotak untuk memantau perangkat lunak atau proses lain (surat, sensor suhu…). Anda hanya perlu memiliki akses ke API lain dan memutuskan apa yang "baik" atau apa yang "buruk". Jika Anda tidak menggunakan warna konvensi merah dan hijau, Anda bahkan dapat mengubah arti "pesan".

Perbaikan juga dapat dibawa ke kotak itu sendiri:

  • Gunakan baterai.
  • Gunakan protokol komunikasi lain.
  • Tambahkan sensor untuk mengetahui bendera mana yang ada di atas.

Harap Anda menemukan proyek ini menarik.

Terima kasih sudah membaca sampai sini.

Langkah 9: Lampiran

Beberapa tautan yang digunakan untuk membuat proyek ini:

Situs web Arduino:

Situs web DIGI:

Perangkat lunak XCTU:

Beberapa informasi yang digunakan dari orang lain:

arduino.stackexchange.com/questions/1321/se…

stackoverflow.com/questions/10399400/best-w…

www.mon-club-elec.fr/pmwiki_reference_ardui… (dalam bahasa Prancis)

jeromeabel.net/

Situs web MSDN secara umum:

docs.microsoft.com/en-us/dotnet/framework/…

Direkomendasikan: