Mündəricat:

PCBWay Arduino Velosiped Odometri: 4 addım
PCBWay Arduino Velosiped Odometri: 4 addım

Video: PCBWay Arduino Velosiped Odometri: 4 addım

Video: PCBWay Arduino Velosiped Odometri: 4 addım
Video: PENGAMANAN SEPEDA MOTOR MENGGUNAKAN RFID DENGAN SISTEM PERINGATAN DAN TRACKER || MENYALAKAN KONTAK 2024, Iyul
Anonim
PCBWay Arduino Velosiped Odometri
PCBWay Arduino Velosiped Odometri

Bir çox avtomobildə, gedilən məsafəni hesablayan və sürücüyə məlumat təqdim etmək üçün vacib olan cihazlar var.

Beləliklə, bu məlumatlar vasitəsi ilə, məsələn, nəqliyyat vasitəsinin odometrindən istifadə edərək, iki nöqtə arasındakı məsafəni izləmək mümkündür.

Təchizat

01 x PCBWay Xüsusi PCB

01 x Arduino UNO - UTSOURCE

01 x LCD 16x2 Ekran - UTSOURCE

01 x Breadboard - UTSOURCE

01 x Tel Atlayıcılar - UTSOURCE

01 x 10kR Rotary Potansiometr - UTSOURCE

01 x UTSOURCE Reed Switch - UTSOURCE

Buna görə də, bu məqalə vasitəsi ilə qamış keçid sensoru istifadə edərək məsafə hesablama cihazınızı necə yığmağı öyrədəcəyik.

Addım 1: Layihə

Layihə
Layihə

İdman salonunun velosipedi ilə gedilən məsafəni hesablamaq üçün aşağıdakı layihə hazırlanmışdır. Bundan əlavə, layihə üçün proqramlaşdırma yaratmağı öyrənəcəksiniz.

Bu layihənin üç funksiyası var:

  • Velosipedlə gedən məsafəni hesablayın;
  • Cihazın Başlanğıc Yarıçapı Konfiqurasiyası;
  • İstənilən velosipedə uyğunlaşdırılır.

Bu funksiyalara daxil olmaq üçün istifadəçi sistemin üç düyməsindən istifadə edəcək. Hər düymənin funksionallığı var. Sistemdə aşağıdakı düymələr var:

Artım düyməsi: təkərlərin radiusunu konfiqurasiya etmək və radius dəyərini artırmaq üçün seçimə daxil olmaq üçün istifadə ediləcək;

Azaltma düyməsi: Təkərlərin radiusunu konfiqurasiya etmək üçün seçimin azaldılması üçün istifadə olunacaq;

Daxil Et Düyməsi: Sistemdəki radiusun dəyərini daxil etmək üçün istifadə olunacaq.

Əlavə olaraq Reed Switch Sensorumuz var. Təkərlərin tam döndüyünü təyin etmək məsuliyyət daşıyır. Bunu aşkar etmək üçün təkərlərə maqnit quraşdırmaq lazımdır.

Reed Switch, yuxarıdakı şəkildə göstərilmişdir.

Addım 2:

Beləliklə, maqnit sensora hər dəfə yaxınlaşanda Reed Switch sensorunu işə salacaq. Proses aşağıdakı tənlik ilə işləyir:

Səyahət məsafəsi = 2 * π * radius * TurnNumber

Bu tənlik vasitəsilə velosipedin hansı məsafəni qət etdiyini biləcəyik.

Tənlikdə radius istifadəçi tərəfindən daxil edilir və Dönüş Nömrəsi təkərin fırlanma sayı ilə hesablanır.

Təkərin dönüşlərini aşkar etmək üçün velosiped çarxına bir maqnit quraşdırmaq və Təkərin yaxınlığındakı Reed Switch Sensorunu quraşdırmaq lazımdır.

Prosesi asanlaşdırmaq üçün Reed Switch Sensorunu və üç düyməni birləşdirmək üçün çap edilmiş bir dövrə kartı yaradırıq. Çaplı Devre Kartı aşağıda göstərilən şəkildə təqdim olunur.

Addım 3:

Şəkil
Şəkil

PCB -də göstərildiyi kimi Arduino Nano'yu görmək mümkündür. Bütün sistemləri idarə etmək məsuliyyət daşıyır. Əlavə olaraq 5 JST bağlayıcımız var.

Üç düyməni və Reed Switch Sensorunu birləşdirmək üçün C4 -ə qədər C1 konnektorları istifadə olunur. İndi C5 Konnektoru 16x2 I2C LCD -ni bağlamaq üçün istifadə olunur.

Buna görə də bu sistem vasitəsi ilə layihəni velosipedinizə yükləyə və gedilən məsafə dəyərini əldə edə bilərsiniz.

Bunun üçün aşağıda təqdim olunan kodu istifadə edə bilərsiniz.

#daxil edin #daxil edin

/*

Sensor çubuq açarı 8 - Sensor Reed Switch 9 - Decremento 12 - Incremento 11 - Daxil edin */

#MEMORIA 120 müəyyən edin

#PosRaio 125 təyin edin

#ReedSwitch 8 -i təyin edin

#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);

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

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

bayt davamı = 0;

işarəsiz uzun int VoltaCompleta = 0;

işarəsiz uzun int tempo_atual = 0, ultimo_tempo = 0;

float DistKm = 0;

işarəsiz int raio = 0; üzən Distancia = 0;

boş quraşdırma ()

{Serial.begin (9600); pinMode (8, GİRİŞ); pinMode (9, GİRİŞ); pinMode (10, GİRİŞ); pinMode (12, GİRİŞ);

lcd.begin (16, 2);

// Başlanğıc və ya konfiqurasiya etmək üçün

əgər (EEPROM.read (MEMORIA)! = 73) {ConfiguraRaio (); EEPROM.write (MEMORIA, 73); }

lcd.setCursor (3, 0);

lcd.print ("Distancia"); lcd.setCursor (6, 1); lcd. çap (Distancia);

lcd.setCursor (14, 1);

lcd.print (“km”);

raio = EEPROM.read (PosRaio);

}

boşluq döngəsi ()

{

// Şəxsi məlumatların yoxlanılması üçün sensorlar

sensor = digitalRead (ReedSwitch); Decremento = digitalRead (BotaoDecremento); Artırma = digitalRead (BotaoIncremento);

// Regiao de codigo para acumular a distancia percorrida

əgər (sensor == 0 && estado_anterior == 1) {VoltaCompleta ++;

Məsafə = (üzmək) (2*3.14*raio*VoltaCompleta) /100000.0;

lcd.setCursor (0, 1);

lcd.print (““); lcd.setCursor (6, 1); lcd çap (Distancia);

lcd.setCursor (14, 1);

lcd.print (“km”);

estado_anterior = 0;

}

əgər (sensor == 1 && estado_anterior == 0)

{estado_anterior = 1; }

// Konfiqurasiya və ya Raio üçün Codigo

əgər (Incremento == 1 && EstadoAnteriorIncremento == 0) {EstadoAnteriorIncremento = 1; }

əgər (Incremento == 0 && EstadoAnteriorIncremento == 1)

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

etibarsız ConfiguraRaio ()

{

bayt RaioRoda = 0;

// Başlanğıc ölçüsü göstərin

lcd.setCursor (0, 0); lcd.print ("Inserir Raio (sm)");

etmək

{

lcd.setCursor (6, 1);

Artırma = digitalRead (BotaoIncremento);

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

əgər (Incremento == 1 && IncrementoAnterior == 0)

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

əgər (Incremento == 0 && IncrementoAnterior == 1)

{IncrementoAnterior = 0; }

əgər (Decremento == 1 && DecrementoAnterior == 0)

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

əgər (Decremento == 0 && DecrementoAnterior == 1)

{DecrementoAnterior = 0; }

lcd.setCursor (6, 1);

lcd.print (RaioRoda);

} while (BotaoEnter == 0);

lcd.clear ();

EEPROM.write (PosRaio, RaioRoda);

qayıtmaq; }

Bu koddan Arduino ilə məsafənizi hesablaya bilər.

Addım 4: Nəticə

Buna görə də, PCB -ni özünüz istəsəniz, PCBWay.com saytında bu linkdən əldə edə bilərsiniz. Bunun üçün veb sayta daxil ola, hesabınızı yarada və öz PCB -lərinizi əldə edə bilərsiniz.

Silícios Lab, bu layihəni yaratmaq üçün elektron komponentləri təqdim etdiyi üçün UTSOURCE -a təşəkkür edir.

Tövsiyə: