Talaan ng mga Nilalaman:
Video: PCBWay Arduino Bisikleta Odometer: 4 na Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:10
Sa maraming mga sasakyan, may mga aparato na kinakalkula ang distansya na nalakbay at mahalaga para sa pagpapakita ng impormasyon sa driver.
Sa gayon, sa pamamagitan ng impormasyong ito, posible na subaybayan ang distansya na naglakbay sa pagitan ng dalawang puntos, halimbawa, sa pamamagitan ng odometer ng sasakyan.
Mga gamit
01 x PCBWay Pasadyang PCB
01 x Arduino UNO - UTSOURCE
01 x LCD 16x2 Display - UTSOURCE
01 x Breadboard - UTSOURCE
01 x Mga Jumper sa Wire - UTSOURCE
01 x 10kR Rotary Potentiometer - UTSOURCE
01 x UTSOURCE Reed Switch - UTSOURCE
Samakatuwid, sa pamamagitan ng artikulong ito, tuturuan ka namin kung paano tipunin ang iyong aparato sa pagkalkula ng distansya gamit ang sensor ng reed switch.
Hakbang 1: Ang Proyekto
Ang sumusunod na proyekto ay nilikha upang makalkula ang distansya ng paglalakbay ng bisikleta ng gym. Bilang karagdagan, malalaman mo kung paano lumikha ng programa para sa proyekto.
Ang proyektong ito ay may tatlong pag-andar:
- Kalkulahin ang distansya na nilakbay ng bisikleta;
- Pag-configure ng Radius ng Startup ng Device;
- Adaptable sa anumang bisikleta.
Upang ma-access ang mga pagpapaandar na ito, gagamitin ng gumagamit ang tatlong mga pindutan ng system. Ang bawat pindutan ay mayroong iyong pagpapaandar. Sa system mayroon kaming mga sumusunod na pindutan:
Pindutan ng Pagtaas: Magagamit ito upang ipasok ang pagpipilian upang mai-configure ang radius ng mga gulong at madagdagan ang halaga ng radius;
Button ng Pagbawas: Gagamitin ito upang mabawasan ang pagpipilian upang mai-configure ang radius ng mga gulong;
Ipasok ang Button: Gagamitin ito upang ipasok ang halaga ng radius sa system.
Bilang karagdagan, mayroon kaming Reed Switch Sensor. Ito ay responsable upang tuklasin kung ang mga gulong ay gumawa ng isang kumpletong pagliko. Para sa pagtuklas nito, kailangang mag-install ng magnet sa mga gulong.
Ang Reed Switch ay ipinakita sa Larawan sa itaas.
Hakbang 2:
Kaya, sa tuwing lalapit ang magnet sa sensor, magpapalipat-lipat ito ng sensor ng Reed Switch. Gumagana ang proseso sa pamamagitan ng sumusunod na equation:
Naglakbay sa Distansya = 2 * π * radius * TurnNumber
Sa pamamagitan ng equation na ito, malalaman natin kung ano ang distansya ng paglalakbay na isinagawa ng bisikleta.
Sa equation, ang radius ay ipinasok ng gumagamit, at ang Turn Number ay kinakalkula sa bilang ng mga liko ng gulong.
At upang makita ang pagliko ng gulong kinakailangan upang mai-install ang isang pang-akit sa gulong ng bisikleta at mai-install ang Reed Switch Sensor malapit sa Gulong.
Upang mas madali ang proseso, gumawa kami ng isang naka-print na circuit board upang ikonekta ang Reed Switch Sensor at ang tatlong mga pindutan. Ang Printed Circuit Board ay ipinakita sa ibaba sa Larawan sa ibaba.
Hakbang 3:
Tulad ng ipinakita sa PCB posible na makita ang Arduino Nano. Ito ay responsable upang makontrol ang lahat ng mga system. Bilang karagdagan, mayroon kaming 5 konektor sa JST.
Ang C1 hanggang C4 connectors ay ginagamit upang ikonekta ang tatlong mga pindutan at ang Reed Switch Sensor. Ngayon, ang C5 Connector ay ginagamit upang ikonekta ang LCD 16x2 I2C.
Samakatuwid, sa pamamagitan ng sistemang ito, maaari mong mai-install ang proyekto sa iyong bisikleta at makuha ang halaga ng nilakbay na distansya.
Para sa mga ito, maaari mong gamitin ang code na ipinakita sa ibaba.
# isama ang # isama
/*
Pinos de conex? O dos bot? Es e sensor reed switch 8 - Sensor Reed Switch 9 - Decremento 12 - Incremento 11 - Enter * /
# tukuyin ang MEMORIA 120
# tukuyin ang PosRaio 125
# tukuyin ang ReedSwitch 8
#define BotaoEnterOk 11 #define BotaoIncremento 12 #define BotaoDecremento 9
Const int rs = 2, tl = 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 cont = 0;
unsigned long int VoltaCompleta = 0;
unsigned long int tempo_atual = 0, ultimo_tempo = 0;
float DistKm = 0;
unsigned int raio = 0; float Distancia = 0;
walang bisa ang pag-setup ()
{Serial.begin (9600); pinMode (8, INPUT); pinMode (9, INPUT); pinMode (10, INPUT); pinMode (12, INPUT);
lcd.begin (16, 2);
// Regiao de codigo para configurar o raio da roda do veiculo
kung (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);
}
walang bisa loop ()
{
// Regiao de codigo para realizar a leitura dos botoes e sensor do dispositivo
sensor = digitalRead (ReedSwitch); Decremento = digitalRead (BotaoDecremento); Incremento = digitalRead (BotaoIncremento);
// Regiao de codigo para acumular a distancia percorrida
kung (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;
}
kung (sensor == 1 && estado_anterior == 0)
{estado_anterior = 1; }
// Regiao de Codigo para Configurar o Raio
kung (Incremento == 1 && EstadoAnteriorIncremento == 0) {EstadoAnteriorIncremento = 1; }
kung (Incremento == 0 && EstadoAnteriorIncremento == 1)
{EstadoAnteriorIncremento = 0; lcd.clear (); ConfiguraRaio (); }}
walang bisa ConfiguraRaio ()
{
byte RaioRoda = 0;
// Imprimir mensagem para digitar o raio em cm
lcd.setCursor (0, 0); lcd.print ("Inserir Raio (cm)");
gawin
{
lcd.setCursor (6, 1);
Incremento = digitalRead (BotaoIncremento);
Decremento = digitalRead (BotaoDecremento); BotaoEnter = digitalRead (BotaoEnterOk);
kung (Incremento == 1 && IncrementoAnterior == 0)
{RaioRoda = RaioRoda + 1; IncrementoAnterior = 1; }
kung (Incremento == 0 && IncrementoAnterior == 1)
{IncrementoAnterior = 0; }
kung (Decremento == 1 && DecrementoAnterior == 0)
{RaioRoda = RaioRoda - 1; DecrementoAnterior = 1; }
kung (Decremento == 0 && DecrementoAnterior == 1)
{DecrementoAnterior = 0; }
lcd.setCursor (6, 1);
lcd.print (RaioRoda);
} habang (BotaoEnter == 0);
lcd.clear ();
EEPROM.write (PosRaio, RaioRoda);
bumalik; }
Mula sa code na ito posible na kalkulahin ang iyong distansya sa iyong Arduino.
Hakbang 4: Konklusyon
Samakatuwid, kung nais mo ang iyong sariling PCB, maaari kang makakuha sa pamamagitan ng link na ito sa website ng PCBWay.com. Para dito, maaari mong ma-access ang website, lumikha ng iyong account, at makakuha ng iyong sariling PCB.
Pinasalamatan ng Silícios Lab ang UTSOURCE na mag-alok ng mga elektronikong sangkap upang likhain ang proyektong ito.
Inirerekumendang:
Liwanag ng Bisikleta: 7 Hakbang
Banayad na Bisikleta: Sa proyektong ito ipapakita ko sa iyo kung paano lumikha ng iyong sariling ilaw ng bisikleta na maaaring mag-iilaw sa iyong paraan sa gabi, ipahiwatig kung aling daang pupunta ka, kasama ang break light
Batay sa CD4017 Multi-functional Backlight ng Bisikleta: 15 Hakbang
Batay sa CD4017 Multi-functional Bicycle Backlight: Ang circuit na ito ay ginawa sa pamamagitan ng paglalapat ng napaka-karaniwang CD4017 LED circuit na tinatawag na LED chaser. Ngunit maaari nitong suportahan ang magkakaibang mga LED blinking na pamamaraan sa pamamagitan ng pag-plug ng mga cable control bilang magkakaibang ugali. Siguro maaari itong magamit bilang backlight ng bisikleta o tagapagpahiwatig ng visual
Ang Sensor ng Posisyon ng Bisikleta mula sa Magicbit [Magicblocks]: 8 Hakbang
Ang Sensor ng Posisyon ng Bisikleta Mula sa Magicbit [Magicblocks]: Simple DIY Project upang gawing Sensor ng Posisyon ng Kickstand na may isang Magicbit gamit ang Magicblocks. Gumagamit kami ng magicbit bilang development board sa proyektong ito na batay sa ESP32. Samakatuwid ang anumang ESP32 development board ay maaaring magamit sa proyektong ito
Lumilikha ng isang Arduino Odometer - Bahagi I: 4 Mga Hakbang
Lumilikha ng isang Arduino Odometer - Bahagi I: Karaniwan para sa mga nagbibisikleta at mag-ehersisyo ang mga gumagamit ng bisikleta na kailangang sukatin ang kanilang bilis at distansya na nalakbay. Para sa mga ito, kailangan namin ng isang aparato na kilala bilang isang odometer. Ang odometer ay responsable para sa pagsukat ng mga variable na ito at paglilipat ng impormasyong ito
Electric Skateboard Odometer: 5 Hakbang
Electric Skateboard Odometer: Panimula Ang pinaka-high-end na electric skateboard na humigit-kumulang sa isang libong dolyar na saklaw ay may kasamang isang app ng telepono na nagpapakita ng impormasyong real-time na skateboard at sa kasamaang palad, ang mas maraming mabisang skateboard mula sa Tsina ay hindi kasama ng mga iyon. Kaya bakit hindi