Mục lục:
Video: Điều khiển từ xa Bluetooth bằng gỗ cho Lego Duplo Train: 3 bước (có hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:31
Các con tôi rất thích chiếc xe lửa Lego Duplo nhỏ bé này, đặc biệt là đứa con út của tôi, người đang gặp khó khăn trong việc giao tiếp bằng lời nói, vì vậy tôi muốn tạo cho con một thứ gì đó có thể giúp con chơi với tàu mà không phụ thuộc vào người lớn hoặc điện thoại / máy tính bảng. Thứ gì đó sẽ bổ sung thêm một chiều cho đoàn tàu và mang lại cho nó giá trị chơi bổ sung
Bộ Lego đã có rất ít cách để điều khiển đoàn tàu, bạn có thể đẩy nó về phía trước để bắt đầu và giữ nó để dừng nó, bạn có thể điều khiển nó bằng cách sử dụng các thẻ màu trên đường ray để khi tàu chạy qua nó sẽ kích hoạt các hành động khác nhau tức là tiến, lùi, phát âm thanh bật đèn. Bạn cũng có thể tải xuống một ứng dụng cho điện thoại hoặc máy tính bảng của mình có thể kết nối với tàu qua bluetooth.
Đây là một bài đánh giá đầy đủ về chuyến tàu
Sau khi tìm kiếm khắp nơi trên mạng, tôi thấy có khá nhiều người khác nhau đã viết sẵn mã điều khiển tàu. Nút 'Poweredup' được viết bởi nathan.kellenicki (https://nathan.kellenicki.com/node-poweredup/) trông giống như một sự khởi đầu hoàn hảo, Nó được viết bằng Javascript mà tôi không quen lắm nhưng nghĩ nếu tôi có thể tìm thấy vi mạch dựa trên java, đây sẽ là một khởi đầu tốt.
Một lần nữa sau khi tìm kiếm trên internet một lần nữa, tôi tìm thấy hệ thống espruino, hệ thống này tương tự như ardiuno nhưng dựa trên javascript. Mã espriuno có thể được tải vào máy tính bảng MDBT42Q có nhúng bluetooth. Tôi nghĩ nếu tôi có thể tải mô-đun "được cấp nguồn" vào nó, tôi sẽ đi được một nửa chặng đường đến đó, tuy nhiên điều này đơn giản không phải là trường hợp một mô-đun chứa nhiều thư viện lớn để tải trên MDBT42Q, vì vậy có vẻ như tôi phải tìm một giải pháp đơn giản hơn….
Bước 1: Mã
Esprinuo
Đối với những người không biết nền tảng Espruino https://www.espruino.com (và tôi thì không) có phải nó rất giống với Arduino không, Có một vài điểm khác biệt chính là nó được viết cho javascript thay vì c, Nó có cảm giác mới hơn một chút vì vậy e rằng có những ví dụ tuy nhiên sự hỗ trợ qua các diễn đàn là rất tốt và rất hữu ích.
Javascript gặp chuyến tàu
Rào cản đầu tiên là kết nối với tàu qua bluetooth, Điều này có thể được thực hiện bằng cách sử dụng lớp NRF mà tàu có trong mã espruino.
NRF.connect có thể được sử dụng để kết nối với tàu, tuy nhiên trước tiên bạn cần tìm địa chỉ của chính tàu, bạn có thể sử dụng NRF.findDevices để lấy thông tin này
Sau khi thực hiện xong việc này, bạn cần gửi cho đoàn tàu hai giá trị để bắt tay với đoàn tàu, đối với chuyến tàu của tôi, giá trị này là "00001623-1212-efde-1623-785feabcd123", tiếp theo là "00001624-1212-efde-1623-785feabcd123" Tôi tin rằng Điều này sẽ giống nhau đối với tất cả các bộ tàu hơi nước nhưng các phiên bản khác tức là bộ hàng hóa có thể khác
Sau khi bạn có điều này, bạn có thể kết nối tàu bằng chức năng như sau, bạn có thể biết khi nào tàu đã kết nối vì nó sẽ nhấp nháy đèn pha màu xanh lam
NRF.connect ("e0: 7d: ea: 0c: 03: 29"). Then (function (g) {
console.log ("Đang bắt đầu kết nối2"); gatt = g; return gatt.getPrimaryService ("00001623-1212-efde-1623-785feabcd123"); }). then (function (service) {return service.getCharacteristic ("00001624-1212-efde-1623-785feabcd123");}). then (function (feature) {Characttic_store = character; return feature.readValue ();}).then (value => {console.log (value);}). then (function () {console.log ("Train Connected"); Connected = 1;
Những điều thú vị
Bây giờ bạn đã kết nối với tàu đã đến lúc thực hiện tất cả những điều thú vị như di chuyển nó về phía trước, tạo âm thanh và bật và tắt đèn. Công việc đơn giản là gửi cho đoàn tàu một giá trị chuẩn bị, theo sau là lệnh thực, tức là
function play_horn () {
console.log ("message =", Cửa hàng đặc trưng); const prepval = new Uint8Array ([0x0a, 0x00, 0x41, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01]); const sendvalue = new Uint8Array ([0x08, 0x00, 0x81, 0x01, 0x11, 0x51, 0x01, 0x09]); Characttic_store.writeValue (prepval).then (_ => {Characttic_store.writeValue (sendvalue);}); }
Bạn có thể phải đào một chút để tìm lệnh khác ngoài những lệnh tôi đã sử dụng
Các nút và đòn bẩy
Mặt vật lý của điều khiển từ xa là bốn nút (để phát âm thanh, bật và tắt đèn) và một chiết áp được kết nối với cần gạt để bạn có thể điều khiển tốc độ và hướng của tàu.
Nút không cần điện trở kéo lên thay vào đó bạn có thể làm điều này trong mã, tức là
pinMode (D15, 'input_pulldown');
Bạn có thể kết nối chiết áp với một trong các đầu vào và sau đó đọc nó thành tín hiệu tương tự bằng lệnh sau
var read = analogRead (D31);
Sự khác biệt khác đối với arduino là esprunio không có thiết lập và vòng lặp. Vì vậy, thay vào đó, tôi đặt tất cả các lệnh / trình kích hoạt riêng biệt vào các hàm và sau đó thiết lập setInterval lặp lại sau mỗi 100 mili giây, lắng nghe nút sau đó chạy chức năng cần thiết khi nút đã được nhấn.
if (digitalRead (D15) == 1) {play_horn (); }
Kích hoạt cần gạt phức tạp hơn một chút vì muốn có thể điều chỉnh dần tốc độ, vì vậy trước tiên tôi phải gửi giá trị tương tự để hoạt động
var read = analogRead (D31);
train_direction (đọc * 1024);
Sau đó, trong hàm train_direction, tôi đã chia nhỏ lệnh thành 6 mức tăng khác nhau dựa trên giá trị pot
Tất cả các con đường lên, nói với tàu để đi hết tốc độ phía trước
Lên được nửa đường, yêu cầu tàu đi tiếp với tốc độ 50%
Middle, bảo tàu dừng lại
Xuống được một nửa, yêu cầu tàu chạy lùi với tốc độ 50%
Xuống hết mức, bảo tàu chạy ngược lại hết tốc độ
I E
function train_direction (dir_val) {
//console.log("message = ", Characttic_store); const prepval = new Uint8Array ([0x0a, 0x00, 0x41, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01]); const sendvalue = new Uint8Array ([0x08, 0x00, 0x81, 0x00, 0x01, 0x51, 0x00, 0x00]); if (dir_val> 300 && dir_val 400 && dir_val 500) {const sendvalue = new Uint8Array ([0x08, 0x00, 0x81, 0x00, 0x01, 0x51, 0x00, 0x64]); } if (dir_val 200) {const sendvalue = new Uint8Array ([0x08, 0x00, 0x81, 0x00, 0x01, 0x51, 0x00, 0xe2]); } if (dir_val 100) {const sendvalue = new Uint8Array ([0x08, 0x00, 0x81, 0x00, 0x01, 0x51, 0x00, 0xce]); } if (dir_val {Đặc trưng_store.writeValue (sendvalue);}); }
Mã đầy đủ có thể được tải xuống cho liên kết bên dưới
Bước 2: Hệ thống dây điện
Hệ thống dây điện là phần đơn giản nhất
Nó chỉ bao gồm 4 nút nhấn được kết nối với D15, D16, D17 và D18 với bất kỳ điện trở kéo lên nào như điều này đã được thực hiện trong mã và 1 điện trở 10k được kết nối với D31
Tôi vẫn đang làm việc trên nguồn điện nhưng hiện tại tất cả nguồn điện đều tạo thành sự cố micro usb và điều này có thể chúng được kết nối trực tiếp với pin sạc dự phòng hoặc cổng USB
Bước 3: Xây dựng
Điều khiển từ xa chủ yếu là tấm ván ép khổ A4 3mm, 6mm hoặc 9mm, chúng được cắt trên máy CNC của tôi, tuy nhiên bằng cách sử dụng mẫu được cung cấp, tôi sẽ mặc dù không thể làm bằng tay
Tôi hy vọng mẫu và ảnh sẽ cung cấp cho bạn tất cả những gì bạn cần để làm lại tuy nhiên có một số lưu ý có thể hữu ích
Giá đỡ Nút nhấn 3mm là để gắn nút nhấn vào, khoảng trống sẽ định vị nút ở đúng vị trí nhưng chúng tôi cho phép bạn tiếp cận chân ở mặt sau để bạn có thể hàn vào vi mạch, ở mặt sau, bạn cũng có thể lắp MDBT42Q bằng cách sử dụng một số keo. Ở mặt trước, bạn sẽ cần phải thêm bọt để tạo độ nảy cho các nút khi bạn nhấn xuống, bạn cũng có thể sử dụng lò xo
Các nút 9mm sẽ cần sơn, khắc của logo hoặc một thứ gì đó khác để hiển thị nút nào có chức năng gì
Cần / Tay cầm sẽ cần được xếp lớp, tôi đã sử dụng chốt 6mm để giúp căn chỉnh chúng ở tất cả các vị trí chính xác
Đề xuất:
Treo tường cho IPad làm bảng điều khiển tự động hóa tại nhà, sử dụng nam châm điều khiển Servo để kích hoạt màn hình: 4 bước (có hình ảnh)
Giá treo tường cho iPad làm Bảng điều khiển tự động hóa tại nhà, Sử dụng Nam châm điều khiển Servo để Kích hoạt màn hình: Gần đây, tôi đã dành khá nhiều thời gian để tự động hóa mọi thứ trong và xung quanh nhà mình. Tôi đang sử dụng Domoticz làm ứng dụng Tự động hóa tại nhà của mình, hãy xem www.domoticz.com để biết thêm chi tiết. Trong tìm kiếm của tôi cho một ứng dụng bảng điều khiển hiển thị tất cả thông tin Domoticz
ESP8266 RGB LED STRIP Điều khiển WIFI - NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi - Điều khiển điện thoại thông minh RGB LED STRIP: 4 bước
ESP8266 RGB LED STRIP Điều khiển WIFI | NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi | Điều khiển bằng điện thoại thông minh RGB LED STRIP: Xin chào các bạn trong hướng dẫn này, chúng ta sẽ học cách sử dụng gật đầu hoặc esp8266 làm điều khiển từ xa IR để điều khiển dải LED RGB và Nodemcu sẽ được điều khiển bằng điện thoại thông minh qua wifi. Vì vậy, về cơ bản bạn có thể điều khiển DÂY CHUYỀN LED RGB bằng điện thoại thông minh của mình
Tự làm bộ điều khiển bay điều khiển đa hệ điều khiển Arduino: 7 bước (có hình ảnh)
Tự làm bộ điều khiển máy bay đa năng điều khiển Arduino: Dự án này là tạo ra một bảng logic máy bay không người lái đa năng linh hoạt nhưng tùy chỉnh dựa trên Arduino và Multiwii
Điều khiển các thiết bị điện của bạn bằng Điều khiển từ xa Tv (Điều khiển từ xa) với Màn hình nhiệt độ và độ ẩm: 9 bước
Điều khiển thiết bị điện của bạn bằng Điều khiển từ xa Tv (Điều khiển từ xa) Có Hiển thị nhiệt độ và độ ẩm: xin chào, tôi là Abhay và đây là blog đầu tiên của tôi về Các thiết bị điện và hôm nay tôi sẽ hướng dẫn bạn cách điều khiển các thiết bị điện bằng điều khiển từ xa bằng cách xây dựng cái này dự án đơn giản. cảm ơn atl lab đã hỗ trợ và cung cấp tài liệu
Bộ điều khiển kỹ thuật số cho hệ thống treo khí bằng Arduino và Điều khiển từ xa trên điện thoại thông minh: 7 bước (có hình ảnh)
Bộ điều khiển kỹ thuật số cho hệ thống treo khí bằng Arduino và Điều khiển từ xa trên điện thoại thông minh: Xin chào tất cả mọi người. đây cũng là lần hướng dẫn đầu tiên của tôi nên gấu w