Sabtu, 25 Juli 2020

Mengetahui Jumlah Pulsa Encoder 1 Putaran Roda Dengan Arduino

- Proyek Arduino menggunakan encoder kali ini yakni bagaimana mempergunakan pulsa encoder untuk mengetahui jumlah 1 putaran penuh roda. Kiri : Roda dan Internal Encoder Kanan : Komputer + Arduino Monitor Dimana dikala kita mengenali jumlah putaran sebuah roda maka kita akan bisa membuat aneka macam aplikasi lebih/menguntungkan/canggih hanya menggunakan sensor encoder. Sample Contoh, jika sudah mengenali jumlah 1 putaran roda, maka teman akan bisa : 1. Membuat Jam dengan Putaran Motor DC. 2. Mengetahui sudut yang dibentuk robot beroda. 3. Menghitung Berapa kali roda berputar 4. Bahkan mungkin teman memiliki ilham inovatif lainnya. Lalu kembali ke topic, Bagaimana sesungguhnya cara mengenali jumlah 1 Putaran Roda ( Tick Per Revolution ) dengan Menggunakan Sensor Encoder ? Teorinya simplenya sebagai berikut : Jika sahabat ingin membentuk sebuah lingkaran bundar sarat mirip gambar dibawah ini, dan sobat mempunyai lidi yang panjangnya sama dan pas untuk suatu jari jari linkaran tersebut. GAMBAR ILUSTRASI LINGKARAN DARI LIDI ENCODER Kemudian sahabat isi bulat tersebut dengan lidi yang hingga sarat , maka alhasil sobat akan mudah mengenali bila sobat minimalkan lidi separuh maka akan membentuk setengah bundar. Aplikasi dengan Menggunakan Arduino Untuk mengerti aplikasi secara pribadi, mari teman ikuti langkah step selaku berikut : Persiapan Percobaan - Persiapkan alat dan software sebagai berikut : 1. Motor DC dengan Internal Encoder 2. Komputer dengan Arduino IDE - Tandai dan Posisikan motor DC dengan kertas dan anggap sebagai arah jam 00.00 - Hubungkan Pin Channel Encoder dengan Pin Arduino BACA : INI LIBRARY PINCHANGE INT CARA MUDAH MEMBACA ENCODER - Copy acara Arduino berikut dan upload ke Board Arduino hingga Done Uploading : /* Membaca Count Encoder dengan Arduino IND : Sesuaikan Pin Channel A dan B sobat, PinChangeInt berfunsi baik dalam pin Analog EN  : Please careful to select your pin Channel A and B, PinChangeInt best performance in Analog Pin   Arduino Uno :   A0 A1 A2 A3 A4 A5   Arduino Mega :   A10 A11 A12 A13 A14 A15 IND : Jika memakai pin digital maka setiap channel harus diberi resistor pull up       Keterangan lengkap baca isi libray dari PinChangeInt EN  : If you use digital Pin, insert every pin channel with pull up resistor Created by : Jufrika Danil Date       : 19/12/2017 */   #include        //library   #include  //library   #define encoder1PhaseA A10  //A10 Channel A   #define encoder1PhaseB A11  //A11 Channel B    long encoder1Position=0; void setup()   // put your setup code here, to run once:   pinMode (encoder1PhaseA,INPUT); //set as input   pinMode (encoder1PhaseB,INPUT); //set as input     //Set Encoder PullUp   digitalWrite(encoder1PhaseA,HIGH);   digitalWrite(encoder1PhaseB,HIGH);   PCintPort::attachInterrupt(A10, doEncoder1, CHANGE); //learn type Change, Rising   Serial.begin (9600); //Standard Serial Monitor void loop()   // put your main code here, to run repeatedly:  float newposition = encoder1Position; //store encoder position to newposition variable  Serial.print   ("count: ");  Serial.print (newposition);  //print in serial monitor  Serial.println (); // function void to read encoder void doEncoder1()   if (digitalRead(encoder1PhaseA) == digitalRead(encoder1PhaseB))       encoder1Position--;     else       encoder1Position++;   - Setelah di upload Buka Serial Monitor di Arduino. - Putar roda motor DC secara manual searah jarum dari jam 00 hingga kembali ke 00 ( 1 Putaran Penuh ). Putaran 1 Roda Penuh 500 Pulsa Lihat nilai pulsa yang timbul sehabis terjadi 1 Putaran(lihat kotak merah di LCD), maka itulah nilai pulsa yang diperlukan roda untuk 1 putaran sarat . Source Code mampu sahabat download melalui link .
Sumber http://jufrikablog.blogspot.com


EmoticonEmoticon