Tartalomjegyzék:
Videó: PCBWay Arduino kerékpár kilométeróra: 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Sok járműben léteznek olyan eszközök, amelyek kiszámítják a megtett távolságot, és elengedhetetlenek ahhoz, hogy információkat mutassanak a vezetőnek.
Így ezen információk révén nyomon követhető a két pont között megtett távolság, például a jármű kilométer -számlálóján keresztül.
Kellékek
01 x PCBWay Egyedi PCB
01 x Arduino UNO - UTSOURCE
01 x LCD 16x2 kijelző - UTSOURCE
01 x Breadboard - UTSOURCE
01 x huzal jumper - UTSOURCE
01 x 10 kR forgó potenciométer - UTSOURCE
01 x UTSOURCE Reed kapcsoló - UTSOURCE
Ezért ebben a cikkben megtanítjuk, hogyan kell összeszerelni a távolságszámító eszközt a nádkapcsoló -érzékelő segítségével.
1. lépés: A projekt
A következő projekt az edzőterem kerékpárjával megtett távolság kiszámítására jött létre. Ezen kívül megtanulhatja, hogyan kell programot készíteni a projekthez.
Ennek a projektnek három funkciója van:
- Számítsa ki a kerékpárral megtett távolságot;
- Eszköz indítási sugár konfigurációja;
- Bármilyen kerékpárhoz alkalmazkodik.
Ezen funkciók eléréséhez a felhasználó a rendszer három gombját fogja használni. Minden gomb rendelkezik a saját funkcióival. A rendszerben a következő gombok vannak:
Növelés gomb: A kerekek sugarának beállítására és a sugárérték növelésére szolgáló beállítás megadására szolgál;
Csökkentés gomb: A kerekek sugarának beállítására szolgáló opció csökkentésére szolgál;
Enter gomb: A sugár értékének beillesztésére szolgál a rendszerben.
Ezen kívül megvan a Reed Switch érzékelő. Felelős észlelni, amikor a kerekek teljes fordulatot végeznek. Ennek észleléséhez mágnest kell felszerelni a kerekekre.
A Reed kapcsoló a fenti ábrán látható.
2. lépés:
Így minden alkalommal, amikor a mágnes közeledik az érzékelőhöz, működtetni fogja a Reed Switch érzékelőt. A folyamat a következő egyenlet alapján működik:
Utazott távolság = 2 * π * sugár * TurnNumber
Ezen az egyenleten keresztül megtudjuk, mennyi a kerékpár által megtett távolság.
Az egyenletben a felhasználó a sugarat beszúrja, és a fordulatszámot a kerék fordulatainak számításával számítja ki.
És a kerék fordulatainak észleléséhez szükség van egy mágnes beépítésére a kerékpár kerékbe és a Reed kapcsoló érzékelő felszerelésére a kerék közelében.
A folyamat megkönnyítése érdekében nyomtatott áramköri lapot hozunk létre a Reed Switch érzékelő és a három gomb csatlakoztatására. A nyomtatott áramköri lapot az alábbi ábra mutatja be.
3. lépés:
Amint az a NYÁK -on látható, az Arduino Nano látható. Felelős az összes rendszer irányításáért. Ezen kívül van 5 JST csatlakozónk.
A C1 - C4 csatlakozók a három gomb és a Reed Switch érzékelő csatlakoztatására szolgálnak. Most a C5 csatlakozót használják az LCD 16x2 I2C csatlakoztatására.
Ezért ezen a rendszeren keresztül telepítheti a projektet a kerékpárjába, és megkaphatja a megtett távolság értékét.
Ehhez használhatja az alábbi kódot.
#befoglalni #befoglalni
/*
Pinos de conex? O dos bot? Es e sensor reed switch 8 - Reed Switch Reed Switch 9 - Decremento 12 - Incrementto 11 - Enter */
#define MEMORIA 120
#define 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 szenzor = 0, estado_anterior = 0, Incremento = 0, Decremento = 0;
bool IncrementoAnterior = 0, DecrementoAnterior = 0, BotaoEnter = 0, EstadoAnteriorIncremento = 0;
byte cont = 0;
előjel nélküli hosszú int VoltaCompleta = 0;
előjel nélküli hosszú int tempo_atual = 0, ultimo_tempo = 0;
úszó DistKm = 0;
unsigned int raio = 0; úszó Distancia = 0;
üres beállítás ()
{Serial.begin (9600); pinMode (8, BEMENET); pinMode (9, BEMENET); pinMode (10, BEMENET); pinMode (12, BEMENET);
lcd. kezdet (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);
}
üres hurok ()
{
// Regiao de codigo para realizar a leitura dos botoes e sensor do dispositivo
szenzor = digitalRead (ReedSwitch); Decremento = digitalRead (BotaoDecremento); Növekmény = digitalRead (BotaoIncremento);
Regiao de codigo para acumular and distancia percorrida
if (szenzor == 0 && estado_anterior == 1) {VoltaCompleta ++;
Distancia = (úszó) (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;
}
ha (érzékelő == 1 && estado_anterior == 0)
{estado_anterior = 1; }
Regiao de Codigo para Configurar o Raio
if (Növekmény == 1 && EstadoAnteriorIncremento == 0) {EstadoAnteriorIncremento = 1; }
ha (Növekmény == 0 && EstadoAnteriorIncremento == 1)
{EstadoAnteriorIncremento = 0; lcd.clear (); ConfiguraRaio (); }}
void ConfiguraRaio ()
{
bájt RaioRoda = 0;
// Imprimir mensagem para digitar o raio em cm
lcd.setCursor (0, 0); lcd.print („Inserir Raio (cm)”);
tedd
{
lcd.setCursor (6, 1);
Növekmény = digitalRead (BotaoIncremento);
Decremento = digitalRead (BotaoDecremento); BotaoEnter = digitalRead (BotaoEnterOk);
ha (Incremento == 1 && IncrementoAnterior == 0)
{RaioRoda = RaioRoda + 1; IncrementoAnterior = 1; }
ha (Incremento == 0 && IncrementoAnterior == 1)
{IncrementoAnterior = 0; }
ha (Decremento == 1 && DecrementoAnterior == 0)
{RaioRoda = RaioRoda - 1; DecrementoAnterior = 1; }
ha (Decremento == 0 && DecrementoAnterior == 1)
{DecrementoAnterior = 0; }
lcd.setCursor (6, 1);
lcd.print (RaioRoda);
} while (BotaoEnter == 0);
lcd.clear ();
EEPROM.write (PosRaio, RaioRoda);
Visszatérés; }
Ebből a kódból kiszámítja a távolságot az Arduino -val.
4. lépés: Következtetés
Ezért, ha saját PCB -t szeretne, ezen a linken keresztül szerezheti be a PCBWay.com webhelyen. Ehhez elérheti a webhelyet, létrehozhatja fiókját, és beszerezheti saját PCB -jeit.
A Silícios Lab megköszöni az UTSOURCE -nak, hogy felajánlotta a projekt létrehozásához szükséges elektronikus alkatrészeket.
Ajánlott:
DIY beltéri kerékpár intelligens tréner: 5 lépés
DIY beltéri kerékpár intelligens tréner: Bevezetés Ez a projekt a Schwinn IC Elite beltéri kerékpár egyszerű módosításaként kezdődött, amely egyszerű csavart és nemezpárnákat használ az ellenállás beállításához. A problémát az akartam megoldani, hogy a csavar hossza túl nagy volt, tehát a tartomány
Erőteljes elektromos gördeszka E-kerékpár 350 W egyenáramú motor vezérlése az Arduino és a BTS7960b használatával: 9 lépés
Erőteljes elektromos gördeszka E-kerékpár 350 W egyenáramú motor vezérlése az Arduino és a BTS7960b használatával: Ebben az oktatóanyagban megtanuljuk, hogyan kell vezérelni az egyenáramú motort az Arduino és a DC vezérlővel bts7960b. A motor lehet 350 W vagy csak egy kis Toy arduino DC motor mindaddig, amíg teljesítménye nem haladja meg a BTS7960b illesztőprogram maximális áramát. Nézze meg a videót
CD4017 alapú többfunkciós kerékpár háttérvilágítás: 15 lépés
CD4017 alapú többfunkciós kerékpáros háttérvilágítás: Ez az áramkör a nagyon gyakori CD4017 LED áramkör alkalmazásával készült, amelyet LED-es üldözőnek neveznek. De támogatja a különböző LED-es villogási módszereket, ha különböző módon csatlakoztatja a vezérlőkábeleket. Lehet, hogy kerékpáros háttérvilágításként vagy vizuális jelző
Egyszerű kerékpár irányjelző felépítése: 11 lépés (képekkel)
Egyszerű kerékpáros irányjelző felépítése: Az ősz beköszöntével néha nehéz észrevenni, hogy a napok rövidebbek lettek, bár a hőmérséklet ugyanaz lehet. Mindenkivel megtörtént- elmegy egy délutáni kerékpártúrára, de mielőtt félúton lenne, sötét van és
Neopixel RGB LED 5 színű kerékpár (Arduino): 3 lépés
Neopixel RGB LED 5 színű ciklus (Arduino): Ez a projekt egy 12 RGB LED-gyűrű, amelyek a beállított színek megjelenítésére szolgálnak (mosolygós mintában), a csúszópotenciométer ellenállása alapján. Ha valakinek bármilyen javaslata van, szívesen olvasom őket, mert mindig lehet javítani