Tabla de contenido:

Tacómetro de bicicleta de bricolaje: 5 pasos (con imágenes)
Tacómetro de bicicleta de bricolaje: 5 pasos (con imágenes)

Video: Tacómetro de bicicleta de bricolaje: 5 pasos (con imágenes)

Video: Tacómetro de bicicleta de bricolaje: 5 pasos (con imágenes)
Video: Funcionamiento Tablero Digital en Spinning 2024, Noviembre
Anonim
Image
Image
Tacómetro de bicicleta de bricolaje
Tacómetro de bicicleta de bricolaje

Te mostraré cómo construir un velocímetro para bicicleta. Muestra su velocidad, la velocidad media, la temperatura, el tiempo de viaje y la distancia total. Puedes cambiarlo usando el botón. Además, la velocidad se muestra en un tacómetro. Lo construí porque me gusta construir cosas nuevas, no he encontrado nada como esto en Internet, así que quiero mostrarte cómo construir un buen velocímetro ya que el de mi bicicleta no es tan genial como quiero:). Entonces empecemos.

Paso 1: Partes:

Partes
Partes

Esta es una lista de piezas que necesitará. Me costaron alrededor de $ 40:

  • Arduino
  • Bicicleta con interruptor de lengüeta
  • Pantalla LCD 16x2
  • Servo
  • Tablero de circuitos
  • Termómetro DS18B20
  • Resistencia 1.2k Ω, 4.7k Ω
  • Cambiar
  • Botón
  • Potenciómetro 10 kΩ
  • Batería de 9V
  • Cables
  • Caja
  • Herramientas (taladro, soldadura, cuchillo, cinta)

Paso 2: Conexión

Conexión
Conexión
Conexión
Conexión
Conexión
Conexión
Conexión
Conexión

Agregué una imagen de Fritzing y una descripción verbal de cómo conectarlo. En la imagen, todos los cables rojos están conectados a 5V, todos los cables azules están conectados a GND.

Pantalla LCD:

VSS GND Arduino

VDP 5V Arduino

Potenciómetro de salida VO (potenciómetro VCC -> Arduino 5V, potenciómetro GND -> Arduino GND).

RS pin 12 Arduino

RW GND Arduino

E pin 11 Arduino

D4 pin 5 Arduino

D5 pin 4 Arduino

D6 pin 3 Arduino

D7 pin 2 Arduino

Un Arduino de 5 V

K GND Arduino

Servo:

VCC 5V Arduino

masa GND Arduino

Pin de datos 6 Arduino

Termómetro:

VCC 5V Arduino

masa GND Arduino

Pin de datos 1 Arduino

los datos y la alimentación se conectan a través de una resistencia de 4,7 kΩ

Sensor en rueda:

un extremo -> 5V Arduino

segundo extremo -> A0 Arduino y resistencia 1, 2 kΩ

El otro extremo de la resistencia a tierra en el Arduino

Botón:

un extremo 5V Arduino

segundo extremo A1 Arduino

Paso 3: Cargar código:

A continuación agregué el código en los comentarios, hay una explicación.

enlaces a las bibliotecas de descarga:

www.pjrc.com/teensy/arduino_libraries/OneWire.zip

github.com/milesburton/Arduino-Temperature-Control-Library

Si tiene un diámetro de rueda diferente, debe cambiarlo. Puedes calcularlo con esta fórmula:

circuito = π * d * 2, 54 (d = diámetro de tu rueda, lo multipliqué por 2.54 para obtener el resultado en metros).

/*

############################################### Copyright de Nikodem Bartnik junio de 2014 ########################################## ###### * / // bibliotecas #include #include #include #include #define ONE_WIRE_BUS 1 OneWire oneWire (ONE_WIRE_BUS); Sensores de temperatura de Dallas (y oneWire); // Pines de pantalla LCD LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // nombre del servo Servo myservo; // definición de variables mucho tiempo anterior, tiempo de viaje, tiempo, impulsos; flotador velocímetro, dist, aspeed; int servo; int pantalla = 1; // Si tiene otro circuito de rueda, necesita cambiarlo float circuit = 2.0; doble temperatura; configuración vacía () {lcd.begin (16, 2);

pinMode (A0, ENTRADA); pinMode (A1, ENTRADA); // definición del servo y ajuste del tacómetro a 0 myservo.attach (6); myservo.write (180); lcd.print ("Tacómetro de bicicleta"); retraso (1000); lcd.setCursor (5, 1); lcd.print ("V 1.0"); retraso (4000); lcd.clear (); retraso (500); lcd.setCursor (0, 0); lcd.print ("Dist:"); } void loop () {// si la rueda gira if (analogRead (A0)> = 300) {// número de vueltas ++ impulses ++; // cuenta el tiempo de turno tiempo = (millis () - anterior); // cuenta la velocidad del velocímetro = (circuito / tiempo) * 3600.0; anterior = milis (); Tacómetro(); retraso (100); } Lcd (); } // muestra la velocidad en el tacómetro void Tacómetro () {// mapea la velocidad 0-180 al servo velocímetro = int (velocímetro); servo = mapa (velocímetro, 0, 72, 180, 0); // configurar servo myservo.write (servo); } void Lcd () {// cuando se hace clic en el botón if (analogRead (A1)> = 1010) {lcd.clear (); pantalla ++; if (pantalla == 5) {pantalla = 1; }} if (screen == 1) {// muestra la velocidad lcd.setCursor (0, 1); lcd.print ("Velocidad:"); lcd.setCursor (7, 1); lcd.print (velocímetro); lcd.print ("km / h"); } if (pantalla == 2) {// muestra la temperatura de funcionamiento = sensores.getTempCByIndex (0); sensores.requestTemperaturas (); lcd.setCursor (0, 1); lcd.print ("Temp:"); lcd.setCursor (7, 1); lcd.print (temperatura); lcd.print ("C"); } if (screen == 3) {// muestra la velocidad promedio aspeed = dist / (millis () / 1000.0) * 3600.0; lcd.setCursor (0, 1); lcd.print ("A.velocidad:"); lcd.setCursor (8, 1); lcd.print (aspeed); lcd.print ("km / h"); } if (pantalla == 4) {// muestra el tiempo de viaje triptime = millis () / 60000; lcd.setCursor (0, 1); lcd.print ("Hora:"); lcd.setCursor (7, 1); lcd.print (tiempo de viaje); } lcd.setCursor (0, 0); lcd.print ("Dist:"); // cálculo de la distancia dist = impulsos * circuito / 1000.00; // muestra la distancia lcd.setCursor (6, 0); lcd.print (dist); lcd.print ("km"); }

Paso 4: Empaque

Paquete
Paquete
Paquete
Paquete
Paquete
Paquete

Como tapa, usé una caja de plástico que compré por $ 1. Corté agujeros con un cuchillo y un taladro. El servo y la pantalla LCD los pegué con cinta adhesiva, la punta hice con cartón y la pinté con pintura. Hice un escudo en Corel Draw X5 y lo imprimí, agregué una imagen-p.webp

Paso 5: ¡Ejecutarlo

¡Ejecutarlo!
¡Ejecutarlo!
¡Ejecutarlo!
¡Ejecutarlo!
¡Ejecutarlo!
¡Ejecutarlo!
¡Ejecutarlo!
¡Ejecutarlo!

Ahora esta listo. Todo lo que necesita hacer es encenderlo y conducir. Diviértete con tu velocímetro. Si te gusta este proyecto, vota por mí.

Recomendado: