Isi kandungan:
Video: Odometer Basikal PCBWay Arduino: 4 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:07
Di banyak kenderaan, terdapat alat yang mengira jarak perjalanan dan penting untuk menyampaikan maklumat kepada pemandu.
Oleh itu, melalui maklumat ini, adalah mungkin untuk memantau jarak perjalanan antara dua titik, misalnya, melalui odometer kenderaan.
Bekalan
01 x PCBBiasa PCB
01 x Arduino UNO - UTSOURCE
01 x Paparan LCD 16x2 - PENGGUNAAN
01 x Papan Roti - UTSOURCE
01 x Wire Jumpers - PENGGUNAAN
Potensiometer Rotary 01 x 10kR - PENGGUNAAN
01 x UTSOURCE Reed Switch - UTSOURCE
Oleh itu, melalui artikel ini, kami akan mengajar anda cara memasang peranti pengiraan jarak anda menggunakan sensor suis buluh.
Langkah 1: Projek
Projek berikut dibuat untuk mengira jarak perjalanan dengan basikal gimnasium. Di samping itu, anda akan belajar bagaimana membuat pengaturcaraan untuk projek tersebut.
Projek ini mempunyai tiga fungsi:
- Hitung jarak yang dilalui dengan basikal;
- Konfigurasi Radius Permulaan Peranti;
- Boleh disesuaikan dengan basikal mana pun.
Untuk mengakses fungsi ini, pengguna akan menggunakan tiga butang sistem. Setiap butang mempunyai fungsi anda. Dalam sistem kami mempunyai butang berikut:
Tombol Kenaikan: Ini akan digunakan untuk memasukkan pilihan untuk mengkonfigurasi jari-jari roda dan meningkatkan nilai radius;
Butang Penurunan: Ia akan digunakan untuk mengurangkan pilihan untuk mengkonfigurasi jari-jari roda;
Butang Enter: Ia akan digunakan untuk memasukkan nilai jejari dalam sistem.
Di samping itu, kami mempunyai Reed Switch Sensor. Ia bertanggungjawab untuk mengesan bila roda berpusing sepenuhnya. Untuk mengesannya, perlu memasang magnet pada roda.
Suis Reed ditunjukkan dalam Rajah di atas.
Langkah 2:
Oleh itu, setiap kali magnet mendekati sensor, ia akan menggerakkan sensor Reed Switch. Prosesnya melalui persamaan berikut:
Jarak Perjalanan = 2 * π * jejari * Angka Pusing
Melalui persamaan ini, kita akan mengetahui berapa jarak perjalanan yang dilakukan oleh basikal.
Dalam persamaan, jejari dimasukkan oleh pengguna, dan Angka Giliran dikira melalui jumlah putaran roda.
Dan untuk mengesan putaran roda diperlukan untuk memasang magnet di roda basikal dan memasang Reed Switch Sensor berhampiran Roda.
Untuk mempermudah prosesnya, kami membuat papan litar bercetak untuk menyambungkan Reed Switch Sensor dan tiga butang. Papan Litar Bercetak ditunjukkan dalam Gambar di bawah.
Langkah 3:
Seperti yang ditunjukkan dalam PCB adalah mungkin untuk melihat Arduino Nano. Ia bertanggungjawab untuk mengawal semua sistem. Di samping itu, kami mempunyai 5 penyambung JST.
Penyambung C1 hingga C4 digunakan untuk menyambungkan tiga butang dan Reed Switch Sensor. Kini, Penyambung C5 digunakan untuk menyambungkan LCD 16x2 I2C.
Oleh itu, melalui sistem ini, anda boleh memasang projek dalam basikal anda dan mendapatkan nilai jarak perjalanan.
Untuk ini, anda boleh menggunakan kod yang ditunjukkan di bawah.
#sertakan #sertakan
/*
Pinos de conex? O dos bot? Es e sensor reed 8 - Sensor Reed Switch 9 - Decremento 12 - Incremento 11 - Enter * /
#tentukan MEMORIA 120
#tentukan PosRaio 125
#tentukan 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;
bait samb = 0;
VoltaCompleta int panjang yang tidak ditandatangani = 0;
into tempo_atual panjang yang tidak ditandatangani = 0, ultimo_tempo = 0;
terapung DistKm = 0;
int raio yang tidak ditandatangani = 0; terapung Distancia = 0;
persediaan tidak sah ()
{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
jika (EEPROM.read (MEMORIA)! = 73) {ConfiguraRaio (); EEPROM.write (MEMORIA, 73); }
lcd.setCursor (3, 0);
lcd.print ("Distancia"); lcd.setCursor (6, 1); lcd.print (Distancia);
lcd.setCursor (14, 1);
lcd.print ("km");
raio = EEPROM.read (PosRaio);
}
gelung kosong ()
{
// Regiao de codigo untuk merealisasikan leitura dos botoes e sensor do dispositivo
sensor = digitalRead (ReedSwitch); Decremento = digitalRead (BotaoDecremento); Incremento = digitalRead (BotaoIncremento);
// Regiao de codigo para acumular a distancia percorrida
jika (sensor == 0 && estado_anterior == 1) {VoltaCompleta ++;
Distancia = (apungan) (2 * 3.14 * raio * VoltaCompleta) /100000.0;
lcd.setCursor (0, 1);
lcd.print (““); lcd.setCursor (6, 1); lcd.print (Distancia);
lcd.setCursor (14, 1);
lcd.print ("km");
estado_anterior = 0;
}
jika (sensor == 1 && estado_anterior == 0)
{estado_anterior = 1; }
// Regiao de Codigo para Configurar o Raio
jika (Incremento == 1 && EstadoAnteriorIncremento == 0) {EstadoAnteriorIncremento = 1; }
jika (Incremento == 0 && EstadoAnteriorIncremento == 1)
{EstadoAnteriorIncremento = 0; lcd.clear (); ConfiguraRaio (); }}
batal ConfiguraRaio ()
{
bait RaioRoda = 0;
// Imprimir mensagem para digitar o raio em cm
lcd.setCursor (0, 0); lcd.print ("Inserir Raio (cm)");
buat
{
lcd.setCursor (6, 1);
Incremento = digitalRead (BotaoIncremento);
Decremento = digitalRead (BotaoDecremento); BotaoEnter = digitalRead (BotaoEnterOk);
jika (Incremento == 1 && IncrementoAnterior == 0)
{RaioRoda = RaioRoda + 1; IncrementoAnterior = 1; }
jika (Incremento == 0 && IncrementoAnterior == 1)
{IncrementoAnterior = 0; }
jika (Decremento == 1 && DecrementoAnterior == 0)
{RaioRoda = RaioRoda - 1; DecrementoAnterior = 1; }
jika (Decremento == 0 && DecrementoAnterior == 1)
{DecrementoAnterior = 0; }
lcd.setCursor (6, 1);
lcd.print (RaioRoda);
} sementara (BotaoEnter == 0);
lcd.clear ();
EEPROM.write (PosRaio, RaioRoda);
kembali; }
Dari kod ini mungkin akan mengira jarak anda dengan Arduino anda.
Langkah 4: Kesimpulannya
Oleh itu, sekiranya anda mahukan PCB anda sendiri, anda boleh mendapatkannya melalui pautan ini di laman web PCBWay.com. Untuk ini, anda boleh mengakses laman web, membuat akaun anda, dan mendapatkan PCB sendiri.
Makmal Silícios mengucapkan terima kasih UTSOURCE untuk menawarkan komponen elektronik untuk membuat projek ini.
Disyorkan:
Lampu Basikal: 7 Langkah
Lampu Basikal: Dalam projek ini saya akan menunjukkan kepada anda cara membuat lampu basikal anda sendiri yang dapat menerangi jalan anda pada waktu malam, tunjukkan jalan yang akan anda jalani, termasuk lampu rehat
Pembesar suara Bluetooth Pemasangan Basikal Tanpa Wayar: 11 Langkah (dengan Gambar)
Pembesar suara Bluetooth yang dipasang dengan basikal tanpa wayar: Hai! Dalam Instructable ini saya akan menunjukkan kepada anda bagaimana saya telah membina pembesar suara Bluetooth yang dipasang dengan basikal tanpa wayar saya. Saya harus katakan, ini mungkin salah satu projek kegemaran saya setakat ini. Ia kelihatan hebat, mempunyai suara yang hebat dan mempunyai penampilan futuristik! Seperti yang
Membuat Odometer Arduino - Bahagian I: 4 Langkah
Membuat Odometer Arduino - Bahagian I: Adalah biasa bagi penunggang basikal dan pengguna basikal latihan untuk mengukur kelajuan dan jarak perjalanan mereka. Untuk ini, kami memerlukan peranti yang dikenali sebagai odometer. Odometer bertanggungjawab untuk mengukur pemboleh ubah ini dan menghantar maklumat ini
Speedometer Basikal Arduino Menggunakan GPS: 8 Langkah
Speedometer Basikal Arduino Menggunakan GPS: Dalam tutorial ini kita akan menggunakan Arduino dan Visuino untuk memaparkan Kelajuan Basikal semasa dari GPS pada paparan ST7735. Tonton video demonstrasi
Odometer Skateboard Elektrik: 5 Langkah
Electric Skateboard Odometer: Pendahuluan Kebanyakan papan selaju elektrik kelas atas sekitar seribu dolar dilengkapi dengan aplikasi telefon yang memaparkan maklumat masa nyata papan selaju dan malangnya, papan selaju yang lebih menjimatkan dari China tidak disertakan dengan papan luncur. Jadi mengapa tidak