» Chủ đề » Ý tưởng DIY »Đồng hồ tốc độ cho xe tay ga

Đồng hồ tốc độ cho xe tay ga

Tôi mang đến sự chú ý của bạn tiếp theo của tôi hàng thủ côngcụ thể là đồng hồ tốc độ cho xe tay ga.
Bối cảnh như sau: vì niềm vui khắc phục tình trạng không hoạt động thể chất, bảng Rollersurf đã được mua. Vì chỉ có hai bánh xe trên bảng, nên việc lái xe trên nó đòi hỏi phải có cảm giác cân bằng, bạn chỉ có thể đứng trong tư thế chuyển động. Sau khi chắc chắn rằng sau khi di chuyển liên tục ở khoảng cách khoảng 700 mét, các bánh xe dường như bị kẹt trong cát và chuyển động rất khó khăn, tôi chuyển sang Internet và các chuyên gia. Rõ ràng là do sự mềm mại quá mức của vật liệu bánh xe đối với trọng lượng của tôi, vật liệu bánh xe rất nóng và mềm, tiếp xúc với đường tăng và độ nhớt của bánh xe tăng lên gây khó khăn cho việc kiểm soát và tạo mô-men xoắn. Sau khi thay thế các bánh xe bằng một cuộn cứng hơn, các bảng tăng lên đáng kể, cũng như dễ kiểm soát. Trên cùng một quãng đường dài, việc phanh quen thuộc đã không xảy ra, tốc độ tiếp tục tăng lên, dẫn đến sự sụt giảm khó chịu.
Ý tưởng đo tốc độ và giới hạn bản thân khi tăng tốc đã xuất hiện, có lẽ là sau khi ngã :) Có một nguyên mẫu từ năm 2014, nơi một thiết bị như vậy được tạo ra, nhưng đối với một loại bảng khác, trong đó mặt phẳng quay của bánh xe không di chuyển nhiều so với bảng và điện tử có thể được đặt trên bảng bằng cách kết nối nó với cảm biến trên bánh xe bằng một dây linh hoạt.
Trong trường hợp của tôi, không nên đặt cả cảm biến và thiết bị điện tử trên giá đỡ bánh xe, vì giá đỡ (bánh xe) tự xoay quanh trục của nó theo cách tròn so với mặt phẳng của bảng.
Xuất hiện con lăn


Thực hiện. Thông số tín hiệu được BlueTooth chọn vì tính sẵn có của công nghệ này và sự hiện diện của nó trong chiếc smartwatch Samsung SM-V700 trong tay. Mô-đun BlueTooth đã được chọn HC-05, bộ điều khiển Arduino Mini Pro, nhưng sau đó được thay thế bằng bộ điều khiển trần AtMega168A, pin Li-Pol 500mAh đã được chọn để đáp ứng kích thước của thầu dầu và mức tiêu thụ năng lượng ước tính. Là một cảm biến xoay, cảm biến Hall SS49E đã được chọn, trái ngược với nguyên mẫu, vì hoạt động ổn định hơn. Theo đó, bản phác thảo đã được hiện đại hóa một chút. Sự đi qua của một nam châm được gắn trong hốc bánh xe được phân tích bởi hai điểm: sự dẫn động thứ nhất - nam châm đi vào vùng nhạy cảm - trung đội Trực và hành động thứ hai - nam châm thoát ra khỏi vùng nhạy cảm của cảm biến -Bộ điều khiển đếm các sự kiện này trong một khoảng thời gian xác định - 1 giây và gửi số nhận được qua kênh liên lạc đến thiết bị Android, đồng thời phân tích các tín hiệu đến. Chương trình nhận, hiển thị, quản lý mô-đun được tạo dựa trên nguyên mẫu trong môi trường Android Studio. Nó cung cấp một số cải tiến liên quan đến việc tăng khả năng chống ồn. Giống như nguyên mẫu, nó tính toán tốc độ và khoảng cách. Chức năng hữu ích của việc bật / tắt "đèn pha" - một đèn LED hướng về phía trước trong chuyển động - cũng được lưu lại, như có vẻ như vậy.
Khối không có nắp

Trên cùng bên trái: đèn LED bảo vệ đảo ngược sạc màu đỏ, công tắc sạc, pin; bên dưới: mô-đun VT màu xanh lá cây, vi điều khiển AtMega168A với các đầu nối cắt phẳng được dán ở mặt sau với phần trên của vỏ.
Vỏ khối với cảm biến từ

Được lắp ráp với thầu dầu, mô-đun trông như thế này:
Chặn trên thầu dầu

Trong ảnh, bạn có thể thấy công tắc nguồn, các tiếp điểm để kết nối bộ sạc, ở phía bên kia của thiết bị ở góc trên - đèn LED - "đèn pha".
Chương trình nguyên mẫu được bổ sung khả năng phát tín hiệu âm thanh và rung tại các sự kiện khác nhau (bật / tắt đèn pha, tín hiệu báo động khi vượt quá giới hạn tốc độ tối đa đã chỉ định).
Thử nghiệm trên bàn - trong ảnh dưới đây, chưa thử nghiệm trên đường, chờ đợi mùa hè :)
Kiểm tra trên bàn

Dự án Android Studio có khối lượng lớn, tôi sẽ đăng nó ở đâu đó với một liên kết, nếu có hứng thú, tôi mang đến một bản phác thảo với các bình luận.
Trước sự quan tâm, tôi sẵn sàng chia sẻ ý tưởng, kinh nghiệm.
Câu hỏi \ chủ đề được tự động xuất bản trong xã hội. mạng lưới trang web - hãy theo dõi câu trả lời ở đó:

Thích hợp cho chủ đề

Chủ đề liên quan

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
Tác giả
Bản phác thảo phần mềm ATMega168A:
/*
* Mega168 !!!
*/
#inc loại "hẹn giờ-api.h"

int Polarity = -1; // độ phân cực của xung của tín hiệu đầu vào (trong trường hợp của tôi, âm
int Tr ngưỡng = 500; // ngưỡng kích hoạt của xung đọc 1/2 Vcc = 512
int CountTurn = 0; // lưu trữ số vòng quay cho kỳ kế toán
int LED = 13; // Đèn LED được kết nối với pin PB5
int InputSignal = A5; // đầu vào cho cảm biến Hall
int TurnNumber = 0; // số vòng quay tích lũy
int DeltaT = 28; // độ trễ từ phía trước để xác định kết thúc của xung cho ổn định
bool Đánh dấu = sai; // giá trị ban đầu, chưa có đánh dấu

thiết lập void ()
{
Nối tiếp.begin (9600); // để gỡ lỗi
timer_init_ISR_2Hz (TIMER_DEFAULT); // nhận độ trễ 1 giây !!!
pinMode (LED, OUTPUT); // xuất tín hiệu ra đèn nền (đèn pha)
pinMode (InputSignal, INPUT); // đầu vào cho cảm biến Hall
}

void loop () // ở đây chúng tôi xử lý tín hiệu từ điều khiển cảm biến và đèn pha
{
if (Tick) // quyền thực thi khối if tại một khoảng thời gian cố định
// gửi số vòng quay
{
Serial.println (Chuỗi (CountTurn) + ";"); // để gỡ lỗi
Đánh dấu = false; // chuẩn bị theo dõi. khoảng thời gian
Đếm = 0; // không số vòng quay sau khi chuyển sang điện thoại thông minh
}

khác // nếu đánh dấu chưa đến, chúng tôi tích lũy số vòng quay, bật / tắt đèn pha
{
// tích lũy các cuộc cách mạng
if (analogRead (InputSignal) {
delay (DeltaT); // chưa đọc gì cả
if (analogRead (InputSignal)> Tr ngưỡng) // cạnh đuôi đã đến
{
CountTurn ++; // tích lũy số vòng quay khi đến cạnh đuôi
}
}

// điều khiển đèn pha
if (serial.av Available ()> 0) // đọc ký tự từ BTSerial
{
lệnh char = serial.read ();
chuyển đổi (lệnh)
{
trường hợp '0': digitalWrite (LED, THẤP); phá vỡ; // bật đèn pha
trường hợp '1': digitalWrite (LED, CAO); break; // Tắt đèn pha
}
}
}
}

void timer_handle_interrupts (int timer)
{
Đánh dấu = đúng;
}

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

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