Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
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
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:
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.