Sisällysluettelo:

PCBWay Arduino -polkupyörän matkamittari: 4 vaihetta
PCBWay Arduino -polkupyörän matkamittari: 4 vaihetta

Video: PCBWay Arduino -polkupyörän matkamittari: 4 vaihetta

Video: PCBWay Arduino -polkupyörän matkamittari: 4 vaihetta
Video: Плата которая нужна всем! Автоматическое управление вентилятором. 2024, Marraskuu
Anonim
PCBWay Arduino Polkupyörän matkamittari
PCBWay Arduino Polkupyörän matkamittari

Monissa ajoneuvoissa on laitteita, jotka laskevat ajetun matkan ja ovat välttämättömiä tietojen esittämiseksi kuljettajalle.

Siten näiden tietojen avulla on mahdollista seurata kahden pisteen välistä etäisyyttä, esimerkiksi ajoneuvon matkamittarin kautta.

Tarvikkeet

01 x PCBWay Custom PCB

01 x Arduino UNO - UTSOURCE

01 x LCD 16x2 -näyttö - UTSOURCE

01 x Leipälauta - UTSOURCE

01 x Lankapuserot - UTSOURCE

01 x 10 kR pyörivä potentiometri - UTSOURCE

01 x UTSOURCE Reed -kytkin - UTSOURCE

Siksi tämän artikkelin kautta opetamme sinulle, kuinka kokoat etäisyyslaskulaitteesi reed -kytkinanturin avulla.

Vaihe 1: Projekti

Projekti
Projekti

Seuraava projekti luotiin laskemaan kuntosalin polkupyörällä ajettu matka. Lisäksi opit luomaan ohjelmointia projektille.

Tässä projektissa on kolme toimintoa:

  • Laske polkupyörällä ajettu matka;
  • Laitteen käynnistyssäteen määritys;
  • Sopii mihin tahansa pyörään.

Näiden toimintojen käyttämiseksi käyttäjä käyttää järjestelmän kolmea painiketta. Jokaisella painikkeella on toiminnallisuutesi. Järjestelmässämme on seuraavat painikkeet:

Lisäyspainike: Sitä käytetään pyörien säteen määrittämiseen ja säteen arvon lisäämiseen.

Vähennyspainike: Sitä käytetään vähentämään mahdollisuutta määrittää pyörien säde;

Enter -painike: Sitä käytetään säteen arvon lisäämiseen järjestelmään.

Lisäksi meillä on Reed Switch -anturi. Sen vastuulla on havaita, milloin pyörät kääntyvät täydellisesti. Tämän havaitsemiseksi on asennettava magneetti pyöriin.

Reed -kytkin on esitetty yllä olevassa kuvassa.

Vaihe 2:

Näin ollen joka kerta, kun magneetti lähestyy anturia, se käyttää Reed Switch -anturia. Prosessi toimii seuraavan yhtälön avulla:

Matkamatka = 2 * π * säde * Käännöksen numero

Tämän yhtälön avulla tiedämme, mikä on polkupyörän tekemä matka.

Yhtälössä käyttäjä lisää säteen ja käännöksen numero lasketaan pyörän kierrosten lukumäärän perusteella.

Pyörän kääntymisen havaitsemiseksi tarvitaan magneetin asentaminen polkupyörän pyörään ja Reed -kytkinanturin asentaminen pyörän lähelle.

Prosessin helpottamiseksi luomme painetun piirilevyn Reed Switch -anturin ja kolmen painikkeen yhdistämiseksi. Piirilevy on esitetty alla olevassa kuvassa.

Vaihe 3:

Kuva
Kuva

Kuten piirilevystä näkyy, on mahdollista nähdä Arduino Nano. Sen vastuulla on hallita kaikkia järjestelmiä. Lisäksi meillä on 5 JST -liitintä.

C1 - C4 -liittimiä käytetään kolmen painikkeen ja Reed Switch -anturin liittämiseen. Nyt C5 -liitintä käytetään LCD 16x2 I2C: n liittämiseen.

Siksi tämän järjestelmän avulla voit asentaa projektin polkupyörääsi ja saada ajetun matkan arvon.

Tätä varten voit käyttää alla olevaa koodia.

#Sisällytä #Sisällytä

/*

Pinos de conex? Tai dos bot? Es e anturin reed -kytkin 8 - Sensor Reed Switch 9 - Decremento 12 - Incremento 11 - Enter */

#define MEMORIA 120

#määrittele 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);

bool -anturi = 0, estado_anterior = 0, Incremento = 0, Decremento = 0;

bool IncrementoAnterior = 0, DecrementoAnterior = 0, BotaoEnter = 0, EstadoAnteriorIncremento = 0;

tavu cont = 0;

allekirjoittamaton pitkä int VoltaCompleta = 0;

allekirjoittamaton pitkä int tempo_atual = 0, ultimo_tempo = 0;

float DistKm = 0;

unsigned int raio = 0; float Distancia = 0;

mitätön asennus ()

{Serial.begin (9600); pinMode (8, TULO); pinMode (9, TULO); pinMode (10, TULO); pinMode (12, TULO);

lcd. alku (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);

}

tyhjä silmukka ()

{

// Regiao de codigo para realizar a leitura dos botoes e sensor do dispositivo

anturi = digitalRead (ReedSwitch); Decremento = digitalRead (BotaoDecremento); Incremento = digitalRead (BotaoIncremento);

// Regiao de codigo para acumular and distancia percorrida

jos (anturi == 0 && estado_anterior == 1) {VoltaCompleta ++;

Distancia = (kelluva) (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;

}

jos (anturi == 1 && estado_anterior == 0)

{estado_anterior = 1; }

// Regiao de Codigo para Configurar tai Raio

jos (lisäys == 1 && EstadoAnteriorIncremento == 0) {EstadoAnteriorIncremento = 1; }

jos (lisäys == 0 && EstadoAnteriorIncremento == 1)

{EstadoAnteriorIncremento = 0; lcd.clear (); ConfiguraRaio (); }}

mitätön ConfiguraRaio ()

{

tavu RaioRoda = 0;

// Imprimir mensagem para digitar o raio em cm

lcd.setCursor (0, 0); lcd.print (“Inserir Raio (cm)”);

tehdä

{

lcd.setCursor (6, 1);

Incremento = digitalRead (BotaoIncremento);

Decremento = digitalRead (BotaoDecremento); BotaoEnter = digitalRead (BotaoEnterOk);

jos (Incremento == 1 && IncrementoAnterior == 0)

{RaioRoda = RaioRoda + 1; IncrementoAnterior = 1; }

jos (Incremento == 0 && IncrementoAnterior == 1)

{IncrementoAnterior = 0; }

jos (Decremento == 1 && DecrementoAnterior == 0)

{RaioRoda = RaioRoda - 1; DecrementoAnterior = 1; }

jos (Decremento == 0 && DecrementoAnterior == 1)

{DecrementoAnterior = 0; }

lcd.setCursor (6, 1);

lcd.print (RaioRoda);

} while (BotaoEnter == 0);

lcd.clear ();

EEPROM.write (PosRaio, RaioRoda);

palata; }

Tästä koodista se mahdollisesti laskee etäisyytesi Arduinollesi.

Vaihe 4: Johtopäätös

Siksi, jos haluat oman piirilevyn, voit saada tämän linkin PCBWay.com -sivustosta. Tätä varten voit käyttää verkkosivustoa, luoda tilisi ja hankkia omat piirilevyt.

Silícios Lab kiittää UTSOURCEa tarjoamaan elektroniset komponentit tämän projektin luomiseksi.

Suositeltava: