» Điện tử » Arduino »Máy đo khoảng cách bánh xe (độ cong) trên Arduino tự làm

Máy đo khoảng cách bánh xe tự làm (curvim) trên Arduino

Xin chào mọi người! Bây giờ tôi sẽ cố gắng nói chi tiết về cách làm cho đường cong đơn giản nhất và giá cả phải chăng nhất.

Nhưng trước tiên, hãy tìm hiểu nó là gì và tại sao nó lại cần thiết. Trong thực tế, tên của nó cho chúng ta biết mục đích của nó. Nó được hình thành từ chữ curvus trong tiếng Latin, có nghĩa là cong hoặc lượn sóng. Đó là, một đường cong là một bánh xe hoặc máy đo khoảng cách con lăn. Hai loại đường cong được phân biệt: nhỏ (bản đồ), thường được sử dụng để đo trên bản đồ và lớn (đường), thường được sử dụng để đo chiều dài của các phần cong của đường cao tốc. Chúng có thể được sử dụng bất cứ nơi nào bất tiện hoặc không thể đo bằng roulette tiêu chuẩn, do đó dự án hứa hẹn sẽ thú vị.

Điều đầu tiên cần quan tâm khi xây dựng đường cong là bánh xe hoặc con lăn. Nó phải đủ nhỏ để độ chính xác của thiết bị cao, đồng thời nó phải đủ lớn để giá trị của các giá trị đọc không bị ảnh hưởng nhiều bởi độ không đồng đều của bề mặt đo. Trong trường hợp của tôi, bánh xe có đường kính 14 cm.

Bây giờ bạn cần xác định vật liệu và kích thước của cấu trúc. Tôi đã sử dụng một cái cây.

Trên các thanh tôi đã đánh dấu và thực hiện các vết cắt và lỗ cần thiết.

Sau đó, tôi lắp ráp các bộ phận gia công bằng cách sử dụng vít tự khai thác nhỏ.
Bây giờ chúng ta hãy lạc đề một chút từ chính đường cong và suy nghĩ xem làm thế nào điều này thậm chí có thể xác định khoảng cách? Mọi thứ đều khá đơn giản. Chúng ta chỉ cần tính số vòng quay của bánh xe và nhân với chiều dài chu vi bên ngoài của nó, và nó còn dễ dàng hơn để thêm một giá trị độ dài mỗi khi bánh xe tạo ra một cuộc cách mạng khác.

Để đếm từng cuộc cách mạng trong trường hợp đơn giản nhất, bạn có thể sử dụng "tiếp điểm trượt". Tuy nhiên, tôi không khuyên bạn nên sử dụng một cơ chế tham chiếu như vậy. Sẽ tốt hơn nhiều khi sử dụng công tắc sậy hoặc cảm biến Hall.

Đã đến lúc thử bánh xe. Tôi sẽ buộc chặt nó bằng một bu lông dài. Chúng tôi tìm thấy một vị trí trên khung mà vành bánh xe càng gần nó càng tốt và đánh dấu bằng các nét. Xung quanh khu vực này, chúng ta phải cài đặt công tắc sậy.

Trên bánh xe bạn cần cài đặt một nam châm nhỏ.Hãy chắc chắn rằng sức mạnh của anh ta sẽ đủ để đóng các tiếp điểm của công tắc sậy.
Bây giờ chúng ta sẽ tham gia vào "bộ não" của hệ thống. Trong trường hợp của tôi, đây là một khoản phí Arduino UNO. Nó sẽ đọc trạng thái của công tắc sậy và truyền dữ liệu qua kết nối Bluetooth, sử dụng mô-đun HC-05, đến điện thoại. Nhân tiện, công tắc sậy được kết nối với bảng như một nút thông thường. Tôi nghĩ không nên có bất kỳ vấn đề nào khi kết nối mô-đun Bluetooth.

Đối với bản thân mã, nó rất đơn giản. Và tôi đã cố gắng bình luận về nó để mọi thứ rõ ràng nhất có thể.

int gercon = 12; // đã kết nối công tắc sậy với 12 pin
khoảng cách gấp đôi = 0; // tạo một biến kép để lưu trữ khoảng cách
void setup () {
   Nối tiếp.begin (9600); // đã kết nối một kết nối nối tiếp
 }
  void loop () {
/ * Tiếp theo là vòng lặp if. Nếu công tắc sậy được đóng lại, thì việc tính toán khoảng cách tiếp theo sẽ diễn ra. Giá trị 0,46472 đã là chiều dài tính toán của một vòng quay của bánh xe. Để tránh dữ liệu "phụ", hãy thêm độ trễ 200 mili giây và hiển thị bài đọc
* /
   if (digitalRead (gercon) == CAO)
   {
 khoảng cách = khoảng cách + 0,46472;
 trì hoãn (200);
 Nối tiếp.println (khoảng cách);
}
  } 


Đây là đường cong của chúng tôi và sẵn sàng!

Hãy tạo ra một vài cuộc đua thử nghiệm. Tất cả mọi thứ hoạt động tuyệt vời!


Bạn có thể xem video về lắp ráp thiết bị này, có thể bạn sẽ tìm thấy ở đó một cái gì đó thú vị.
[phương tiện = https: //youtu.be/kx_7ztPsLws]

Có một sự lặp lại tốt của dự án!
5
5
7

Thêm một bình luận

    • cườinhững nụ cườixaxađược rồikhông biếtyahookhông
      ông chủvết xướcđồ ngốcvângvâng-vânghung hăngbí mật
      xin lỗinhảynhảy2nhảy3ân xágiúp đỡđồ uống
      dừng lạibạn bètốttốt lànhcòingấtlưỡi
      hút thuốcvỗ taycraytuyên bốgiễu cợtdon-t_mentiontải về
      nhiệttôi rấtcười1mdacuộc họpmoskingtiêu cực
      không phảibỏng ngôtrừng phạtđọcsợsợ hãitìm kiếm
      chế nhạocảm ơncái nàyto_cluecựu sinh viêncấp tínhđồng ý
      xấubeeeđen_eyeblum3đỏ mặttự hàobuồn chán
      bị kiểm duyệtdễ chịubí mật2đe dọachiến thắngyusun_bespectacled
      shokrespekthahacó trướcchào mừngkrutoyya_za
      ya_dobryingười trợ giúpne_huliganne_othodifludcấmđóng
1 bình luận
Khách mời
Tại sao UNO khi attiny13 là đủ cho mắt ...
Đối với mã, ít nhất bạn cần thêm một kiểm tra rằng nam châm đã rời khỏi công tắc sậy, bởi vì trong quá trình thực hiện này, ở một tốc độ nhất định và thậm chí nhiều hơn nếu bánh xe dừng lại, nó có thể được xử lý nhiều lần hoặc không được xử lý. Để làm điều này, chỉ cần thêm một biến toàn cục và kiểm tra trạng thái của nó trước khi tính toán độ dài, đại loại như:
int gercon = 12; // đã kết nối công tắc sậy với 12 pin
int i = đúng;
khoảng cách gấp đôi = 0; // tạo một biến kép để lưu trữ khoảng cách
void setup () {
Nối tiếp.begin (9600); // đã kết nối một kết nối nối tiếp
}
void loop () {
/ * Tiếp theo là vòng lặp if. Nếu công tắc sậy được đóng lại, thì việc tính toán khoảng cách tiếp theo sẽ diễn ra. Giá trị 0,46472 đã là chiều dài tính toán của một vòng quay của bánh xe. Để tránh dữ liệu "phụ", hãy thêm độ trễ 200 mili giây và hiển thị bài đọc
*/
if (digitalRead (gercon) == CAO)
{
nếu (tôi <1)
{
khoảng cách = khoảng cách + 0,46472;
i = 1;
// độ trễ (200);
Nối tiếp.println (khoảng cách);
}
}
nếu (i> 0)
{
i ++;
trì hoãn (1);
}
if (digitalRead (gercon) == THẤP)
{
if (i> 30) // tránh dương tính giả do tiếp xúc nảy
{
i = 0;
}
}
}

Tốt hơn hết, hãy đặt hai công tắc sậy, điều này sẽ cho phép bạn xác định hướng quay (Tôi đã không đến đó để đo - Tôi quay lại, và không bắt đầu lại từ đầu hoặc lắc nó về phía trước và quay lại nói chuyện với hàng xóm, v.v.). Bạn cũng có thể thêm nam châm để thay đổi độ phân giải.
ZY Tôi đã không kiểm tra các thay đổi trong mã, có thể có lỗi.

Chúng tôi khuyên bạn nên đọc:

Đưa nó cho điện thoại thông minh ...