Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Construir una rueda medidora DIY precisa con Arduino Nano y encoder rotativo

Componentes y suministros

ComponenteCantidad
Arduino Nano R31
LCD estándar 16x2 Blanco sobre Azul1
Encoder rotativo con pulsador1
Potenciómetro de una vuelta - 10k Ω1
Resistencia 220 Ω1

Herramientas necesarias

Aplicaciones y servicios online

Sobre este proyecto

Una rueda medidora es una herramienta de medición para construcción. La rueda gira y, usando cinemática rotacional básica (s = rθ), puedes determinar la distancia entre dos puntos.

El video muestra un modelo funcional reducido de dicho dispositivo hecho con varios componentes:

Principio de funcionamiento

El encoder rotativo mide el número de rotaciones, pero debemos convertir la rotación en distancia recorrida. La distancia recorrida depende del diámetro de la rueda. El encoder da N pasos en una rotación completa (360°). Los pasos por rotación dependen del encoder y pueden variar de 8 a 48. Supongamos que N son los pasos por rotación y R es el radio de la rueda.

Distancia recorrida en una rotación = 2 × π × R

Distancia recorrida en un paso = (2 × π × R) / N

Escribí un código muy simple para este propósito y la distancia recorrida se muestra en la pantalla LCD en centímetros. Dependiendo de los componentes usados, en el código cambiamos los valores de "N" y "R".

En mi caso, la rueda está impresa en 3D y todo el conjunto está montado en una varilla de aluminio, como se ve en el video.

Código

/* Rueda Medidora
 * por Mirko Pavleski
 * https://www.youtube.com/channel/UCHLzc76TZel_vCTy0Znvqyw
 */
#include <LiquidCrystal.h>

LiquidCrystal lcd(5, 6, 7, 8, 9, 10);
int pin1 = 2;   // Pin A del encoder
int pin2 = 3;   // Pin B del encoder
int Pos = 0;    // Contador de posición
int State;
int LastState;

const float pi = 3.14;
const float R = 3.25; // Radio de la rueda en cm
const int N = 40;     // Pasos por vuelta del encoder
float distance = 0;

void setup() {
  pinMode(pin1, INPUT_PULLUP);
  pinMode(pin2, INPUT_PULLUP);
  lcd.begin(16, 2);
  lcd.print("RUEDA MEDIDORA");
  LastState = digitalRead(pin1);
}

void loop() {
  State = digitalRead(pin1);
  if (State != LastState) {
    if (digitalRead(pin2) != State) {
      Pos++; // Sentido horario
    } else {
      Pos--; // Sentido antihorario
    }
  }
  
  distance = ((2 * pi * R) / N) * Pos;
  lcd.setCursor(0, 1);
  lcd.print(distance);
  lcd.setCursor(5, 1);
  lcd.print("cm ");
  
  LastState = State;
}

Esquemáticos

Conexiones: Encoder pines A/B → D2/D3 (con pull-up interno), LCD RS/E/D4-D7 → D5-D10, potenciómetro 10k para contraste LCD (pin Vo), resistencia 220Ω para backlight LCD.

Proceso de manufactura

  1. Construye un reloj Numitron retro con Arduino: Simple, fiable y eficiente energéticamente
  2. Construye un Juego Giroscópico en Tiempo Real con Arduino Nano y Sensor MPU-6050
  3. Sensor de obstáculos IR casero con Arduino – Tutorial fácil con LED IR y fotodiodo
  4. Construye un voltímetro DIY con Arduino y pantalla Nokia 5110 – Guía paso a paso
  5. MobBob: Robot Arduino Impreso en 3D, Controlado por Smartphone Android
  6. Crear un medidor IoT web con Arduino, Yaler e IFTTT
  7. Medidor de Frecuencia DIY con Arduino Nano – Hasta 6.5 MHz
  8. Construye un monitor de calidad del aire preciso con el sensor Sharp GP2Y1010AU0F
  9. Contador Geiger Portátil con Arduino Nano: Construye tu Detector de Radiación
  10. Medición Precisa de Radiación Solar con Arduino UNO y Shield Ethernet
  11. Construye un reloj despertador fiable con RTC DS1302 y Arduino UNO