Table des matières:

Tachymètre de vélo de bricolage : 5 étapes (avec photos)
Tachymètre de vélo de bricolage : 5 étapes (avec photos)

Vidéo: Tachymètre de vélo de bricolage : 5 étapes (avec photos)

Vidéo: Tachymètre de vélo de bricolage : 5 étapes (avec photos)
Vidéo: Motorisation improvisée pour poncer et polir de l'aluminium PMbricoleur 2024, Novembre
Anonim
Image
Image
Tachymètre de vélo de bricolage
Tachymètre de vélo de bricolage

Je vais vous montrer comment construire un compteur de vitesse de vélo. Il indique votre vitesse, la vitesse moyenne, la température, la durée du trajet et la distance totale. Vous pouvez le modifier à l'aide du bouton. De plus, la vitesse est indiquée sur un tachymètre. Je l'ai construit parce que j'aime construire de nouvelles choses, je n'ai rien trouvé de tel sur Internet donc je veux vous montrer comment construire un bon compteur de vitesse car celui sur mon vélo n'est pas aussi cool que je le voudrais:). Alors, commençons.

Étape 1: Pièces:

Les pièces
Les pièces

Ceci est une liste de pièces dont vous aurez besoin. Ils m'ont coûté environ 40$:

  • Arduino
  • Vélo avec interrupteur à lames
  • Écran LCD 16x2
  • Servomoteur
  • Planche à pain
  • Thermomètre DS18B20
  • Résistance 1,2k, 4,7k Ω
  • Changer
  • Bouton
  • Potentiomètre 10 kΩ
  • pile 9V
  • Câbles
  • Boîte
  • Outils (perceuse, soudure, couteau, ruban adhésif)

Étape 2: Connexion

Lien
Lien
Lien
Lien
Lien
Lien
Lien
Lien

J'ai ajouté une image de Fritzing et une description verbale de la façon de le connecter. Dans l'image, tous les fils rouges sont connectés à 5V, tous les câbles bleus sont connectés à GND.

Affichage LCD:

VSS GND Arduino

VDP 5V Arduino

Potentiomètre de sortie VO (potentiomètre VCC -> 5V Arduino, potentiomètre GND -> Arduino GND).

RS broche 12 Arduino

RW GND Arduino

E broche 11 Arduino

D4 broche 5 Arduino

D5 broche 4 Arduino

D6 broche 3 Arduino

D7 broche 2 Arduino

Un Arduino 5V

K GND Arduino

Servo:

VCC 5V Arduino

masse GND Arduino

Broche de données 6 Arduino

Thermomètre:

VCC 5V Arduino

masse GND Arduino

Broche de données 1 Arduino

les données et l'alimentation sont connectées via une résistance de 4,7 k

Capteur sur roue:

une extrémité -> 5V Arduino

deuxième extrémité -> A0 Arduino et résistance 1, 2 kΩ

L'autre extrémité de la résistance à la terre dans l'Arduino

Bouton:

une extrémité 5V Arduino

deuxième extrémité A1 Arduino

Étape 3: Télécharger le code:

Ci-dessous, j'ai ajouté le code dans les commentaires, il y a une explication.

liens vers les bibliothèques de téléchargement:

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

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

Si vous avez un diamètre de roue différent, vous devez le changer. Vous pouvez le calculer avec cette formule:

circuit = π*d*2, 54 (d=diamètre de ta roue, je l'ai multiplié par 2,54 pour avoir le résultat en mètres).

/*

##################################################### Copyright by Nikodem Bartnik juin 2014 ############################################ ###### */ //bibliothèques #include #include #include #include #define ONE_WIRE_BUS 1 OneWire oneWire(ONE_WIRE_BUS); DallasCapteurs de température (&oneWire); // Broches d'affichage LCD LiquidCrystal lcd (12, 11, 5, 4, 3, 2); //nom du servo Servo monservo; //définition des variables longtemps précédente, temps de déclenchement, temps, impulsions; tachymètre à flotteur, dist, aspeed; int servo; int écran=1; //Si vous avez un autre circuit de roue, vous devez le changer float circuit=2.0; température double; void setup() { lcd.begin (16, 2);

pinMode (A0, ENTREE); pinMode (A1, ENTREE); //définition du servo et réglage du tachymètre à 0 myservo.attach(6); monservo.write(180); lcd.print("Compteur de vélo"); retard(1000); lcd.setCursor(5, 1); lcd.print("V 1.0"); retard (4000); lcd.clear(); retard (500); lcd.setCursor(0, 0); lcd.print("Dist:"); } void loop() { //si la roue tourne if(analogRead(A0)>=300){ //nombre de tours++ impulsions++; //compter le temps de rotation time=(millis()-previous); //compter la vitesse speedometer=(circuit/time)*3600.0; précédent=millis(); Tachymètre(); retard (100); } LCD(); } // afficher la vitesse sur le tachymètre void Tachometer () { // mapper la vitesse 0-180 sur le servo speedometer = int (speedometer); servo = carte (compteur de vitesse, 0, 72, 180, 0); //configuration du servo monservo.write(servo); } void Lcd(){ //quand le bouton est cliqué if(analogRead(A1)>=1010){ lcd.clear(); écran++; if(écran==5){ écran=1; } } if(screen==1){ // affiche la vitesse lcd.setCursor(0, 1); lcd.print("Vitesse:"); lcd.setCursor(7, 1); lcd.print (compteur de vitesse); lcd.print("km/h"); } if(screen==2){ // affiche la température de température=sensors.getTempCByIndex(0); capteurs.requestTemperatures(); lcd.setCursor(0, 1); lcd.print("Temp:"); lcd.setCursor(7, 1); lcd.print(température); lcd.print("C"); } if(screen==3){ // affiche la vitesse moyenne aspeed=dist/(millis()/1000.0)*3600.0; lcd.setCursor(0, 1); lcd.print("A.speed:"); lcd.setCursor(8, 1); lcd.print(aspeed); lcd.print("km/h"); } if(screen== 4){ // affiche le temps de trajet triptime=millis()/60000; lcd.setCursor(0, 1); lcd.print("Heure:"); lcd.setCursor(7, 1); lcd.print(triptime); } lcd.setCursor(0, 0); lcd.print("Dist:"); //calcul de la distance dist=impulsions*circuit/1000.00; // affiche la distance lcd.setCursor (6, 0); lcd.print(dist); lcd.print("km"); }

Étape 4: emballer

Pack
Pack
Pack
Pack
Pack
Pack

Comme couvercle j'ai utilisé une boîte en plastique que j'ai achetée pour 1 $. J'ai fait des trous à l'aide d'un couteau et d'une perceuse. Servo et écran LCD que j'ai collé avec un ruban adhésif, une pointe que j'ai faite avec du carton et peinte avec de la peinture. J'ai fait un bouclier dans Corel Draw X5 et je l'ai imprimé, j'ai ajouté une image-p.webp

Étape 5: Exécutez-le

Exécuter!
Exécuter!
Exécuter!
Exécuter!
Exécuter!
Exécuter!
Exécuter!
Exécuter!

Maintenant c'est prêt. Tout ce que vous avez à faire est de l'allumer et de rouler. Amusez-vous avec votre compteur de vitesse. Si vous aimez ce projet, n'hésitez pas à voter pour moi.

Conseillé: