Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
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.