Construire une roue de mesure précise avec Arduino Nano et encodeur rotatif
Composants et fournitures
| Composant | Quantité |
|---|---|
| Arduino Nano R3 | 1 |
| Écran LCD 16×2 (blanc sur bleu) | 1 |
| Encodeur rotatif avec bouton poussoir | 1 |
| Potentiomètre 10 kΩ | 1 |
| Résistance 220 Ω | 1 |
Outils nécessaires
- Fer à souder
Applications et services en ligne
- Arduino IDE
À propos de ce projet
Une roue de mesure est un outil de chantier. La roue tourne et, grâce à la cinématique de rotation (s = rθ), on détermine la distance entre deux points.
La vidéo montre un modèle fonctionnel réduit réalisé avec :
- Arduino Nano
- Encodeur rotatif
- Écran LCD 16×2
- Potentiomètre 10 kΩ
- Résistance 220 Ω
Principe de fonctionnement
L'encodeur compte les pas de rotation. La distance parcourue dépend du diamètre de la roue. L'encodeur effectue N pas par tour complet (360°). N varie de 8 à 48 selon le modèle. Soit R le rayon de la roue.
- Distance par tour = 2 × π × R
- Distance par pas = 2 × π × R / N
Le code affiche la distance en centimètres sur l'écran LCD. Les valeurs de N et R sont à adapter selon vos composants. Dans mon cas, la roue est imprimée en 3D, l'ensemble monté sur une tige en aluminium.
Code
/* Roue de mesure
* par Mirko Pavleski
* https://www.youtube.com/channel/UCHLzc76TZel_vCTy0Znvqyw
*/
#include <LiquidCrystal.h>
LiquidCrystal lcd(5, 6, 7, 8, 9, 10);
int pin1 = 2;
int pin2 = 3;
int Pos = 0;
int State;
int LastState;
const float pi = 3.14;
const float R = 3.25; // Rayon en cm
const int N = 40; // Pas par tour
float distance = 0;
void setup() {
pinMode(pin1, INPUT_PULLUP);
pinMode(pin2, INPUT_PULLUP);
lcd.begin(16, 2);
lcd.print("ROUE DE MESURE");
LastState = digitalRead(pin1);
}
void loop() {
State = digitalRead(pin1);
if (State != LastState) {
if (digitalRead(pin2) != State) {
Pos++;
} else {
Pos--;
}
}
distance = ((2 * pi * R) / N) * Pos;
lcd.setCursor(0, 1);
lcd.print(distance);
lcd.setCursor(5, 1);
lcd.print("cm ");
LastState = State;
}
Schémas
Schéma de câblage : encodeur rotatif sur broches 2 et 3, LCD sur broches 5-10, potentiomètre pour contraste, résistance 220 Ω pour rétroéclairage.
Processus de fabrication
- Construire une horloge Numitron rétro avec Arduino : simple, fiable et économe en énergie
- Construire un jeu gyroscopique temps réel avec Arduino Nano et capteur MPU-6050
- Capteur d'obstacle IR simple avec Arduino — LED IR + Photodiode
- Construire un voltmètre DIY avec Arduino et écran Nokia 5110
- MobBob : Construisez votre propre robot Arduino, contrôlé via smartphone Android
- Créer une jauge IoT connectée au Web avec Arduino, Yaler et IFTTT
- Fréquencemètre DIY Arduino Nano – Mesure jusqu'à 6,5 MHz
- Construisez un moniteur de qualité d'air précis avec le capteur Sharp GP2Y1010AU0F
- Construire un Réveil Fiable avec RTC DS1302 et Arduino UNO