Mục lục:

Máy đo vận tốc xe đạp PCBWay Arduino: 4 bước
Máy đo vận tốc xe đạp PCBWay Arduino: 4 bước

Video: Máy đo vận tốc xe đạp PCBWay Arduino: 4 bước

Video: Máy đo vận tốc xe đạp PCBWay Arduino: 4 bước
Video: Thư Viện BLE nRF52 Dạng Arduino Trên Keil C nRF52840 nRF52832 Và Nrf toolbox 2024, Tháng mười một
Anonim
Máy đo vận tốc xe đạp PCBWay Arduino
Máy đo vận tốc xe đạp PCBWay Arduino

Trong nhiều loại xe, có các thiết bị tính toán quãng đường đã đi và rất cần thiết để trình bày thông tin cho người lái.

Như vậy, thông qua thông tin này, có thể theo dõi khoảng cách di chuyển giữa hai điểm, ví dụ thông qua đồng hồ đo quãng đường của xe.

Quân nhu

01 x PCBWay tùy chỉnh PCB

01 x Arduino UNO - UTSOURCE

01 x Màn hình LCD 16x2 - UTSOURCE

01 x Breadboard - UTSOURCE

01 x Dây nhảy - UTSOURCE

01 x chiết áp quay 10kR - UTSOURCE

01 x Công tắc cây lau UTSOURCE - UTSOURCE

Do đó, thông qua bài viết này, chúng tôi sẽ hướng dẫn bạn cách lắp ráp thiết bị tính toán khoảng cách sử dụng cảm biến công tắc cây lau.

Bước 1: Dự án

Dự án
Dự án

Dự án sau đây được tạo ra để tính toán quãng đường đi được bằng xe đạp của người tập thể dục. Ngoài ra, bạn sẽ học cách tạo lập trình cho dự án.

Dự án này có ba chức năng:

  • Tính quãng đường xe đạp đi được;
  • Cấu hình bán kính khởi động thiết bị;
  • Thích ứng với mọi loại xe đạp.

Để truy cập các chức năng này, người dùng sẽ sử dụng ba nút của hệ thống. Mỗi nút có chức năng của bạn. Trong hệ thống, chúng tôi có các nút sau:

Nút tăng: Nó sẽ được sử dụng để nhập vào tùy chọn định cấu hình bán kính của bánh xe và tăng giá trị bán kính;

Nút Giảm: Nó sẽ được sử dụng để giảm tùy chọn cấu hình bán kính của bánh xe;

Nút Enter: Nó sẽ được sử dụng để chèn giá trị của bán kính trong hệ thống.

Ngoài ra, chúng tôi có Cảm biến chuyển đổi cây lau. Nó có nhiệm vụ phát hiện khi nào các bánh xe quay hoàn toàn. Để phát hiện điều này, itis cần phải lắp một nam châm trên bánh xe.

Công tắc Reed được trình bày trong Hình trên.

Bước 2:

Do đó, mỗi khi nam châm đến gần cảm biến, nó sẽ kích hoạt cảm biến Reed Switch. Quá trình hoạt động thông qua phương trình sau:

Khoảng cách đã di chuyển = 2 * π * bán kính * TurnNumber

Qua phương trình này, ta biết được quãng đường đi được của xe đạp là bao nhiêu.

Trong phương trình, bán kính được người dùng chèn vào và Số vòng quay được tính thông qua số vòng quay của bánh xe.

Và để phát hiện vòng quay của bánh xe, cần lắp nam châm vào bánh xe đạp và lắp Cảm biến chuyển đổi cây lau gần bánh xe.

Để quá trình dễ dàng hơn, chúng tôi tạo một bảng mạch in để kết nối Cảm biến công tắc cây lau và ba nút. Bảng mạch in được trình bày bên dưới trong Hình dưới đây.

Bước 3:

Hình ảnh
Hình ảnh

Như được hiển thị trong PCB, có thể thấy Arduino Nano. Nó có trách nhiệm kiểm soát tất cả các hệ thống. Ngoài ra, chúng tôi có 5 đầu nối JST.

Các đầu nối C1 cho đến C4 được sử dụng để kết nối ba nút và Cảm biến công tắc cây lau. Bây giờ, Đầu nối C5 được sử dụng để kết nối LCD 16x2 I2C.

Do đó, thông qua hệ thống này, bạn có thể cài đặt dự án vào xe đạp của mình và nhận được giá trị quãng đường đã đi.

Đối với điều này, bạn có thể sử dụng mã được trình bày bên dưới.

#include #include

/*

Pinos de conex? O dos bot? Es e sensor reed switch 8 - Sensor Reed Switch 9 - Decremento 12 - Incremento 11 - Enter * /

#define MEMORIA 120

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

cảm biến bool = 0, estado_anterior = 0, Incremento = 0, Decremento = 0;

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

byte cont = 0;

unsigned long int VoltaCompleta = 0;

unsigned long int tempo_atual = 0, ultimo_tempo = 0;

float DistKm = 0;

không dấu int raio = 0; float Distancia = 0;

void setup ()

{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.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);

}

void loop ()

{

// Regiao de codigo para realizar a leitura dos botoes e sensor do 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 ++;

Distancia = (float) (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;

}

nếu (cảm biến == 1 && estado_anterior == 0)

{estado_anterior = 1; }

// Regiao de Codigo para Configurar o Raio

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

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

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

void ConfiguraRaio ()

{

byte RaioRoda = 0;

// Imprimir mensagem para digitar o raio em cm

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

làm

{

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

} while (BotaoEnter == 0);

lcd.clear ();

EEPROM.write (PosRaio, RaioRoda);

trở lại; }

Từ mã này, nó có thể sẽ tính toán khoảng cách của bạn với Arduino của bạn.

Bước 4: Kết luận

Do đó, trong trường hợp bạn muốn có PCB của riêng mình, bạn có thể lấy thông qua liên kết này trên trang web PCBWay.com. Đối với điều này, bạn có thể truy cập trang web, tạo tài khoản của mình và lấy PCB của riêng bạn.

Phòng thí nghiệm Silícios cảm ơn UTSOURCE đã cung cấp các thành phần điện tử để tạo ra dự án này.

Đề xuất: