Cuprins:
Video: Contorometru pentru biciclete PCBWay Arduino: 4 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
În multe vehicule, există dispozitive care calculează distanța parcursă și sunt esențiale pentru prezentarea informațiilor șoferului.
Astfel, prin intermediul acestor informații, este posibil să se monitorizeze distanța parcursă între două puncte, de exemplu, prin kilometrajul vehiculului.
Provizii
01 x PCBWay PCB personalizat
01 x Arduino UNO - UTSOURCE
01 x LCD 16x2 Display - UTSOURCE
01 x Breadboard - UTSOURCE
01 x Wire Jumpers - UTSOURCE
Potențiometru rotativ 01 x 10kR - UTSOURCE
01 x UTSOURCE Reed Switch - UTSOURCE
Prin urmare, prin acest articol, vă vom învăța cum să vă asamblați dispozitivul de calculare a distanței utilizând senzorul de comutare reed.
Pasul 1: Proiectul
Următorul proiect a fost creat pentru a calcula distanța parcursă cu bicicleta sălii de sport. În plus, veți învăța cum să creați programare pentru proiect.
Acest proiect are trei funcționalități:
- Calculați distanța parcursă cu bicicleta;
- Configurarea razei de pornire a dispozitivului;
- Adaptabil la orice bicicletă.
Pentru a accesa aceste funcționalități, utilizatorul va folosi cele trei butoane ale sistemului. Fiecare buton are funcționalitatea dvs. În sistem avem următoarele butoane:
Buton de incrementare: Acesta va fi folosit pentru a intra în opțiunea de configurare a razei roților și pentru a crește valoarea razei;
Buton Decrement: Acesta va fi folosit pentru a diminua opțiunea de configurare a razei roților;
Buton Enter: Acesta va fi folosit pentru a insera valoarea razei în sistem.
În plus, avem senzorul Reed Switch. Este responsabil să detecteze când roțile se întorc complet. Pentru a detecta acest lucru, trebuie să instalați un magnet pe roți.
Comutatorul Reed este prezentat în figura de mai sus.
Pasul 2:
Astfel, de fiecare dată când magnetul se apropie de senzor, acesta va acționa senzorul Reed Switch. Procesul funcționează prin următoarea ecuație:
Distanța parcursă = 2 * π * raza * TurnNumber
Prin această ecuație, vom ști care este distanța parcursă efectuată de bicicletă.
În ecuație, raza este inserată de utilizator, iar numărul de viraj este calculat prin numărul de spire ale roții.
Și pentru a detecta rotațiile roții este necesară instalarea unui magnet în roata bicicletei și instalarea senzorului de comutare Reed lângă roată.
Pentru a ușura procesul, creăm o placă cu circuite imprimate pentru a conecta senzorul de comutare Reed și cele trei butoane. Placa cu circuite imprimate este prezentată mai jos în figura de mai jos.
Pasul 3:
După cum se arată în PCB, este posibil să vedeți Arduino Nano. Este responsabil să controleze toate sistemele. În plus, avem 5 conectori JST.
Conectorii C1 până la C4 sunt utilizați pentru a conecta cele trei butoane și senzorul de comutare Reed. Acum, conectorul C5 este utilizat pentru a conecta ecranul LCD 16x2 I2C.
Prin urmare, prin acest sistem, puteți instala proiectul în bicicleta dvs. și puteți obține valoarea distanței parcurse.
Pentru aceasta, puteți utiliza codul prezentat mai jos.
#include #include
/*
Pinos de conexiune? Dos bot? E e sensor reed switch 8 - Sensor Reed Switch 9 - Decremento 12 - Incremento 11 - Enter * /
#define MEMORIA 120
#define PosRaio 125
#define 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);
senzor bool = 0, estado_anterior = 0, Incremento = 0, Decremento = 0;
bool IncrementoAnterior = 0, DecrementoAnterior = 0, BotaoEnter = 0, EstadoAnteriorIncremento = 0;
octet cont = 0;
unsigned long int VoltaCompleta = 0;
unsigned long int tempo_atual = 0, ultimo_tempo = 0;
plutitor DistKm = 0;
unsigned int raio = 0; plutitor Distancia = 0;
configurare nulă ()
{Serial.begin (9600); pinMode (8, INPUT); pinMode (9, INPUT); pinMode (10, INPUT); pinMode (12, INPUT);
lcd.inceput (16, 2);
// Regiao de codigo para configurar o raio da roda do veiculo
if (EEPROM.read (MEMORIA)! = 73) {ConfiguraRaio (); EEPROM.write (MEMORIA, 73); }
lcd.setCursor (3, 0);
lcd.print („Distancia”); lcd.setCursor (6, 1); lcd.print (Distancia);
lcd.setCursor (14, 1);
lcd.print („km”);
raio = EEPROM.read (PosRaio);
}
bucla nulă ()
{
// Regiao de codigo para realizar a leitura dos botoes e sensor do dispositivo
senzor = digitalRead (ReedSwitch); Decremento = digitalRead (BotaoDecremento); Incremento = digitalRead (BotaoIncremento);
// Regiao de codigo para acumular a distancia percorrida
if (senzor == 0 && estado_anterior == 1) {VoltaCompleta ++;
Distancia = (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_anterior = 0;
}
if (senzor == 1 && estado_anterior == 0)
{estado_anterior = 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 pentru digitar o raio em cm
lcd.setCursor (0, 0); lcd.print („Inserir Raio (cm)”);
do
{
lcd.setCursor (6, 1);
Incremento = digitalRead (BotaoIncremento);
Decremento = digitalRead (BotaoDecremento); BotaoEnter = digitalRead (BotaoEnterOk);
if (Incremento == 1 && IncrementoAnterior == 0)
{RaioRoda = RaioRoda + 1; IncrementoAnterior = 1; }
if (Incremento == 0 && IncrementoAnterior == 1)
{IncrementoAnterior = 0; }
if (Decremento == 1 && DecrementoAnterior == 0)
{RaioRoda = RaioRoda - 1; DecrementoAnterior = 1; }
if (Decremento == 0 && DecrementoAnterior == 1)
{DecrementoAnterior = 0; }
lcd.setCursor (6, 1);
lcd.print (RaioRoda);
} while (BotaoEnter == 0);
lcd.clear ();
EEPROM.write (PosRaio, RaioRoda);
întoarcere; }
Din acest cod, probabil, vă va calcula distanța cu Arduino.
Pasul 4: Concluzie
Prin urmare, dacă doriți propriul PCB, îl puteți obține prin acest link de pe site-ul PCBWay.com. Pentru aceasta, puteți accesa site-ul web, vă puteți crea contul și puteți obține propriile PCB-uri.
Laboratorul Silícios mulțumește UTSOURCE pentru a oferi componentele electronice pentru a crea acest proiect.
Recomandat:
Construiți un semnal de viraj simplu pentru biciclete: 11 pași (cu imagini)
Construiți un semnal de viraj simplu pentru biciclete: odată cu apariția căderii, este uneori greu de realizat că zilele au devenit mai scurte, deși temperatura poate fi aceeași. S-a întâmplat tuturor - pleci într-o excursie după-amiaza cu bicicleta, dar înainte să te întorci pe jumătate, e întuneric și ești
Cum se face controlerul de direcție a motorului CC pentru biciclete electrice: 4 pași
Cum să faceți controlerul de direcție a motorului E-Bike DC: Acesta este un controler de direcție a motorului DC pentru E-Bike. În acest circuit am folosit podul MOSFET H cu canal N și zăvor SR. H Controlul circuitului podului Direcția debitului curent. Circuitul de blocare SR oferă un semnal pozitiv pe circuitul de pod H. Comp
Luminile pentru biciclete: 5 pași
Luminile pentru biciclete: Obiectivul proiectului Proiectarea și construcția unui dispozitiv de iluminare față și spate pentru o bicicletă care cuprinde: Lampă de iluminat față. Lumină de prezență și indicator de direcție (intermitent) în spate. Constrângeri de proiect Sursă de alimentare unică
Ceas cu casetă pentru biciclete: 7 pași (cu imagini)
Ceas cu casetă de bicicletă: Acesta este un ceas din piese de schimb pe care le aveam întins. Din acest motiv, multe dintre piesele utilizate pot fi ușor înlocuite cu orice ai putea avea în jurul casei tale. De exemplu, utilizarea unui Arduino și a unui servo pentru a conduce ceasul este cu siguranță suprasolicitată
Vitezometru pentru biciclete Arduino folosind GPS: 8 pași
Vitezometru pentru biciclete Arduino Utilizarea GPS: În acest tutorial vom folosi Arduino și Visuino pentru a afișa o viteză curentă a bicicletei de pe GPS pe afișajul ST7735