Bagaimana Pengekod Rotary Berfungsi Dengan Arduino!

Pengekod putar adalah alat masukan yang hebat untuk setiap projek seperti menu pencetak 3D. Jadi dalam tutorial ini, kita akan belajar bagaimana pengekod berputar berfungsi dan bagaimana menggunakannya dengan Arduino.

Jadi mari kita mulakan!

Langkah 1: Tonton Video!

Jika anda tidak mahu membaca semua perkara yang anda boleh menonton video saya, ia akan menjadi lebih mudah difahami.

Langkah 2: Gambaran Keseluruhan

Pengekod putar, juga dikenali sebagai pengekod batang, adalah peranti elektro-mekanikal yang menukar posisi sudut atau gerakan aci atau gandar ke isyarat keluaran analog atau digital.

Terdapat dua jenis utama rotary encoder

1) Mutlak - Keluaran pengekod mutlak menandakan kedudukan aci semasa, menjadikannya satu sudut transducer.

2) Penambahan - Output encoder tambahan menyediakan maklumat tentang gerakan aci, yang biasanya diproses di tempat lain ke dalam maklumat seperti kedudukan, kelajuan, dan jarak.

Nota: Yang kita gunakan dalam projek kami adalah jenis Tambahan supaya kami akan memfokuskannya.

Langkah 3: Apakah Pengekod Rotary Berpanjangan?

Pengekod tambahan akan segera melaporkan perubahan dalam kedudukan (Clockwise & Luaran), yang merupakan keupayaan penting dalam sesetengah aplikasi. Walau bagaimanapun, ia tidak melaporkan atau menjejaki kedudukan mutlak. Akibatnya, sistem mekanikal yang dipantau oleh pengekod tambahan perlu dipindahkan ke titik rujukan tetap untuk memulakan pengukuran kedudukan.

Langkah 4: Pembinaan & Bekerja

Satu yang saya ada di papan pelarian ini yang sudah mempunyai resistor pull-up yang diperlukan di atasnya.

Ia mempunyai lima pin - Jam, Data, Suis, Vcc, GND

Pembinaan:

Tombol yang kita berputar tersambung secara dalaman ke cakera (Pic - 2). Jika kita berputar mengikut arah jam atau lawan arah jam, ia akan bergerak dengan sewajarnya. Bahagian abu-abu adalah titik kenalan GND dan Golden dihubungkan dengan Vcc. Terdapat dua titik hubungan yang diletakkan pada jarak tertentu yang mana selain dari JAM dan DATA.

Bekerja:

Apabila kita memutar pengekod kami, dua output akan berubah bergantung pada kedudukan pengekod. Yang akan menghasilkan dua kereta api denyutan.

Jika anda melihat dengan teliti kedua-dua isyarat ini akan menjadi 90 darjah dari fasa. Jika encoder berputar mengikut arah jam maka JAM akan membawa dan jika pengekod berputar berlawanan arah jam maka DATA akan memimpin.

Dan melihat perubahan keadaan untuk dua arah jam dua isyarat akan mempunyai nilai-nilai yang bertentangan dan untuk nilai-nilai yang sama mengikut arah jam.

Dan sekarang jika kita memprogramkan Arduino kita dengan sewajarnya, kita boleh mendapatkannya untuk bekerja dengan projek kami.

Langkah 5: Pengaturcaraan

Contoh 1: (Counter.ino)

Sekarang dalam contoh ini, CLK disambungkan ke pin 3, DT ke 4 dan SW ke 5, maka kami mempunyai beberapa pemboleh ubah untuk menyimpan data. Dalam bahagian persediaan yang tidak sah CLK, DT dan SW ditetapkan sebagai input dan kemudian memulakan perintah siri dan di sini disimpan kedudukan semasa dalam keadaan terakhir

Dalam seksyen gelung kosong terlebih dahulu, kita membaca keadaan semasa jam dan menggunakannya lain semak jika ia telah berubah.

Jika keadaan! = Negeri terakhir bermakna ia telah mengubah kedudukannya. Dan jika data! = Nyatakan maka CW lain CCW yang akan meningkatkan atau mengurangkan kaunter dengan sewajarnya.

Kemudian menggunakan cetakan bersiri mencetak pemboleh ubah kaunter. Dan jika suis yang ditekan akan diset semula ke 0 dan mencetaknya, pada akhirnya, letakkan keadaan itu ke negeri terakhir

Contoh 2: (LEDBrightness.ino)

Dalam contoh ini, saya telah meletakkan nilai kaunter dalam fungsi menulis analog dan fungsi kekangan yang digunakan untuk menghadkan kemarahan antara 0-255 supaya ia berfungsi

Nota: lebih baik jika anda membuka kod dalam Arduino IDE dan membacanya sekali

Lampiran

  • Muat turun Counter.ino
  • LEDBrightness.ino Muat turun

Langkah 6: Terima Kasih!

Semak JLCPCB
$ 2 PCB Prototaip (10pcs, 10 * 10cm): //jlcpcb.com

Itulah jika anda suka kerja saya

Jangan ragu untuk menyemak saluran YouTube saya untuk perkara yang lebih hebat: //www.youtube.com/c/Nematics_lab

Anda juga boleh mengikuti saya di Facebook, Twitter dan lain-lain untuk projek yang akan datang

//www.facebook.com/NematicsLab/

//www.instagram.com/nematic_yt/

//twitter.com/Nematic_YT

Artikel Berkaitan