Tachometer Sepeda DIY: 5 Langkah (dengan Gambar)
Tachometer Sepeda DIY: 5 Langkah (dengan Gambar)
Anonim
Image
Image
Tachometer Sepeda DIY
Tachometer Sepeda DIY

Saya akan menunjukkan cara membuat speedometer sepeda. Ini menunjukkan kecepatan Anda, kecepatan rata-rata, suhu, waktu perjalanan dan jarak total. Anda dapat mengubahnya menggunakan tombol. Selain itu, kecepatan ditampilkan pada tachometer. Saya membuatnya karena saya suka membangun hal-hal baru, saya belum menemukan yang seperti ini di internet jadi saya ingin menunjukkan kepada Anda bagaimana membuat speedometer yang bagus karena yang ada di sepeda saya tidak sekeren yang saya inginkan:). Jadi mari kita mulai.

Langkah 1: Bagian:

Bagian
Bagian

Ini adalah daftar bagian yang Anda perlukan. Mereka memberi saya biaya sekitar $ 40:

  • Arduino
  • Sepeda dengan saklar buluh
  • Layar LCD 16x2
  • Servo
  • Papan tempat memotong roti
  • Termometer DS18B20
  • Resistor 1.2k, 4.7k
  • Mengalihkan
  • Tombol
  • Potensiometer 10 kΩ
  • Baterai 9V
  • Kabel
  • Kotak
  • Alat (bor, solder, pisau, selotip)

Langkah 2: Koneksi

Koneksi
Koneksi
Koneksi
Koneksi
Koneksi
Koneksi
Koneksi
Koneksi

Saya menambahkan gambar dari Fritzing dan deskripsi verbal tentang cara menghubungkannya. Pada gambar semua kabel merah terhubung ke 5V, semua kabel biru terhubung ke GND.

Layar LCD:

VSS GND Arduino

VDP 5V Arduino

Potensiometer keluaran VO (potensiometer VCC -> Arduino 5V, potensiometer 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

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 daya terhubung melalui 4,7 kΩresistor

Sensor di roda:

satu ujung -> 5V Arduino

ujung kedua -> Arduino A0 dan resistor 1, 2 kΩ

Ujung lain dari resistor ke ground di Arduino

Tombol:

satu ujung 5V Arduino

ujung kedua A1 Arduino

Langkah 3: Unggah Kode:

Di bawah saya tambahkan kode di komentar ada penjelasannya.

tautan ke perpustakaan unduhan:

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

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

Jika Anda memiliki diameter roda yang berbeda, Anda harus mengubahnya. Anda dapat menghitungnya dengan rumus ini:

sirkuit = *d*2, 54 (d=diameter roda Anda, saya mengalikannya dengan 2,54 untuk mendapatkan hasil dalam meter).

/*

############################################################# Hak Cipta oleh Nikodem Bartnik juni 2014 ###################################################### ###### */ //librarys #include #include #include #include #define ONE_WIRE_BUS 1 OneWire oneWire(ONE_WIRE_BUS); Sensor suhu Dallas(&oneWire); // pin tampilan LCD LiquidCrystal lcd (12, 11, 5, 4, 3, 2); //nama servo Servo myservo; //definisi variabel lama sebelumnya, waktu perjalanan, waktu, impuls; speedometer mengambang, jarak, kecepatan; int servo; int layar=1; //Jika Anda memiliki sirkuit roda lain, Anda perlu mengubahnya sirkuit float=2.0; suhu ganda; void setup() { lcd.begin(16, 2);

pinMode(A0, INPUT); pinMode(A1, INPUT); //definisi servo dan menyetel tachometer ke 0 myservo.attach(6); myservo.write(180); lcd.print("takometer sepeda"); penundaan (1000); lcd.setCursor(5, 1); lcd.print("V1.0"); penundaan (4000); lcd.clear(); penundaan (500); lcd.setCursor(0, 0); lcd.print("Jarak:"); } void loop() { //jika roda berputar if(analogRead(A0)>=300){ //jumlah putaran++ impuls++; //hitung waktu giliran=(milis()-sebelumnya); //hitung kecepatan speedometer=(rangkaian / waktu)*3600.0; sebelumnya=milis(); Takometer(); penundaan(100); } LCD(); } //tampilan kecepatan pada tachometer void Tachometer(){ //petakan kecepatan 0-180 ke servo speedometer=int(speedometer); servo = peta(speedometer, 0, 72, 180, 0); //setup servo myservo.write(servo); } void Lcd(){ //ketika tombol diklik if(analogRead(A1)>=1010){ lcd.clear(); layar++; if(layar==5){ layar=1; } } if(screen==1){ //menampilkan kecepatan lcd.setCursor(0, 1); lcd.print("Kecepatan:"); lcd.setCursor(7, 1); lcd.print(speedometer); lcd.print("km/jam"); } if(screen==2){ //menampilkan suhu suhu=sensors.getTempCByIndex(0); sensor.requestTemperatures(); lcd.setCursor(0, 1); lcd.print("Suhu:"); lcd.setCursor(7, 1); lcd.print(suhu); lcd.print("C"); } if(screen==3){ //menampilkan kecepatan rata-rata aspeed=dist/(millis()/1000.0)*3600.0; lcd.setCursor(0, 1); lcd.print("Kecepatan A:"); lcd.setCursor(8, 1); lcd.print(kecepatan); lcd.print("km/jam"); } if(screen== 4){ //menampilkan waktu perjalanan triptime=millis()/60000; lcd.setCursor(0, 1); lcd.print("Waktu:"); lcd.setCursor(7, 1); lcd.print(waktu perjalanan); } lcd.setCursor(0, 0); lcd.print("Jarak:"); //perhitungan jarak dist=impuls*circuit/1000.00; //menampilkan jarak lcd.setCursor(6, 0); lcd.print(dist); lcd.print("km"); }

Langkah 4: Kemas

Mengemas
Mengemas
Mengemas
Mengemas
Mengemas
Mengemas

Sebagai penutup saya menggunakan kotak plastik yang saya beli seharga $ 1. Saya memotong lubang menggunakan pisau dan bor. Servo dan layar LCD saya rekatkan dengan selotip, ujungnya saya buat dengan karton dan dicat dengan cat. Saya melakukan perisai di Corel Draw X5 dan saya mencetaknya, saya menambahkan gambar PNG, dan file Corel Draw (jika Anda mau, Anda dapat mengeditnya). Saya menjepit kotak itu ke roda kemudi di sepeda saya dan saya menyolder kabel ke sakelar buluh.

Langkah 5: Jalankan

Menjalankannya!
Menjalankannya!
Menjalankannya!
Menjalankannya!
Menjalankannya!
Menjalankannya!
Menjalankannya!
Menjalankannya!

Sekarang sudah siap. Yang perlu Anda lakukan adalah menyalakannya dan mengendarainya. Bersenang-senang dengan speedometer Anda. Jika Anda menyukai proyek ini, silakan pilih saya.

Direkomendasikan: