Turinys:

„Pasidaryk pats“dviračių tachometras: 5 žingsniai (su nuotraukomis)
„Pasidaryk pats“dviračių tachometras: 5 žingsniai (su nuotraukomis)

Video: „Pasidaryk pats“dviračių tachometras: 5 žingsniai (su nuotraukomis)

Video: „Pasidaryk pats“dviračių tachometras: 5 žingsniai (su nuotraukomis)
Video: meskeriu laikiklis mano crystalbay 2024, Lapkritis
Anonim
Image
Image
„Pasidaryk pats“dviračių tachometras
„Pasidaryk pats“dviračių tachometras

Aš jums parodysiu, kaip sukurti dviračio spidometrą. Tai rodo jūsų greitį, vidutinį greitį, temperatūrą, kelionės laiką ir bendrą atstumą. Galite pakeisti naudodami mygtuką. Be to, greitis rodomas tachometre. Aš jį sukūriau, nes man patinka kurti naujus dalykus, neradau nieko panašaus internete, todėl noriu parodyti jums, kaip sukurti gerą spidometrą, nes tas, kuris yra ant mano dviračio, nėra toks kietas, kaip aš noriu:). Taigi pradėkime.

1 žingsnis: dalys:

Dalys
Dalys

Tai yra dalių, kurių jums reikės, sąrašas. Jie man kainavo apie 40 USD:

  • Arduino
  • Dviratis su nendriniu jungikliu
  • LCD ekranas 16x2
  • Servo
  • Bandomoji Lenta
  • Termometras DS18B20
  • Rezistorius 1,2 kΩ, 4,7 kΩ
  • Perjungti
  • Mygtukas
  • Potenciometras 10 kΩ
  • 9V baterija
  • Kabeliai
  • Dėžė
  • Įrankiai (gręžtuvas, litavimas, peilis, juosta)

2 žingsnis: prijungimas

Ryšys
Ryšys
Ryšys
Ryšys
Ryšys
Ryšys
Ryšys
Ryšys

Pridėjau nuotrauką iš „Fritzing“ir žodinį aprašymą, kaip ją prijungti. Paveikslėlyje visi raudoni laidai prijungti prie 5 V, visi mėlyni kabeliai prijungti prie GND.

LCD ekranas:

VSS GND Arduino

VDP 5V „Arduino“

VO išėjimo potenciometras (potenciometras VCC -> 5V Arduino, potenciometras GND -> Arduino GND).

RS kaištis 12 „Arduino“

RW GND Arduino

E pin 11 Arduino

D4 kaištis 5 „Arduino“

D5 kaištis 4 „Arduino“

D6 kaištis 3 „Arduino“

D7 kaištis 2 „Arduino“

5 V „Arduino“

K GND Arduino

Servo:

VCC 5V „Arduino“

masė GND Arduino

Duomenų kaištis 6 „Arduino“

Termometras:

VCC 5V „Arduino“

masė GND Arduino

Duomenų kaištis 1 „Arduino“

duomenys ir maitinimas prijungti per 4,7 kΩ rezistorių

Jutiklis ant rato:

vienas galas -> 5V Arduino

antrasis galas -> A0 Arduino ir rezistorius 1, 2 kΩ

Kitas rezistoriaus galas įžemintas „Arduino“

Mygtukas:

vienas galas 5V „Arduino“

antrasis galas A1 Arduino

3 veiksmas: įkėlimo kodas:

Žemiau pridėjau kodą komentaruose, yra paaiškinimas.

nuorodos į atsisiuntimo bibliotekas:

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

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

Jei turite kitokį rato skersmenį, turite jį pakeisti. Galite apskaičiuoti pagal šią formulę:

grandinė = π*d*2, 54 (d = jūsų rato skersmuo, padauginau jį iš 2,54, kad gautumėte rezultatą metrais).

/*

############################################### Autorių teisės priklauso Nikodem Bartnik 2014 m. Birželio mėn. ############################# ###### */// bibliotekos #include #include #include #include #define ONE_WIRE_BUS 1 „OneWire oneWire“(ONE_WIRE_BUS); Dalaso temperatūros jutikliai (& oneWire); // LCD ekrano kaiščiai LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // servo pavadinimas Servo myservo; // kintamųjų apibrėžimas seniai, kelionės laikas, laikas, impulsai; plūdinis spidometras, dist, greitis; int servo; int ekranas = 1; // Jei turite kitą rato grandinę, ją reikia pakeisti plūdės grandine = 2.0; dviguba temperatūra; void setup () {lcd.begin (16, 2);

pinMode (A0, INPUT); pinMode (A1, INPUT); // servo apibrėžimas ir tachometro nustatymas į 0 myservo.attach (6); myservo.write (180); lcd.print („Dviračių tachometras“); vėlavimas (1000); lcd.setCursor (5, 1); lcd.print ("V 1.0"); vėlavimas (4000); lcd.clear (); vėlavimas (500); lcd.setCursor (0, 0); lcd.print ("Dist:"); } void loop () {// jei ratas sukasi, jei (analogRead (A0)> = 300) {// apsisukimų skaičius ++ impulsai ++; // skaičiuoti posūkio laiko laiką = (millis ()-ankstesnis); // skaičiuoti greičio spidometrą = (grandinė /laikas)*3600.0; ankstesnis = milis (); Tachometras (); vėlavimas (100); } LCD (); } // rodyti greitį tachometre void Tachometras () {// žemėlapio greitis nuo 0-180 iki servo spidometro = int (spidometras); servo = žemėlapis (spidometras, 0, 72, 180, 0); // sąrankos servo myservo.write (servo); } void Lcd () {// spustelėjus mygtuką, jei (analogRead (A1)> = 1010) {lcd.clear (); ekranas ++; jei (ekranas == 5) {ekranas = 1; }} if (ekranas == 1) {// rodo greitį lcd.setCursor (0, 1); lcd.print ("Greitis:"); lcd.setCursor (7, 1); lcd.print (spidometras); lcd.print ("km/h"); } if (ekranas == 2) {// rodoma jų temperatūra temperatūra = sensoriai.getTempCByIndex (0); sensor.requestTemperatures (); lcd.setCursor (0, 1); lcd.print ("Temp:"); lcd.setCursor (7, 1); lcd.print (temperatūra); lcd.print ("C"); } if (ekranas == 3) {// rodomas vidutinis greitis aspeed = dist/(milis ()/1000,0)*3600,0; lcd.setCursor (0, 1); lcd.print ("A.speed:"); lcd.setCursor (8, 1); lcd.print (greitas); lcd.print ("km/h"); } if (ekranas == 4) {// diplays trip time triptime = millis ()/60000; lcd.setCursor (0, 1); lcd.print ("Laikas:"); lcd.setCursor (7, 1); lcd.print (kelionės laikas); } lcd.setCursor (0, 0); lcd.print ("Dist:"); // atstumo apskaičiavimas dist = impulsai*grandinė/1000.00; // atstumia atstumą lcd.setCursor (6, 0); lcd.print (dist); lcd.print ("km"); }

4 žingsnis: supakuokite

Paketas
Paketas
Paketas
Paketas
Paketas
Paketas

Kaip dangtį naudojau plastikinę dėžutę, kurią nusipirkau už 1 USD. Aš išpjoviau skyles, naudodami peilį ir grąžtą. Servo ir LCD ekranas Aš priklijavau juostele, antgalį padariau su kartonu ir nudažiau dažais. Aš padariau skydą „Corel Draw X5“ir atspausdinau, pridėjau-p.webp

5 žingsnis: paleiskite

Vykdyk!
Vykdyk!
Vykdyk!
Vykdyk!
Vykdyk!
Vykdyk!
Vykdyk!
Vykdyk!

Dabar jis yra paruoštas. Viskas, ką jums reikia padaryti, tai įjungti ir važiuoti. Linksminkitės su savo spidometru. Jei jums patinka šis projektas, balsuokite už mane.

Rekomenduojamas: