Innehållsförteckning:

DIY cykelvarvräknare: 5 steg (med bilder)
DIY cykelvarvräknare: 5 steg (med bilder)

Video: DIY cykelvarvräknare: 5 steg (med bilder)

Video: DIY cykelvarvräknare: 5 steg (med bilder)
Video: 5 AWESOME LIFE HACKS #2 2024, Juli
Anonim
Image
Image
DIY cykelvarvräknare
DIY cykelvarvräknare

Jag kommer att visa dig hur man bygger en cykelhastighetsmätare. Den visar din hastighet, medelhastigheten, temperaturen, restiden och den totala sträckan. Du kan ändra det med knappen. Dessutom visas hastigheten på en varvräknare. Jag byggde den för att jag gillar att bygga nya saker, jag har inte hittat något liknande på internet så jag vill visa dig hur man bygger en bra hastighetsmätare eftersom den på min cykel inte är så cool som jag vill:). Så låt oss komma igång.

Steg 1: Delar:

Delar
Delar

Detta är en lista över delar som du behöver. De kostade mig ungefär $ 40:

  • Arduino
  • Cykel med vassströmbrytare
  • LCD -skärm 16x2
  • Servo
  • Bakbord
  • Termometer DS18B20
  • Motstånd 1.2k Ω, 4.7k Ω
  • Växla
  • Knapp
  • Potentiometer 10 kΩ
  • 9V batteri
  • Kablar
  • Låda
  • Verktyg (borrning, lödning, kniv, tejp)

Steg 2: Anslutning

Förbindelse
Förbindelse
Förbindelse
Förbindelse
Förbindelse
Förbindelse
Förbindelse
Förbindelse

Jag lade till en bild från Fritzing och en muntlig beskrivning av hur man ansluter den. På bilden är alla röda ledningar anslutna till 5V, alla blå kablar är anslutna till GND.

LCD skärm:

VSS GND Arduino

VDP 5V Arduino

VO -utmatningspotentiometer (potentiometer VCC -> 5V Arduino, potentiometer GND -> Arduino GND).

RS -stift 12 Arduino

RW GND Arduino

E stift 11 Arduino

D4 stift 5 Arduino

D5 stift 4 Arduino

D6 stift 3 Arduino

D7 stift 2 Arduino

En 5V Arduino

K GND Arduino

Servo:

VCC 5V Arduino

massa GND Arduino

Datastift 6 Arduino

Termometer:

VCC 5V Arduino

massa GND Arduino

Datastift 1 Arduino

data och ström är ansluten via en 4,7 kΩ motstånd

Sensor på hjulet:

ena änden -> 5V Arduino

andra änden -> A0 Arduino och motstånd 1, 2 kΩ

Den andra änden av motståndet till jord i Arduino

Knapp:

ena änden 5V Arduino

andra änden A1 Arduino

Steg 3: Ladda upp kod:

Nedan har jag lagt till koden i kommentarerna det finns en förklaring.

länkar till nedladdningsbiblioteken:

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

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

Om du har en annan hjuldiameter måste du ändra den. Du kan beräkna det med denna formel:

krets = π*d*2, 54 (d = hjulets diameter, jag multiplicerade det med 2,54 för att få resultatet i meter).

/*

#################################################### Copyright av Nikodem Bartnik juni 2014 ############################################## ###### */// bibliotek #include #include #include #include #define ONE_WIRE_BUS 1 OneWire oneWire (ONE_WIRE_BUS); DallasTemperatursensorer (& oneWire); // LCD -skärmstift LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // servonamn Servo myservo; // definition av variabler lång föregående, triptid, tid, impulser; flottörhastighetsmätare, dist, aspeed; int servo; int skärm = 1; // Om du har en annan krets på hjulet behöver du ändra den flottörkrets = 2,0; dubbel temperatur; void setup () {lcd.begin (16, 2);

pinMode (A0, INPUT); pinMode (A1, INPUT); // servodefinition och inställning av varvräknaren till 0 myservo.attach (6); myservo.write (180); lcd.print ("Cykelvarvräknare"); fördröjning (1000); lcd.setCursor (5, 1); lcd.print ("V 1.0"); fördröjning (4000); lcd.clear (); fördröjning (500); lcd.setCursor (0, 0); lcd.print ("Dist:"); } void loop () {// om hjulet svänger om (analogRead (A0)> = 300) {// antal varv ++ impulser ++; // räkna varvtid = (millis ()-föregående); // räkna hastighetsmätare = (krets /tid)*3600,0; föregående = millis (); Varvräknare (); fördröjning (100); } LCD (); } // visa hastighet på varvräknare tomrum Varvräknare () {// karthastighet 0-180 till servohastighetsmätare = int (hastighetsmätare); servo = karta (hastighetsmätare, 0, 72, 180, 0); // konfigurera servo myservo.write (servo); } ogiltig Lcd () {// när knappen klickas om (analogRead (A1)> = 1010) {lcd.clear (); skärm ++; om (skärm == 5) {skärm = 1; }} om (skärm == 1) {// visar hastigheten lcd.setCursor (0, 1); lcd.print ("Hastighet:"); lcd.setCursor (7, 1); lcd.print (hastighetsmätare); lcd.print ("km/h"); } om (skärm == 2) {// visar tematemperatur = sensorer.getTempCByIndex (0); sensors.requestTemperatures (); lcd.setCursor (0, 1); lcd.print ("Temp:"); lcd.setCursor (7, 1); lcd.print (temperatur); lcd.print ("C"); } om (skärm == 3) {// visar medelhastighet aspeed = dist/(millis ()/1000.0)*3600.0; lcd.setCursor (0, 1); lcd.print ("A.hastighet:"); lcd.setCursor (8, 1); lcd.print (aspeed); lcd.print ("km/h"); } if (skärm == 4) {// diplays trip time triptime = millis ()/60000; lcd.setCursor (0, 1); lcd.print ("Tid:"); lcd.setCursor (7, 1); lcd.print (triptime); } lcd.setCursor (0, 0); lcd.print ("Dist:"); // beräkning av avståndet dist = impulser*krets/1000,00; // visar avstånd lcd.setCursor (6, 0); lcd.print (dist); lcd.print ("km"); }

Steg 4: Packa

Packa
Packa
Packa
Packa
Packa
Packa

Som omslag använde jag en plastlåda jag köpte för $ 1. Jag skar hål med en kniv och en borr. Servo och LCD -display Jag limmade med en tejp, spets som jag gjorde med kartong och målade den med färg. Jag skyddade i Corel Draw X5 och jag skrev ut den, jag lade till en-p.webp

Steg 5: Kör det

Kör det!
Kör det!
Kör det!
Kör det!
Kör det!
Kör det!
Kör det!
Kör det!

Nu är det klart. Allt du behöver göra är att slå på den och åka. Ha kul med din hastighetsmätare. Om du gillar det här projektet, rösta på mig.

Rekommenderad: