Tartalomjegyzék:

DIY kerékpáros fordulatszámmérő: 5 lépés (képekkel)
DIY kerékpáros fordulatszámmérő: 5 lépés (képekkel)

Videó: DIY kerékpáros fordulatszámmérő: 5 lépés (képekkel)

Videó: DIY kerékpáros fordulatszámmérő: 5 lépés (képekkel)
Videó: Bicikli szerelő állvány! | Green Cottage DIY 2024, November
Anonim
Image
Image
DIY kerékpáros fordulatszámmérő
DIY kerékpáros fordulatszámmérő

Megmutatom, hogyan kell kerékpáros sebességmérőt készíteni. Megmutatja a sebességet, az átlagos sebességet, a hőmérsékletet, az utazási időt és a teljes távolságot. A gombbal módosíthatja. Ezenkívül a sebességet egy fordulatszámmérő mutatja. Azért építettem, mert szeretek új dolgokat építeni, ilyesmit nem találtam az interneten, ezért szeretném megmutatni, hogyan kell jó sebességmérőt építeni, mivel a biciklim nem olyan menő, mint szeretném:). Tehát kezdjük.

1. lépés: Alkatrészek:

Alkatrészek
Alkatrészek

Ez az alkatrészek listája, amelyekre szüksége lesz. Körülbelül 40 dollárba kerültek:

  • Arduino
  • Kerékpár nádkapcsolóval
  • LCD kijelző 16x2
  • Szervo
  • Kenyeretábla
  • DS18B20 hőmérő
  • Ellenállás 1,2 kΩ, 4,7 kΩ
  • Kapcsoló
  • Gomb
  • Potenciométer 10 kΩ
  • 9V -os akkumulátor
  • Kábelek
  • Doboz
  • Eszközök (fúró, forrasztás, kés, szalag)

2. lépés: Csatlakozás

Kapcsolat
Kapcsolat
Kapcsolat
Kapcsolat
Kapcsolat
Kapcsolat
Kapcsolat
Kapcsolat

Hozzáadtam egy képet a Fritzingből és a szóbeli leírást, hogyan kell csatlakoztatni. A képen az összes piros vezeték 5V -ra van csatlakoztatva, az összes kék kábel a GND -re.

LCD kijelzö:

VSS GND Arduino

VDP 5V Arduino

VO kimeneti potenciométer (potenciométer VCC -> 5V Arduino, potenciométer GND -> Arduino GND).

RS pin 12 Arduino

RW GND Arduino

E pin 11 Arduino

D4 tű 5 Arduino

D5 pin 4 Arduino

D6 pin 3 Arduino

D7 pin 2 Arduino

5V Arduino

K GND Arduino

Szervo:

VCC 5V Arduino

tömeg GND Arduino

6. adattű Arduino

Hőmérő:

VCC 5V Arduino

tömeg GND Arduino

1. adattű Arduino

Az adatok és a tápellátás 4,7 kΩ ellenálláson keresztül történik

Érzékelő a keréken:

egyik vége -> 5V Arduino

második vége -> A0 Arduino és 1, 2 kΩ ellenállás

Az ellenállás másik vége földelni az Arduino -ban

Gomb:

egyik vége 5V Arduino

második vége A1 Arduino

3. lépés: Feltöltési kód:

Az alábbiakban megjegyzésekben adtam hozzá a kódot, van magyarázat.

linkek a letöltési könyvtárakhoz:

www.pjrc.com/teensy/arduino_libraries/OneWire.zip

github.com/milesburton/Arduino-Temperature-Control-Library

Ha a kerék átmérője eltérő, akkor azt ki kell cserélni. A következő képlettel számíthatja ki:

áramkör = π*d*2, 54 (d = a kerekének átmérője, megszorozva 2,54 -gyel, hogy megkapjuk az eredményt méterben).

/*

################################################### Szerzői jog: Nikodem Bartnik, 2014. június. ###### */// könyvtárak #include #include #include #include #define ONE_WIRE_BUS 1 OneWire oneWire (ONE_WIRE_BUS); DallasHőmérséklet -érzékelők (& oneWire); // LCD kijelző tüskék LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // szervo neve Servo myservo; // a változók meghatározása régen, triptime, time, impulzusok; úszó sebességmérő, dist, sebesség; int szervo; int képernyő = 1; // Ha van másik kerékköre, akkor azt le kell cserélnie float circuit = 2.0; dupla hőmérséklet; void setup () {lcd.begin (16, 2);

pinMode (A0, INPUT); pinMode (A1, BEMENET); // szervo definíció és a fordulatszámmérő beállítása 0 myservo.attach (6); myservo.write (180); lcd.print ("Kerékpár -fordulatszámmérő"); késleltetés (1000); lcd.setCursor (5, 1); lcd.print ("V 1.0"); késleltetés (4000); lcd.clear (); késleltetés (500); lcd.setCursor (0, 0); lcd.print ("Táv:"); } void loop () {// ha a kerék elfordul, ha (analógRead (A0)> = 300) {// fordulatok száma ++ impulzusok ++; // számlálási idő idő = (millis ()-előző); // sebesség sebességmérő számlálása = (áramkör /idő)*3600.0; előző = millis (); Fordulatszámmérő (); késleltetés (100); } Lcd (); } // sebesség megjelenítése a fordulatszámmérőn void Tachometer () {// térkép sebessége 0-180 a szervo sebességmérőhöz = int (sebességmérő); szervo = térkép (sebességmérő, 0, 72, 180, 0); // setup servo myservo.write (servo); } void Lcd () {// ha a gombra kattintanak, ha (analógRead (A1)> = 1010) {lcd.clear (); képernyő ++; ha (képernyő == 5) {képernyő = 1; }} if (képernyő == 1) {// megjeleníti az lcd.setCursor (0, 1) sebességet; lcd.print ("Sebesség:"); lcd.setCursor (7, 1); lcd.print (sebességmérő); lcd.print ("km/h"); } if (képernyő == 2) {// megjeleníti a hőmérsékletet = érzékelők.getTempCByIndex (0); sensors.requestTemperatures (); lcd.setCursor (0, 1); lcd.print ("Temp:"); lcd.setCursor (7, 1); lcd.print (hőmérséklet); lcd.print ("C"); } if (képernyő == 3) {// megjeleníti az átlagsebességet aspeed = dist/(millis ()/1000,0)*3600,0; lcd.setCursor (0, 1); lcd.print ("A.speed:"); lcd.setCursor (8, 1); lcd.print (gyorsaság); lcd.print ("km/h"); } if (képernyő == 4) {// diplays utazási idő triptime = millis ()/60000; lcd.setCursor (0, 1); lcd.print ("Idő:"); lcd.setCursor (7, 1); lcd.print (utazási idő); } lcd.setCursor (0, 0); lcd.print ("Táv:"); // a távolság kiszámítása dist = impulzusok*áramkör/1000,00; // késlelteti a távolságot lcd.setCursor (6, 0); lcd.print (dist); lcd.print ("km"); }

4. lépés: Csomagolás

Csomag
Csomag
Csomag
Csomag
Csomag
Csomag

Fedőként egy 1 dollárért vásárolt műanyag dobozt használtam. Késsel és fúróval lyukakat vágtam. Szervó és LCD kijelző Szalaggal ragasztottam, tippet kartonpapírral készítettem és festékkel festettem. A pajzsot a Corel Draw X5 -ben csináltam, és kinyomtattam, hozzáadtam egy-p.webp

5. lépés: Futtassa

Futtasd!
Futtasd!
Futtasd!
Futtasd!
Futtasd!
Futtasd!
Futtasd!
Futtasd!

Most kész. Mindössze annyit kell tennie, hogy bekapcsolja és lovagol. Jó szórakozást a sebességmérővel. Ha tetszik ez a projekt, szavazz rám.

Ajánlott: