Isi kandungan:

Tachometer Bike DIY: 5 Langkah (dengan Gambar)
Tachometer Bike DIY: 5 Langkah (dengan Gambar)

Video: Tachometer Bike DIY: 5 Langkah (dengan Gambar)

Video: Tachometer Bike DIY: 5 Langkah (dengan Gambar)
Video: make FUEL GAUGE from scratch - shows each level - LM3914 2024, November
Anonim
Image
Image
Tachometer Basikal DIY
Tachometer Basikal DIY

Saya akan menunjukkan cara membina speedometer basikal. Ini menunjukkan kelajuan anda, kelajuan rata-rata, suhu, masa perjalanan dan jarak keseluruhan. Anda boleh menukarnya menggunakan butang. Selain itu, kelajuan ditunjukkan pada tachometer. Saya membinanya kerana saya suka membina perkara baru, saya tidak menemui apa-apa seperti ini di internet, jadi saya ingin menunjukkan kepada anda bagaimana membina speedometer yang baik kerana yang ada di basikal saya tidak semenarik yang saya mahukan:). Oleh itu, mari kita mulakan.

Langkah 1: Bahagian:

Bahagian
Bahagian

Ini adalah senarai bahagian yang anda perlukan. Mereka berharga saya sekitar $ 40:

  • Arduino
  • Basikal dengan suis reed
  • Paparan LCD 16x2
  • Servo
  • Papan roti
  • Termometer DS18B20
  • Perintang 1.2k Ω, 4.7k Ω
  • Tukar
  • Butang
  • Potensiometer 10 kΩ
  • Bateri 9V
  • Kabel
  • Kotak
  • Alat (gerudi, pematerian, pisau, pita)

Langkah 2: Sambungan

Sambungan
Sambungan
Sambungan
Sambungan
Sambungan
Sambungan
Sambungan
Sambungan

Saya menambah gambar dari Fritzing dan penerangan lisan mengenai cara menghubungkannya. Dalam gambar semua wayar merah disambungkan ke 5V, semua kabel biru disambungkan ke GND.

Paparan LCD:

VSS GND Arduino

VDP 5V Arduino

Potensiometer keluaran VO (potensiometer VCC -> Arduino 5V, potensiometer GND -> Arduino GND).

Pin RS 12 Arduino

RW GND Arduino

E pin 11 Arduino

Pin D4 5 Arduino

D5 pin 4 Arduino

D6 pin 3 Arduino

D7 pin 2 Arduino

Arduino 5V

K GND Arduino

Servo:

VCC 5V Arduino

massa GND Arduino

Pin data 6 Arduino

Termometer:

VCC 5V Arduino

massa GND Arduino

Pin data 1 Arduino

data dan kuasa disambungkan melalui perintang 4.7 kΩ

Sensor pada roda:

satu hujung -> 5V Arduino

hujung kedua -> A0 Arduino dan perintang 1, 2 kΩ

Hujung perintang yang lain ke tanah di Arduino

Butang:

satu hujung Arduino 5V

hujung kedua A1 Arduino

Langkah 3: Muat naik Kod:

Di bawah ini saya menambahkan kod dalam komen ada penjelasan.

pautan ke perpustakaan muat turun:

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

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

Sekiranya anda mempunyai diameter roda yang berbeza, anda mesti menukarnya. Anda boleh menghitungnya dengan formula ini:

litar = π * d * 2, 54 (d = diameter roda anda, saya mengalikannya dengan 2.54 untuk mendapatkan hasilnya dalam meter).

/*

################################################# Hak cipta oleh Nikodem Bartnik Jun 2014 ############################################ ###### * / // perpustakaan #sertakan #sertakan #sertakan #include #define ONE_WIRE_BUS 1 OneWire oneWire (ONE_WIRE_BUS); Sensor suhu Dallas (& oneWire); // Pin paparan LCD LiquidCrystal lcd (12, 11, 5, 4, 3, 2); // nama servo Servo myservo; // definisi pemboleh ubah lama sebelumnya, triptime, time, impuls; speedometer apungan, dist, aspeed; int servo; skrin int = 1; // Sekiranya anda mempunyai litar roda yang lain, anda perlu menukarnya litar pengapung = 2.0; suhu berganda; persediaan tidak sah () {lcd.begin (16, 2);

pinMode (A0, INPUT); pinMode (A1, INPUT); // definisi servo dan menetapkan tachometer ke 0 myservo.attach (6); myservo.write (180); lcd.print ("Bach tachometer"); kelewatan (1000); lcd.setCursor (5, 1); lcd.print ("V 1.0"); kelewatan (4000); lcd.clear (); kelewatan (500); lcd.setCursor (0, 0); lcd.print ("Dist:"); } gelung void () {// jika roda berpusing jika (analogRead (A0)> = 300) {// bilangan putaran ++ impuls ++; // hitung masa giliran = (milis () - sebelumnya); // hitung speedometer = (litar / masa) * 3600.0; sebelumnya = milis (); Tachometer (); kelewatan (100); } Lcd (); } // kelajuan paparan pada tachometer void Tachometer () {// kelajuan peta 0-180 ke speedometer servo = int (speedometer); servo = peta (speedometer, 0, 72, 180, 0); // persediaan servo myservo.write (servo); } batal Lcd () {// apabila butang diklik jika (analogRead (A1)> = 1010) {lcd.clear (); skrin ++; jika (skrin == 5) {skrin = 1; }} jika (skrin == 1) {// memaparkan speed lcd.setCursor (0, 1); lcd.print ("Kelajuan:"); lcd.setCursor (7, 1); lcd.print (speedometer); lcd.print ("km / j"); } jika (skrin == 2) {// memaparkan suhu suhu = sensor.getTempCByIndex (0); sensor.requestTemperatures (); lcd.setCursor (0, 1); lcd.print ("Temp:"); lcd.setCursor (7, 1); lcd.print (suhu); lcd.print ("C"); } jika (skrin == 3) {// memaparkan averagr speed aspeed = dist / (millis () / 1000.0) * 3600.0; lcd.setCursor (0, 1); lcd.print ("A. kecepatan:"); lcd.setCursor (8, 1); lcd.print (aspeed); lcd.print ("km / j"); } if (screen == 4) {// diplays time trip triptime = millis () / 60000; lcd.setCursor (0, 1); lcd.print ("Masa:"); lcd.setCursor (7, 1); lcd.print (triptime); } lcd.setCursor (0, 0); lcd.print ("Dist:"); // pengiraan jarak jarak = impuls * litar / 1000.00; // meletakkan jarak lcd.setCursor (6, 0); lcd.print (dist); lcd.print ("km"); }

Langkah 4: Kemas

Pek
Pek
Pek
Pek
Pek
Pek

Sebagai penutup saya menggunakan kotak plastik yang saya beli dengan harga $ 1. Saya memotong lubang menggunakan pisau dan gerudi. Tampilan servo dan LCD saya terpaku dengan pita, hujung yang saya buat dengan kadbod dan cat dengan cat. Saya melakukan pelindung di Corel Draw X5 dan saya mencetaknya, saya menambah gambar PNG, dan fail Corel Draw (jika anda mahu, anda boleh mengeditnya). Saya memasukkan kotak ke stereng pada basikal saya dan saya menyisipkan kabel ke suis buluh.

Langkah 5: Jalankan

Jalankannya!
Jalankannya!
Jalankannya!
Jalankannya!
Jalankannya!
Jalankannya!
Jalankannya!
Jalankannya!

Sekarang sudah siap. Yang perlu anda buat ialah hidupkan dan naik. Bersenang-senang dengan speedometer anda. Sekiranya anda menyukai projek ini, sila pilih saya.

Disyorkan: