Een nauwkeurig meetwieltje bouwen met Arduino Nano en draaiencoder
Onderdelen en benodigdheden
| Onderdeel | Aantal |
|---|---|
| Arduino Nano R3 | 1 |
| Standaard LCD 16×2 (wit op blauw) | 1 |
| Draaiencoder met drukknop | 1 |
| Enkelvoudige potentiometer 10 kΩ | 1 |
| Weerstand 220 Ω | 1 |
Benodigde tools
- Solderbout
Apps en online diensten
- Arduino IDE
Over dit project
Een meetwiel is een bouwmeetinstrument. Het wiel roteert en met behulp van basis rotatiekinematica (s = rθ) kan de afstand tussen twee punten worden bepaald.
De video toont een werkend model met de volgende componenten:
- Arduino Nano
- Draaiencoder
- 16×2 LCD-display
- 10 kΩ potentiometer (voor LCD-contrast)
- 220 Ω weerstand (voor LCD-backlight)
Werkingsprincipe
De draaiencoder meet het aantal stappen per rotatie. De afgelegde afstand hangt af van de wielstraal.
- N = stappen per volledige rotatie (360°) – afhankelijk van de encoder (typisch 8 tot 48).
- R = straal van het wiel in cm.
Afstand per rotatie = 2 × π × R
Afstand per stap = (2 × π × R) / N
De code berekent de afstand in centimeters en toont deze op het LCD. De waarden voor N en R worden in de code aangepast aan de gebruikte hardware. In dit project is het wiel 3D-geprint en gemonteerd op een aluminiumstang.
Code
/* Meetwiel
* Door Mirko Pavleski
* https://www.youtube.com/channel/UCHLzc76TZel_vCTy0Znvqyw
*/
#include <LiquidCrystal.h>
LiquidCrystal lcd(5, 6, 7, 8, 9, 10); // RS, E, D4, D5, D6, D7
int pin1 = 2; // Encoder CLK
int pin2 = 3; // Encoder DT
int Pos = 0;
int State;
int LastState;
const float pi = 3.14159;
const float R = 3.25; // Straal in cm
const int N = 40; // Stappen per rotatie
float distance = 0;
void setup() {
pinMode(pin1, INPUT_PULLUP);
pinMode(pin2, INPUT_PULLUP);
lcd.begin(16, 2);
lcd.print("MEETWIEL");
LastState = digitalRead(pin1);
}
void loop() {
State = digitalRead(pin1);
if (State != LastState) {
if (digitalRead(pin2) != State) {
Pos++; // Kloksgewijs
} else {
Pos--; // Counterkloksgewijs
}
}
distance = ((2 * pi * R) / N) * Pos;
lcd.setCursor(0, 1);
lcd.print(distance);
lcd.setCursor(5, 1);
lcd.print("cm ");
LastState = State;
}
Schema
Productieproces
- Bouw een retro Numitron-klok met Arduino: Eenvoudig, betrouwbaar en energiezuinig
- Bouw een real-time gyroscoop-spel met Arduino Nano & MPU-6050 sensor
- Een eenvoudige obstakelsensor bouwen met Arduino – IR LED & Fotodiodo Tutorial
- Bouw een DIY Voltmeter met Arduino en Nokia 5110 Display – Stap-voor-Stap Handleiding
- MobBob: Bouw Je Eigen Arduino Robot, Naadloos Bestuurd via Android Smartphone
- Web-IoT Meter Bouwen met Arduino, Yaler en IFTTT
- DIY Frequentiemeter – Meet tot 6,5 MHz met Arduino Nano
- Precieze Luchtkwaliteit Monitor met Sharp GP2Y1010AU0F Sensor
- Bouw een handgehoude Geiger-teller met Arduino Nano
- Accurate zonnestralingsmeting met Arduino UNO en Ethernet Shield
- Bouw een betrouwbare wekker met DS1302 RTC en Arduino UNO