Índice:

Tacômetro de bicicleta DIY: 5 etapas (com fotos)
Tacômetro de bicicleta DIY: 5 etapas (com fotos)

Vídeo: Tacômetro de bicicleta DIY: 5 etapas (com fotos)

Vídeo: Tacômetro de bicicleta DIY: 5 etapas (com fotos)
Vídeo: This sprocket carries extra water!! #mtb #mountainbike #shorts 2024, Novembro
Anonim
Image
Image
Tacômetro de bicicleta faça você mesmo
Tacômetro de bicicleta faça você mesmo

Vou mostrar como construir um velocímetro de bicicleta. Mostra a sua velocidade, a velocidade média, a temperatura, o tempo de viagem e a distância total. Você pode alterá-lo usando o botão. Além disso, a velocidade é mostrada em um tacômetro. Construí porque gosto de construir coisas novas, não encontrei nada parecido na internet, então quero mostrar a vocês como construir um bom velocímetro já que o da minha bicicleta não é tão legal quanto eu gostaria:). Então vamos começar.

Etapa 1: Peças:

Partes
Partes

Esta é uma lista das peças de que você precisará. Eles me custaram cerca de US $ 40:

  • Arduino
  • Bicicleta com interruptor de palheta
  • Display LCD 16x2
  • Servo
  • Tábua de pão
  • Termômetro DS18B20
  • Resistor 1,2k Ω, 4,7k Ω
  • Trocar
  • Botão
  • Potenciômetro 10 kΩ
  • Bateria 9V
  • Cabos
  • Caixa
  • Ferramentas (broca, solda, faca, fita)

Etapa 2: Conexão

Conexão
Conexão
Conexão
Conexão
Conexão
Conexão
Conexão
Conexão

Eu adicionei uma imagem de Fritzing e uma descrição verbal de como conectá-lo. Na foto, todos os fios vermelhos estão conectados a 5V, todos os cabos azuis estão conectados ao GND.

Tela de LCD:

VSS GND Arduino

VDP 5V Arduino

Potenciômetro de saída VO (potenciômetro VCC -> 5V Arduino, potenciômetro GND -> Arduino GND).

RS pino 12 Arduino

RW GND Arduino

E pino 11 Arduino

D4 pino 5 Arduino

D5 pino 4 Arduino

D6 pino 3 Arduino

D7 pino 2 Arduino

Um Arduino 5V

K GND Arduino

Servo:

VCC 5V Arduino

massa GND Arduino

Dados do pino 6 do Arduino

Termômetro:

VCC 5V Arduino

massa GND Arduino

Dados do pino 1 Arduino

dados e energia são conectados por meio de um resistor de 4,7 kΩ

Sensor na roda:

uma extremidade -> 5V Arduino

segunda extremidade -> A0 Arduino e resistor 1, 2 kΩ

A outra extremidade do resistor para aterrar no Arduino

Botão:

uma extremidade 5V Arduino

segunda extremidade A1 Arduino

Etapa 3: Upload do código:

Abaixo eu adicionei o código nos comentários, há uma explicação.

links para as bibliotecas de download:

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

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

Se você tiver um diâmetro de roda diferente, você deve alterá-lo. Você pode calculá-lo com esta fórmula:

circuito = π * d * 2, 54 (d = diâmetro da roda, multipliquei por 2,54 para obter o resultado em metros).

/*

############################################################### Copyright de Nikodem Bartnik junho de 2014 ################################################################################################ ####### * / // bibliotecas #include #include #include #include #define ONE_WIRE_BUS 1 OneWire oneWire (ONE_WIRE_BUS); Sensores de temperatura Dallas (& oneWire); // Pinos do display LCD LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // nome do servo Servo myservo; // definição das variáveis long anterior, trip, time, impulses; velocímetro de flutuação, dist, aspeed; int servo; tela interna = 1; // Se você tem outro circuito de roda, você precisa alterá-lo float circuit = 2.0; temperatura dupla; configuração vazia () {lcd.begin (16, 2);

pinMode (A0, INPUT); pinMode (A1, INPUT); // definição do servo e ajuste do tacômetro para 0 myservo.attach (6); myservo.write (180); lcd.print ("Tacômetro de bicicleta"); atraso (1000); lcd.setCursor (5, 1); lcd.print ("V 1.0"); atraso (4000); lcd.clear (); atraso (500); lcd.setCursor (0, 0); lcd.print ("Dist:"); } void loop () {// se a roda girar if (analogRead (A0)> = 300) {// número de voltas ++ impulsos ++; // conta o tempo de giro tempo = (millis () - anterior); // contagem do velocímetro = (circuito / tempo) * 3600.0; anterior = milis (); Tacômetro(); atraso (100); } Lcd (); } // exibir a velocidade no tacômetro void Tachometer () {// mapear a velocidade 0-180 para o servo velocímetro = int (velocímetro); servo = mapa (velocímetro, 0, 72, 180, 0); // configurar servo myservo.write (servo); } void Lcd () {// quando o botão é clicado if (analogRead (A1)> = 1010) {lcd.clear (); screen ++; if (tela == 5) {tela = 1; }} if (screen == 1) {// exibe a velocidade lcd.setCursor (0, 1); lcd.print ("Velocidade:"); lcd.setCursor (7, 1); lcd.print (velocímetro); lcd.print ("km / h"); } if (tela == 2) {// exibe a temperatura temperatura = sensores.getTempCByIndex (0); sensores.requestTemperatures (); lcd.setCursor (0, 1); lcd.print ("Temp:"); lcd.setCursor (7, 1); lcd.print (temperatura); lcd.print ("C"); } if (screen == 3) {// exibe a velocidade média aspeed = dist / (millis () / 1000.0) * 3600.0; lcd.setCursor (0, 1); lcd.print ("A.velocidade:"); lcd.setCursor (8, 1); lcd.print (aspeed); lcd.print ("km / h"); } if (screen == 4) {// mostra o tempo de viagem triptime = millis () / 60000; lcd.setCursor (0, 1); lcd.print ("Hora:"); lcd.setCursor (7, 1); lcd.print (tempo de viagem); } lcd.setCursor (0, 0); lcd.print ("Dist:"); // cálculo da distância dist = impulsos * circuito / 1000,00; // dislays distance lcd.setCursor (6, 0); lcd.print (dist); lcd.print ("km"); }

Etapa 4: embalar

Pacote
Pacote
Pacote
Pacote
Pacote
Pacote

Usei como tampa uma caixa de plástico que comprei por US $ 1. Fiz buracos com uma faca e uma furadeira. Servo e display LCD colei com fita adesiva, ponta fiz com papelão e pintei com tinta. Eu fiz o shield no Corel Draw X5 e imprimi, adicionei uma imagem-p.webp

Etapa 5: execute-o

Executá-lo!
Executá-lo!
Executá-lo!
Executá-lo!
Executá-lo!
Executá-lo!
Executá-lo!
Executá-lo!

Agora está pronto. Tudo o que você precisa fazer é ligá-lo e dirigir. Divirta-se com seu velocímetro. Se você gosta deste projeto, por favor vote em mim.

Recomendado: