Table des matières:
Vidéo: Odomètre de vélo PCBWay Arduino: 4 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
Dans de nombreux véhicules, il existe des dispositifs qui calculent la distance parcourue et sont indispensables pour présenter des informations au conducteur.
Ainsi, grâce à ces informations, il est possible de suivre la distance parcourue entre deux points, par exemple, grâce au compteur kilométrique du véhicule.
Fournitures
01 x PCBWay personnalisé PCB
01 x Arduino UNO - UTSOURCE
01 x écran LCD 16x2 - UTSOURCE
01 x Planche à pain - UTSOURCE
01 x cavaliers filaires - UTSOURCE
Potentiomètre rotatif 01 x 10kR - UTSOURCE
01 x UTSOURCE Reed Switch - UTSOURCE
Par conséquent, à travers cet article, nous allons vous apprendre à assembler votre appareil de calcul de distance à l'aide du capteur Reed switch.
Étape 1: Le projet
Le projet suivant a été créé pour calculer la distance parcourue par le vélo du gymnase. De plus, vous apprendrez à créer une programmation pour le projet.
Ce projet a trois fonctionnalités:
- Calculer la distance parcourue à vélo;
- Configuration du rayon de démarrage de l'appareil;
- Adaptable à n'importe quel vélo.
Pour accéder à ces fonctionnalités, l'utilisateur utilisera les trois boutons du système. Chaque bouton a votre fonctionnalité. Dans le système, nous avons les boutons suivants:
Bouton Incrémenter: Il sera utilisé pour entrer dans l'option pour configurer le rayon des roues et incrémenter la valeur du rayon;
Bouton de décrémentation: Il sera utilisé pour décrémenter l'option pour configurer le rayon des roues;
Bouton Enter: Il sera utilisé pour insérer la valeur du rayon dans le système.
De plus, nous avons le capteur Reed Switch. Il est chargé de détecter quand les roues font un tour complet. Pour le détecter, il faut installer un aimant sur les roues.
Le commutateur Reed est présenté dans la figure ci-dessus.
Étape 2:
Ainsi, chaque fois que l'aimant s'approche du capteur, il actionnera le capteur Reed Switch. Le processus fonctionne à travers l'équation suivante:
Distance parcourue = 2 *π * rayon * TurnNumber
Grâce à cette équation, nous saurons quelle est la distance parcourue effectuée par le vélo.
Dans l'équation, le rayon est inséré par l'utilisateur et le nombre de tours est calculé à partir du nombre de tours de la roue.
Et pour détecter les tours de roue, il faut installer un aimant dans la roue de vélo et installer le capteur Reed Switch près de la roue.
Pour faciliter le processus, nous créons une carte de circuit imprimé pour connecter le capteur Reed Switch et les trois boutons. La carte de circuit imprimé est présentée ci-dessous dans la figure ci-dessous.
Étape 3:
Comme le montre le PCB, il est possible de voir l'Arduino Nano. Il est chargé de contrôler tous les systèmes. De plus, nous avons 5 connecteurs JST.
Les connecteurs C1 à C4 sont utilisés pour connecter les trois boutons et le capteur Reed Switch. Maintenant, le connecteur C5 est utilisé pour connecter le LCD 16x2 I2C.
Par conséquent, grâce à ce système, vous pouvez installer le projet dans votre vélo et obtenir la valeur de la distance parcourue.
Pour cela, vous pouvez utiliser le code présenté ci-dessous.
#include #include
/*
Pinos de conex?o dos bot?es e capteur Reed switch 8 - Sensor Reed Switch 9 - Decremento 12 - Incremento 11 - Enter */
#définir MEMORIA 120
#définir PosRaio 125
#définir ReedSwitch 8
#define BotaoEnterOk 11 #define BotaoIncremento 12 #define BotaoDecremento 9
const int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
capteur bool = 0, estado_anterior = 0, Incremento = 0, Decremento = 0;
bool IncrementoAnterior = 0, DecrementoAnterior = 0, BotaoEnter = 0, EstadoAnteriorIncremento = 0;
octet cont = 0;
int long non signé VoltaCompleta = 0;
int long non signé tempo_atual = 0, ultimo_tempo = 0;
float DistKm = 0;
int raio non signé = 0; Distance flottante = 0;
void setup()
{ Serial.begin(9600); pinMode(8, ENTREE); pinMode(9, ENTREE); pinMode(10, ENTRÉE); pinMode(12, ENTRÉE);
lcd.begin (16, 2);
//Regiao de codigo para configurar ou raio da roda do veiculo
if(EEPROM.read(MEMORIA) != 73) { ConfiguraRaio(); EEPROM.write(MEMORIA, 73); }
lcd.setCursor(3, 0);
lcd.print("Distance"); lcd.setCursor (6, 1); lcd.print(Distancia);
lcd.setCursor(14, 1);
lcd.print(« km »);
raio = EEPROM.read(PosRaio);
}
boucle vide()
{
//Regiao de codigo para realizar a leitura dos botoes e sensor do dispositivo
capteur = digitalRead (ReedSwitch); Decremento = digitalRead(BotaoDecremento); Incrémento = digitalRead(BotaoIncremento);
//Regiao de codigo para acumular a distancia percorrida
if(capteur == 0 && estado_anterior == 1) { VoltaCompleta++;
Distance = (float)(2*3.14*raio*VoltaCompleta)/100000.0;
lcd.setCursor(0, 1);
lcd.print (" "); lcd.setCursor (6, 1); lcd.print(Distancia);
lcd.setCursor(14, 1);
lcd.print(« km »);
estado_antérieur = 0;
}
if(capteur == 1 && estado_antérieur == 0)
{ estado_antérieur = 1; }
//Regiao de Codigo para Configurar o Raio
if(Incremento == 1 && EstadoAnteriorIncremento == 0) { EstadoAnteriorIncremento = 1; }
if(Incremento == 0 && EstadoAnteriorIncremento == 1)
{ EstadoAnteriorIncremento = 0; lcd.clear(); ConfiguraRaio(); } }
void ConfiguraRaio()
{
octet RaioRoda = 0;
//Imprimir mensagem para digitar o raio em cm
lcd.setCursor(0, 0); lcd.print ("Inserir Raio (cm)");
faire
{
lcd.setCursor (6, 1);
Incrémento = digitalRead(BotaoIncremento);
Decremento = digitalRead(BotaoDecremento); BotaoEnter = digitalRead(BotaoEnterOk);
if(Incrémento == 1 && IncrémentoAnterior == 0)
{ RaioRoda = RaioRoda + 1; IncrémentoAnterior = 1; }
if(Incrémento == 0 && IncrémentoAnterior == 1)
{ IncrémentoAnterior = 0; }
if(Decremento == 1 && DecrementoAnterior == 0)
{ RaioRoda = RaioRoda - 1; DécrémentoAnterior = 1; }
if(Decremento == 0 && DecrementoAnterior == 1)
{ DecrementoAnterior = 0; }
lcd.setCursor (6, 1);
lcd.print(RaioRoda);
} while(BotaoEnter == 0);
lcd.clear();
EEPROM.write(PosRaio, RaioRoda);
revenir; }
A partir de ce code il calculera éventuellement votre distance avec votre Arduino.
Étape 4: Conclusion
Par conséquent, si vous souhaitez votre propre PCB, vous pouvez l'obtenir via ce lien sur le site PCBWay.com. Pour cela, vous pouvez accéder au site Web, créer votre compte et obtenir vos propres PCB.
Le Silícios Lab remercie UTSOURCE d'offrir les composants électroniques pour créer ce projet.
Conseillé:
Lumière de vélo: 7 étapes
Lumière de vélo : dans ce projet, je vais vous montrer comment créer votre propre lumière de vélo qui peut éclairer votre chemin pendant la nuit, indiquer dans quelle direction vous irez, y compris le feu de freinage
Haut-parleur Bluetooth sans fil monté sur vélo : 11 étapes (avec photos)
Haut-parleur Bluetooth sans fil monté sur vélo : Bonjour ! Dans ce Instructable je vais vous montrer comment j'ai construit mon haut-parleur Bluetooth monté sur vélo sans fil. Je dois dire que cela pourrait être l'un de mes projets préférés jusqu'à présent. Il a fière allure, a un excellent son et a cette apparence futuriste ! Comme al
Création d'un odomètre Arduino - Partie I : 4 étapes
Création d'un odomètre Arduino - Partie I : Il est assez courant que les cyclistes et les utilisateurs de vélos d'appartement aient besoin de mesurer leur vitesse et la distance parcourue. Pour cela, nous avons besoin d'un appareil appelé odomètre. L'odomètre est chargé de mesurer ces variables et de transmettre ces informations
Compteur de vitesse de vélo Arduino utilisant le GPS : 8 étapes
Compteur de vitesse de vélo Arduino utilisant le GPS : dans ce didacticiel, nous utiliserons Arduino et Visuino pour afficher la vitesse de vélo actuelle du GPS sur l'écran ST7735.Regardez une vidéo de démonstration
Odomètre de skateboard électrique : 5 étapes
Odomètre de skateboard électrique : IntroductionLa plupart des skateboards électriques haut de gamme d'environ mille dollars sont livrés avec une application téléphonique qui affiche des informations en temps réel sur les skateboards. Alors pourquoi pas