Tentang proyek ini
Roda ukur adalah alat ukur konstruksi. Roda berputar dan, menggunakan kinematika rotasi dasar (s=rθ), Anda dapat menentukan jarak antara dua titik.
Video di bawah ini menunjukkan model fungsional yang dikurangi dari perangkat semacam itu yang dibuat dengan beberapa komponen:
- Arduino Nano
- Enkoder putar
- Layar LCD 16x2
- 10rb pot.
- Resistor 220 ohm
Prinsip operasi adalah sebagai berikut:
Rotary encoder mengukur jumlah putaran tetapi kita harus mengubah putaran menjadi jarak tempuh. Jarak tempuh tergantung pada diameter roda. Rotary encoder menggerakkan N langkah dalam satu putaran penuh (360 derajat). Langkah per putaran tergantung pada rotary encoder yang dapat diubah dari 8 menjadi 48. Misalkan N adalah langkah per putaran dan R adalah jari-jari roda.
Jarak tempuh dalam satu Rotasi =2xπxR
Jarak tempuh dalam satu Langkah adalah =2xπxR/N
Saya menulis kode yang sangat sederhana untuk tujuan ini dan jarak tempuh ditampilkan pada layar LCD dalam sentimeter. Bergantung pada komponen yang digunakan dalam kode, kami mengubah nilai "N" dan "R".
Dalam kasus saya, roda dibuat pada printer 3D dan seluruh rakitan dipasang pada batang aluminium, seperti yang terlihat dalam video.
Kode
KodeC/C++
/* Mengukur Roda * * oleh Mirko Pavleski, * * https://www.youtube.com/channel/UCHLzc76TZel_vCTy0Znvqyw */#include LiquidCrystal lcd(5, 6, 7, 8, 9, 10);int pin1 =2;int pin2 =3;int Pos =0; int Negara;int Negara Terakhir; const float pi =3,14;const float R =3,25;const int N =40;float distance =0;void setup() { pinMode (pin1 ,INPUT_PULLUP); pinMode (pin2 ,INPUT_PULLUP); lcd.begin(16, 2); lcd.print("RODA PENGUKUR"); Status Terakhir =digitalRead(pin1); } void loop() { Status =digitalRead(pin1); if (State !=LastState){ if (digitalRead(pin2) !=State) { Pos ++; } else { Pos --; } } jarak =((2*pi*R)/N) * Pos; lcd.setCursor(0, 1); lcd.print(jarak); lcd.setCursor(5, 1); lcd.print("cm"); Status Terakhir =Status; }
Skema