Daftar Isi:

Odometer Sepeda Arduino PCBWay: 4 Langkah
Odometer Sepeda Arduino PCBWay: 4 Langkah

Video: Odometer Sepeda Arduino PCBWay: 4 Langkah

Video: Odometer Sepeda Arduino PCBWay: 4 Langkah
Video: Keyless Motor Buatan Sendiri 2024, November
Anonim
Odometer Sepeda Arduino PCBWay
Odometer Sepeda Arduino PCBWay

Di banyak kendaraan, ada perangkat yang menghitung jarak yang ditempuh dan sangat penting untuk menyajikan informasi kepada pengemudi.

Dengan demikian, melalui informasi ini, dimungkinkan untuk memantau jarak yang ditempuh antara dua titik, misalnya melalui odometer kendaraan.

Perlengkapan

01 x PCBWay Kustom PCB

01 x Arduino UNO - SUMBER UTAMA

01 x Layar LCD 16x2 - UTSOURCE

01 x Papan Tempat Memotong Roti - UTSOURCE

01 x Wire Jumper - UTSOURCE

Potensiometer Putar 01 x 10kR - UTSOURCE

01 x UTSOURCE Reed Switch - UTSOURCE

Oleh karena itu, melalui artikel ini, kami akan mengajari Anda cara merakit perangkat penghitung jarak menggunakan sensor saklar buluh.

Langkah 1: Proyek

Proyek
Proyek

Proyek berikut dibuat untuk menghitung jarak yang ditempuh oleh sepeda gym. Selain itu, Anda akan belajar cara membuat pemrograman untuk proyek tersebut.

Proyek ini memiliki tiga fungsi:

  • Hitung jarak yang ditempuh dengan sepeda;
  • Konfigurasi Radius Startup Perangkat;
  • Dapat disesuaikan dengan sepeda apa pun.

Untuk mengakses fungsionalitas ini, pengguna akan menggunakan tiga tombol sistem. Setiap tombol memiliki fungsi Anda. Dalam sistem kami memiliki tombol-tombol berikut:

Tombol Kenaikan: Ini akan digunakan untuk masuk ke opsi untuk mengkonfigurasi jari-jari roda dan menambah nilai jari-jari;

Tombol Penurunan: Ini akan digunakan untuk mengurangi opsi untuk mengonfigurasi jari-jari roda;

Tombol Enter: Ini akan digunakan untuk memasukkan nilai radius ke dalam sistem.

Selain itu, kami memiliki Reed Switch Sensor. Ini bertanggung jawab untuk mendeteksi ketika roda melakukan putaran penuh. Untuk mendeteksinya, perlu dipasang magnet pada rodanya.

Reed Switch disajikan pada Gambar di atas.

Langkah 2:

Dengan demikian, setiap kali magnet mendekati sensor, maka akan mengaktifkan sensor Reed Switch. Prosesnya bekerja melalui persamaan berikut:

Jarak Perjalanan = 2 *π * radius * TurnNumber

Melalui persamaan ini, kita akan mengetahui berapa jarak yang ditempuh oleh sepeda tersebut.

Dalam persamaan, jari-jari dimasukkan oleh pengguna, dan Jumlah Putaran dihitung melalui jumlah putaran roda.

Dan untuk mendeteksi putaran roda diperlukan pemasangan magnet pada roda sepeda dan memasang Reed Switch Sensor di dekat Roda.

Untuk memudahkan proses, kami membuat papan sirkuit tercetak untuk menghubungkan Sensor Reed Switch dan tiga tombol. Papan Sirkuit Tercetak disajikan di bawah ini pada Gambar di bawah ini.

Langkah 3:

Gambar
Gambar

Seperti yang ditunjukkan pada PCB dimungkinkan untuk melihat Arduino Nano. Bertanggung jawab untuk mengontrol semua sistem. Selain itu, kami memiliki 5 konektor JST.

Konektor C1 hingga C4 digunakan untuk menghubungkan ketiga tombol dan Sensor Reed Switch. Sekarang, Konektor C5 digunakan untuk menghubungkan LCD 16x2 I2C.

Oleh karena itu, melalui sistem ini, Anda dapat menginstal proyek di sepeda Anda dan mendapatkan nilai jarak tempuh.

Untuk ini, Anda dapat menggunakan kode yang disajikan di bawah ini.

#sertakan #sertakan

/*

Pinos de conex?o dos bot?es e sensor reed switch 8 - Sensor Reed Switch 9 - Penurunan 12 - Incremento 11 - Masuk */

#definisikan MEMORIA 120

#definisikan PosRaio 125

#define ReedSwitch 8

#define BotaoEnterOk 11 #define BotaoIncremento 12 #define BotaoDecremento 9

const int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7;

LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

sensor bool = 0, estado_anterior = 0, Incremento = 0, Decremento = 0;

bool IncrementoAnterior = 0, DecrementoAnterior = 0, BotaoEnter = 0, EstadoAnteriorIncremento = 0;

byte cont = 0;

unsigned int panjang VoltaCompleta = 0;

unsigned long int tempo_atual = 0, ultimo_tempo = 0;

float DistKm = 0;

unsigned int raio = 0; mengapung Jarak = 0;

batalkan pengaturan()

{ Serial.begin(9600); pinMode(8, INPUT); pinMode(9, INPUT); pinMode (10, INPUT); pinMode (12, INPUT);

lcd.begin(16, 2);

//Regiao de codigo para configurar o raio da roda do veiculo

if(EEPROM.read(MEMORIA) != 73) { ConfiguraRaio(); EEPROM.tulis(MEMORIA, 73); }

lcd.setCursor(3, 0);

lcd.print("Jarak"); lcd.setCursor(6, 1); lcd.print(Jarak);

lcd.setCursor(14, 1);

lcd.print(“km”);

raio = EEPROM.read(PosRaio);

}

lingkaran kosong()

{

//Regiao de codigo para realizar a leitura dos botoes dan sensor lakukan dispositivo

sensor = digitalRead(ReedSwitch); Decremento = digitalRead(BotaoDecremento); Incremento = digitalRead(BotaoIncremento);

//Regiao de codigo para acumular a distancia percorrida

if(sensor == 0 && estado_anterior == 1) { VoltaCompleta++;

Jarak = (mengambang)(2*3.14*raio*VoltaCompleta)/100000.0;

lcd.setCursor(0, 1);

lcd.print(““); lcd.setCursor(6, 1); lcd.print(Jarak);

lcd.setCursor(14, 1);

lcd.print(“km”);

estado_anterior = 0;

}

if(sensor == 1 && estado_anterior == 0)

{ estado_anterior = 1; }

//Regiao de Codigo para Configurar atau Raio

if(Incremento == 1 && EstadoAnteriorIncremento == 0) { EstadoAnteriorIncremento = 1; }

if(Incremento == 0 && EstadoAnteriorIncremento == 1)

{ EstadoAnteriorIncremento = 0; lcd.clear(); KonfigurasiRaio(); } }

batal KonfigurasiRaio()

{

byte RaioRoda = 0;

//Imprimir mensagem para digitar o raio em cm

lcd.setCursor(0, 0); lcd.print(“Inserir Raio(cm)”);

melakukan

{

lcd.setCursor(6, 1);

Incremento = digitalRead(BotaoIncremento);

Decremento = digitalRead(BotaoDecremento); BotaoEnter = digitalRead(BotaoEnterOk);

if(Incremento == 1 && IncrementoAnterior == 0)

{ RaioRoda = RaioRoda + 1; IncrementoAnterior = 1; }

if(Incremento == 0 && IncrementoAnterior == 1)

{ IncrementoAnterior = 0; }

if(Decremento == 1 && DecrementoAnterior == 0)

{ RaioRoda = RaioRoda - 1; DecrementoAnterior = 1; }

if(Decremento == 0 && DecrementoAnterior == 1)

{ DecrementoAnterior = 0; }

lcd.setCursor(6, 1);

lcd.print(RaioRoda);

}sementara(BotaoMasukkan == 0);

lcd.clear();

EEPROM.menulis(PosRaio, RaioRoda);

kembali; }

Dari kode ini mungkin akan menghitung jarak Anda dengan Arduino Anda.

Langkah 4: Kesimpulan

Oleh karena itu, jika Anda menginginkan PCB sendiri, Anda dapat memperolehnya melalui tautan ini di situs web PCBWay.com. Untuk ini, Anda dapat mengakses situs web, membuat akun, dan mendapatkan PCB Anda sendiri.

Silícios Lab berterima kasih kepada UTSOURCE karena telah menawarkan komponen elektronik untuk membuat proyek ini.

Direkomendasikan: