INHOUDSOPGAWE:
Video: PCBWay Arduino fietsafstandsmeter: 4 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:23
In baie voertuie is daar toestelle wat die afgelegde afstand bereken en noodsaaklik is om inligting aan die bestuurder voor te lê.
Deur middel van hierdie inligting is dit dus moontlik om die afstand wat tussen twee punte afgelê is, byvoorbeeld deur die voertuig se kilometerteller, te monitor.
Voorrade
01 x PCBWay Custom PCB
01 x Arduino UNO - UTSOURCE
01 x LCD 16x2 -skerm - UTSOURCE
01 x Breadboard - UTSOURCE
01 x Wire Jumpers - UTSOURCE
01 x 10kR Rotary Potentiometer - UTSOURCE
01 x UTSOURCE Reed Switch - UTSOURCE
Daarom leer ons deur middel van hierdie artikel u hoe u u afstandberekeningstoestel met die rietskakelaarsensor kan monteer.
Stap 1: Die projek
Die volgende projek is gemaak om die afgelegde afstand per fiets van die gimnasium te bereken. Boonop leer u hoe u programmering vir die projek kan skep.
Hierdie projek het drie funksies:
- Bereken die afstand wat per fiets afgelê is;
- Opstelradiuskonfigurasie van toestel;
- Aanpasbaar vir enige fiets.
Om toegang tot hierdie funksies te verkry, gebruik die gebruiker die drie knoppies van die stelsel. Elke knoppie het u funksies. In die stelsel het ons die volgende knoppies:
Toename -knoppie: dit sal gebruik word om die opsie in te voer om die radius van die wiele op te stel en die radiuswaarde te verhoog;
Afname -knoppie: dit sal gebruik word om die opsie om die radius van die wiele op te stel, te verminder;
Tik -knoppie: dit sal gebruik word om die waarde van die radius in die stelsel in te voeg.
Boonop het ons die Reed Switch Sensor. Dit is verantwoordelik om op te spoor wanneer die wiele heeltemal draai. Om dit op te spoor, moet 'n magneet op die wiele aangebring word.
Die Reed Switch word in figuur hierbo aangebied.
Stap 2:
Elke keer as die magneet die sensor nader, sal dit die Reed Switch -sensor aktiveer. Die proses werk deur die volgende vergelyking:
Afgelegde afstand = 2 * π * radius * TurnNumber
Deur hierdie vergelyking weet ons wat die afgelegde afstand van die fiets is.
In die vergelyking word die radius deur die gebruiker ingevoeg, en draai -nommer word bereken deur die aantal draaie van die wiel.
En om die draai van die wiel op te spoor, is dit nodig om 'n magneet in die fietswiel te installeer en die rietskakelaarsensor naby die wiel te installeer.
Om die proses makliker te maak, skep ons 'n printplaat om die Reed Switch Sensor en die drie knoppies aan te sluit. Die printplaat word hieronder in die onderstaande figuur aangebied.
Stap 3:
Soos in die PCB getoon word, is dit moontlik om die Arduino Nano te sien. Dit is verantwoordelik om alle stelsels te beheer. Boonop het ons 5 JST -verbindings.
Die C1 tot C4 -verbindings word gebruik om die drie knoppies en die Reed Switch Sensor te verbind. Die C5 -aansluiting word nou gebruik om die LCD 16x2 I2C aan te sluit.
Daarom kan u deur middel van hierdie stelsel die projek op u fiets installeer en die waarde van die afgelegde afstand kry.
Hiervoor kan u die onderstaande kode gebruik.
#include #include
/*
Pinos de conex? O dos bot? Es e sensor reed switch 8 - Sensor Reed Switch 9 - Decremento 12 - Incremento 11 - Enter */
#definieer MEMORIA 120
#definieer PosRaio 125
#definieer ReedSwitch 8
#definieer BotaoEnterOk 11 #definieer BotaoIncremento 12 #definieer BotaoDecremento 9
const int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7;
LiquidCrystal lcd (rs, en, d4, d5, d6, d7);
bool sensor = 0, estado_anterior = 0, Incremento = 0, Decremento = 0;
bool IncrementoAnterior = 0, DecrementoAnterior = 0, BotaoEnter = 0, EstadoAnteriorIncremento = 0;
byte kont = 0;
ongetekende lang int VoltaCompleta = 0;
ongetekende lang int tempo_atual = 0, ultimo_tempo = 0;
float DistKm = 0;
ongetekende int raio = 0; float Distancia = 0;
leemte opstelling ()
{Serial.begin (9600); pinMode (8, INVOER); pinMode (9, INVOER); pinMode (10, INVOER); pinMode (12, INVOER);
lcd.begin (16, 2);
// Regiao de codigo para configurar o raio da roda do veiculo
as (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);
}
leemte lus ()
{
// 'n Regiao de codigo para realizar a leitura dos botoes en sensor do dispositivo
sensor = digitalRead (ReedSwitch); Decremento = digitalRead (BotaoDecremento); Incremento = digitalRead (BotaoIncremento);
// Regiao de codigo para acumular a distancia percorrida
as (sensor == 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;
}
as (sensor == 1 && estado_anterior == 0)
{estado_anterior = 1; }
// Regiao de Codigo para Configurar o Raio
as (Incremento == 1 && EstadoAnteriorIncremento == 0) {EstadoAnteriorIncremento = 1; }
as (Incremento == 0 && EstadoAnteriorIncremento == 1)
{EstadoAnteriorIncremento = 0; lcd.clear (); ConfiguraRaio (); }}
ongeldig ConfiguraRaio ()
{
byte RaioRoda = 0;
// Imprimir mensagem para digitar o raio em cm
lcd.setCursor (0, 0); lcd.print ("Inserir Raio (cm)");
doen
{
lcd.setCursor (6, 1);
Incremento = digitalRead (BotaoIncremento);
Decremento = digitalRead (BotaoDecremento); BotaoEnter = digitalRead (BotaoEnterOk);
as (Incremento == 1 && IncrementoAnterior == 0)
{RaioRoda = RaioRoda + 1; IncrementoAnterior = 1; }
as (Incremento == 0 && IncrementoAnterior == 1)
{IncrementoAnterior = 0; }
as (Decremento == 1 && DecrementoAnterior == 0)
{RaioRoda = RaioRoda - 1; DecrementoAnterior = 1; }
as (Decremento == 0 && DecrementoAnterior == 1)
{DecrementoAnterior = 0; }
lcd.setCursor (6, 1);
lcd.print (RaioRoda);
} terwyl (BotaoEnter == 0);
lcd.clear ();
EEPROM.write (PosRaio, RaioRoda);
terugkeer; }
Uit hierdie kode sal dit moontlik u afstand met u Arduino bereken.
Stap 4: Gevolgtrekking
As u dus u eie PCB wil hê, kan u dit via die skakel op die PCBWay.com -webwerf verkry. Hiervoor kan u toegang tot die webwerf verkry, u rekening skep en u eie PCB's kry.
Die Silícios Lab bedank UTSOURCE om die elektroniese komponente aan te bied om hierdie projek te skep.
Aanbeveel:
DIY Polisie LED met PCBWAY: 6 stappe (met foto's)
DIY Polisie LED Met PCBWAY: HiDelta hack vandag sal wys hoe u 'n polisie -flitser kan monteer met behulp van eenvoudige elektroniese komponente wat gebaseer is op 'n printplaat. Kom ons gaan
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): 6 stappe
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): wil u u vriende skrik en 'n skreeu geraas maak tydens Halloween? Of wil u net 'n goeie grap maak? Hierdie pop-up skerm van Zombies kan dit doen! In hierdie instruksies sal ek u leer hoe u maklik Zombies kan spring deur Arduino te gebruik. Die HC-SR0
Arduino Uno visvoerder in 6 goedkoop en maklike stappe !: 6 stappe
Arduino Uno Fish Feeder in 6 goedkoop en maklike stappe !: 'n Bietjie agtergrond kan dus nodig wees vir hierdie projek. Mense met troeteldiervisse het waarskynlik dieselfde probleem as ek gehad: vakansies en vergeetagtigheid. Ek het voortdurend vergeet om my vis te voer, en ek het altyd probeer om dit te doen voordat dit gebeur het
Akoestiese opheffing met Arduino Uno stap-vir-stap (8-stappe): 8 stappe
Akoestiese levitasie met Arduino Uno Stap-vir-stap (8-stappe): ultrasoniese klankomvormers L298N Dc vroulike adapter kragbron met 'n manlike DC-pen Arduino UNOBreadboard Hoe werk dit: Eerstens laai u kode op na Arduino Uno (dit is 'n mikrobeheerder toegerus met digitale en analoog poorte om kode (C ++) om te skakel
Brandalarmstelsel met Arduino [in 'n paar maklike stappe]: 3 stappe
Brandalarmstelsel met Arduino [in 'n paar maklike stappe]: wil u 'n eenvoudige en interessante projek maak met Arduino wat terselfdertyd baie nuttig en moontlik lewensreddend kan wees? Indien wel, het u op die regte plek gekom om te leer iets nuuts en vernuwend. In hierdie pos gaan ons