Obsah:

DIY Bike Tachometer: 5 kroků (s obrázky)
DIY Bike Tachometer: 5 kroků (s obrázky)

Video: DIY Bike Tachometer: 5 kroků (s obrázky)

Video: DIY Bike Tachometer: 5 kroků (s obrázky)
Video: How to make 50V /100W generator | DIY 100W Dynamo 2020 2024, Červenec
Anonim
Image
Image
DIY kolo tachometr
DIY kolo tachometr

Ukážu vám, jak postavit rychloměr na kole. Ukazuje vaši rychlost, průměrnou rychlost, teplotu, čas cesty a celkovou vzdálenost. Můžete to změnit pomocí tlačítka. Rychlost je navíc zobrazena na tachometru. Postavil jsem to, protože rád stavím nové věci, nic takového jsem na internetu nenašel, takže vám chci ukázat, jak postavit dobrý rychloměr, protože ten na mém kole není tak cool, jak bych chtěl:). Začněme tedy.

Krok 1: Díly:

Díly
Díly

Toto je seznam dílů, které budete potřebovat. Stály mě asi 40 $:

  • Arduino
  • Kolo s jazýčkovým spínačem
  • LCD displej 16x2
  • Servo
  • Prkénko
  • Teploměr DS18B20
  • Rezistor 1,2k Ω, 4,7k Ω
  • Přepínač
  • Knoflík
  • Potenciometr 10 kΩ
  • 9V baterie
  • Kabely
  • Krabice
  • Nástroje (vrtačka, pájení, nůž, páska)

Krok 2: Připojení

Spojení
Spojení
Spojení
Spojení
Spojení
Spojení
Spojení
Spojení

Přidal jsem obrázek z Fritzingu a slovní popis, jak to propojit. Na obrázku jsou všechny červené vodiče připojeny k 5V, všechny modré kabely jsou připojeny k GND.

LCD displej:

VSS GND Arduino

VDP 5V Arduino

Výstupní potenciometr VO (potenciometr VCC -> 5V Arduino, potenciometr GND -> Arduino GND).

RS pin 12 Arduino

RW GND Arduino

E pin 11 Arduino

D4 pin 5 Arduino

D5 pin 4 Arduino

D6 pin 3 Arduino

D7 pin 2 Arduino

5V Arduino

K GND Arduino

Servo:

VCC 5V Arduino

masový GND Arduino

Datový pin 6 Arduino

Teploměr:

VCC 5V Arduino

masový GND Arduino

Datový pin 1 Arduino

data a napájení jsou připojeny přes odpor 4,7 kΩ

Senzor na kole:

jeden konec -> 5V Arduino

druhý konec -> A0 Arduino a rezistor 1, 2 kΩ

Druhý konec odporu k zemi v Arduinu

Knoflík:

jeden konec 5V Arduino

druhý konec A1 Arduino

Krok 3: Nahrajte kód:

Níže jsem přidal kód do komentářů, tam je vysvětlení.

odkazy na knihovny ke stažení:

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

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

Pokud máte jiný průměr kola, musíte jej změnit. Můžete to vypočítat podle tohoto vzorce:

obvod = π*d*2, 54 (d = průměr vašeho kola, vynásobil jsem ho 2,54, abych získal výsledek v metrech).

/*

############################################################################ Copyright Nikodem Bartnik červen 2014 ################################################################### ###### */// knihovny #include #include #include #include #define ONE_WIRE_BUS 1 OneWire oneWire (ONE_WIRE_BUS); Senzory teploty Dallas (& oneWire); // piny LCD displeje LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // název servo Servo myservo; // definice proměnných long previous, triptime, time, impulses; plovoucí rychloměr, vzdálenost, rychlost; int servo; int obrazovka = 1; // Pokud máte jiný obvod kola, musíte jej změnit float circuit = 2.0; dvojnásobná teplota; neplatné nastavení () {lcd.begin (16, 2);

pinMode (A0, INPUT); pinMode (A1, VSTUP); // definice serva a nastavení otáčkoměru na 0 myservo.attach (6); myservo.write (180); lcd.print („Cyklometr“); zpoždění (1000); lcd.setCursor (5, 1); lcd.print ("V 1.0"); zpoždění (4000); lcd.clear (); zpoždění (500); lcd.setCursor (0, 0); lcd.print ("Dist:"); } void loop () {// pokud se kolo otáčí if (analogRead (A0)> = 300) {// počet otáček ++ impulzů ++; // počítat čas otočení time = (millis ()-předchozí); // spočítání rychloměru = (okruh /čas)*3600,0; předchozí = milis (); Tachometr(); zpoždění (100); } Lcd (); } // zobrazení rychlosti na tachometru neplatné tachometr () {// mapování rychlosti 0-180 na servo rychloměr = int (rychloměr); servo = mapa (rychloměr, 0, 72, 180, 0); // nastavení servo myservo.write (servo); } neplatné Lcd () {// po kliknutí na tlačítko if (analogRead (A1)> = 1010) {lcd.clear (); obrazovka ++; if (obrazovka == 5) {obrazovka = 1; }} if (obrazovka == 1) {// zobrazí rychlost lcd.setCursor (0, 1); lcd.print ("Rychlost:"); lcd.setCursor (7, 1); lcd.print (rychloměr); lcd.print ("km/h"); } if (obrazovka == 2) {// zobrazuje teplotu teploty = senzory.getTempCByIndex (0); sensor.requestTemperatures (); lcd.setCursor (0, 1); lcd.print ("Teplota:"); lcd.setCursor (7, 1); lcd.print (teplota); lcd.print ("C"); } if (screen == 3) {// zobrazuje průměrnou rychlost aspeed = dist/(millis ()/1000.0)*3600.0; lcd.setCursor (0, 1); lcd.print ("A.speed:"); lcd.setCursor (8, 1); lcd.print (aspeed); lcd.print ("km/h"); } if (screen == 4) {// zobrazuje dobu vypnutí triptime = millis ()/60000; lcd.setCursor (0, 1); lcd.print ("Čas:"); lcd.setCursor (7, 1); lcd.print (triptime); } lcd.setCursor (0, 0); lcd.print ("Dist:"); // výpočet vzdálenosti dist = impulsy*obvod/1000,00; // zobrazuje vzdálenost lcd.setCursor (6, 0); lcd.print (dist); lcd.print ("km"); }

Krok 4: Balení

Balíček
Balíček
Balíček
Balíček
Balíček
Balíček

Jako kryt jsem použil plastovou krabičku, kterou jsem koupil za 1 dolar. Vyřezával jsem otvory nožem a vrtákem. Servo a LCD displej jsem lepil páskou, špičku jsem vyrobil kartonem a natřel barvou. Udělal jsem štít v Corel Draw X5 a vytiskl jsem ho, přidal jsem obrázek-p.webp

Krok 5: Spusťte to

Spusť to!
Spusť to!
Spusť to!
Spusť to!
Spusť to!
Spusť to!
Spusť to!
Spusť to!

Nyní je připraven. Vše, co musíte udělat, je zapnout a jet. Bavte se s rychloměrem. Pokud se vám tento projekt líbí, hlasujte pro mě.

Doporučuje: