Obsah:
Video: Počítadlo kilometrov PCBWay Arduino: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:55
V mnohých vozidlách existujú zariadenia, ktoré počítajú prejdenú vzdialenosť a sú nevyhnutné na predkladanie informácií vodičovi.
Prostredníctvom týchto informácií je teda možné sledovať prejdenú vzdialenosť medzi dvoma bodmi, napríklad prostredníctvom počítadla kilometrov vozidla.
Zásoby
01 x PCBWay Vlastná PCB
01 x Arduino UNO - UTSOURCE
01 x LCD 16x2 displej - UTSOURCE
01 x Breadboard - UTSOURCE
01 x Drôtené prepojky - UTSOURCE
Rotačný potenciometer 01 x 10kR - UTSOURCE
01 x Jazykový spínač UTSOURCE - UTSOURCE
Prostredníctvom tohto článku vás preto naučíme, ako zostaviť zariadenie na výpočet vzdialenosti pomocou senzora jazýčkového spínača.
Krok 1: Projekt
Nasledujúci projekt bol vytvorený na výpočet prejdenej vzdialenosti bicyklom telocvične. Okrem toho sa naučíte, ako vytvoriť programovanie pre projekt.
Tento projekt má tri funkcie:
- Vypočítajte vzdialenosť, ktorú ste prešli na bicykli;
- Konfigurácia rádiusu pri spustení zariadenia;
- Prispôsobiteľný na akýkoľvek bicykel.
Na prístup k týmto funkciám bude používateľ používať tri tlačidlá systému. Každé tlačidlo má vašu funkciu. V systéme máme nasledujúce tlačidlá:
Tlačidlo prírastku: Použije sa na zadanie možnosti konfigurácie polomeru kolies a zvýšenia hodnoty polomeru;
Tlačidlo zníženia: Použije sa na zníženie možnosti konfigurácie polomeru kolies;
Tlačidlo Enter: slúži na vloženie hodnoty polomeru do systému.
Okrem toho máme snímač jazýčkového spínača. Je zodpovedný za zistenie, kedy sa kolesá úplne otočia. Aby ste to zistili, je potrebné na kolesá nainštalovať magnet.
Jazýčkový spínač je znázornený na obrázku vyššie.
Krok 2:
Zakaždým, keď sa magnet priblíži k senzoru, aktivuje snímač Reed Switch. Proces funguje podľa nasledujúcej rovnice:
Prejdená vzdialenosť = 2 * π * polomer * TurnNumber
Vďaka tejto rovnici budeme vedieť, akú vzdialenosť prejde bicykel.
Do rovnice vloží polomer používateľ a číslo zákruty sa vypočíta z počtu otáčok kolesa.
A aby bolo možné detekovať otáčky kolesa, je potrebné do kolesa bicykla nainštalovať magnet a do blízkosti kolesa nainštalovať snímač jazýčkového spínača.
Aby sme tento proces uľahčili, vytvoríme dosku s plošnými spojmi na pripojenie snímača jazýčkového spínača a troch tlačidiel. Doska s plošnými spojmi je zobrazená nižšie na obrázku nižšie.
Krok 3:
Ako je znázornené na PCB, je možné vidieť Arduino Nano. Je zodpovedný za ovládanie všetkých systémov. Okrem toho máme 5 konektorov JST.
Na pripojenie troch tlačidiel a senzora jazýčkového spínača sa používajú konektory C1 až C4. Teraz konektor C5 slúži na pripojenie LCD 16x2 I2C.
Prostredníctvom tohto systému preto môžete nainštalovať projekt na svoj bicykel a získať hodnotu prejdenej vzdialenosti.
Na tento účel môžete použiť kód uvedený nižšie.
#include #include
/*
Spínač pripájania senzorov k jazýčkovému spínaču 8 - jazýčkový spínač snímača 9 - k zníženiu 12 - k prírastku 11 - k zadaniu */
#define MEMORIA 120
#definovať 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);
snímač bool = 0, estado_anterior = 0, Incremento = 0, Decremento = 0;
bool IncrementoAnterior = 0, DecrementoAnterior = 0, BotaoEnter = 0, EstadoAnteriorIncremento = 0;
bajtový kont = 0;
unsigned long int VoltaCompleta = 0;
nepodpísané dlhé int tempo_atual = 0, ultimo_tempo = 0;
float DistKm = 0;
nepodpísané int raio = 0; plavák Distancia = 0;
neplatné nastavenie ()
{Serial.begin (9600); pinMode (8, VSTUP); pinMode (9, VSTUP); pinMode (10, VSTUP); pinMode (12, VSTUP);
lcd.begin (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);
}
prázdna slučka ()
{
// Regulačné parametre pre snímanie a snímanie senzora do dispozície
senzor = digitalRead (ReedSwitch); Decremento = digitalRead (BotaoDecremento); Incremento = digitalRead (BotaoIncremento);
// Regiao de codigo para acumular a distancia percorrida
if (senzor == 0 && estado_anterior == 1) {VoltaCompleta ++;
Vzdialenosť = (plavák) (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;
}
ak (senzor == 1 && estado_anterior == 0)
{estado_anterior = 1; }
// Regiao de Codigo pre konfigurátora Raio
if (Incremento == 1 && EstadoAnteriorIncremento == 0) {EstadoAnteriorIncremento = 1; }
ak (Incremento == 0 && EstadoAnteriorIncremento == 1)
{EstadoAnteriorIncremento = 0; lcd.clear (); ConfiguraRaio (); }}
prázdna ConfiguraRaio ()
{
bajt RaioRoda = 0;
// Základná informácia o digitálnom formáte o cm
lcd.setCursor (0, 0); lcd.print („Inserir Raio (cm)“);
urobiť
{
lcd.setCursor (6, 1);
Incremento = digitalRead (BotaoIncremento);
Decremento = digitalRead (BotaoDecremento); BotaoEnter = digitalRead (BotaoEnterOk);
ak (Incremento == 1 && IncrementoAnterior == 0)
{RaioRoda = RaioRoda + 1; IncrementoAnterior = 1; }
ak (Incremento == 0 && IncrementoAnterior == 1)
{IncrementoAnterior = 0; }
ak (Decremento == 1 && DecrementoAnterior == 0)
{RaioRoda = RaioRoda - 1; DecrementoAnterior = 1; }
ak (Decremento == 0 && DecrementoAnterior == 1)
{DecrementoAnterior = 0; }
lcd.setCursor (6, 1);
lcd.print (RaioRoda);
} while (BotaoEnter == 0);
lcd.clear ();
EEPROM.write (PosRaio, RaioRoda);
návrat; }
Z tohto kódu možno vypočíta vašu vzdialenosť s Arduino.
Krok 4: Záver
Preto, ak chcete svoj vlastný PCB, môžete ho získať prostredníctvom tohto odkazu na webovej stránke PCBWay.com. Za týmto účelom môžete navštíviť webovú stránku, vytvoriť si účet a získať vlastné dosky plošných spojov.
Laboratórium Silícios Lab ďakuje UTSOURCE, že ponúka elektronické súčiastky na vytvorenie tohto projektu.
Odporúča:
Počítadlo návštevníkov pomocou 8051 a infračerveného senzora s LCD: 3 kroky
Počítadlo návštevníkov pomocou senzora 8051 a infračerveného senzora s LCD: Vážení priatelia, vysvetlil som, ako vytvoriť čítač návštevníkov pomocou senzora 8051 a infračerveného senzora, a zobrazil ho na displeji LCD. 8051 je jedným z najpopulárnejších mikrokontrolérov používaných na výrobu hobby, komerčných aplikácií na celom svete. Urobil som viz
Počítadlo a ovládač obsadenosti miestnosti MicroBit: 4 kroky
Počítadlo a ovládač obsadenosti miestnosti MicroBit: Počas pandémie je jedným zo spôsobov, ako obmedziť prenos vírusu, maximalizovať fyzické vzdialenosti medzi ľuďmi. V miestnostiach alebo obchodoch by bolo užitočné vedieť, koľko ľudí je v danom čase v uzavretom priestore. Tento projekt používa dvojicu
Počítadlo návštevníkov pomocou Arduina na TinkerCad: 3 kroky
Počítadlo návštevníkov pomocou Arduina na TinkerCad: Mnohokrát musíme monitorovať osobu/ľudí, ktorí navštevujú nejaké miesto, ako je seminárna sála, konferenčná miestnosť alebo nákupné centrum alebo chrám. Tento projekt je možné použiť na počítanie a zobrazovanie počtu návštevníkov vstupujúcich do akejkoľvek konferenčnej miestnosti alebo seminárnej miestnosti
Vytvorenie počítadla kilometrov Arduino - časť I: 4 kroky
Vytvorenie počítadla kilometrov Arduino - časť I: Je úplne bežné, že cyklisti a používatelia rotopedov potrebujú zmerať svoju rýchlosť a prejdenú vzdialenosť. Na to potrebujeme zariadenie známe ako počítadlo kilometrov. Počítadlo kilometrov je zodpovedné za meranie týchto premenných a prenos týchto informácií
Počítadlo kilometrov elektrického skateboardu: 5 krokov
Počítadlo kilometrov elektrického skateboardu: Úvod Väčšina špičkových elektrických skateboardov v okolí tisíc dolárov je dodávaná s telefónnou aplikáciou, ktorá zobrazuje informácie o skateboarde v reálnom čase a bohužiaľ, cenovo výhodnejšie skateboardy z Číny sa s nimi nedodávajú. Tak prečo nie