Mục lục:
- Bước 1: Tạo mạch để cấp nguồn cho động cơ và điều khiển từ xa
- Bước 2: Tạo cơ sở cho hai động cơ
- Bước 3: Thêm Servo vào Dưới cùng của Động cơ
- Bước 4: Cắt lỗ trong thùng chứa lớn
- Bước 5: Đường ống
- Bước 6: Cái phễu
- Bước 7: Đặt phễu, ống và động cơ
- Bước 8: Servo cuối cùng
- Bước 9: Thêm mã để kiểm tra các bộ phận làm việc
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-13 06:58
Vật liệu cần thiết
1 x Cảm biến RFID / điều khiển từ xa
1 x Arduino chưa
2 x động cơ DC
1 x 180 servo
1 x 360 servo
nhiều dây
Hộp / thùng chứa để xây dựng dự án
đường ống để đưa bóng đi qua
Bước 1: Tạo mạch để cấp nguồn cho động cơ và điều khiển từ xa
Xây dựng mạch
xây dựng mạch ở trên và kết nối với các chân giống nhau để sử dụng cùng một mã chính xác
Bước 2: Tạo cơ sở cho hai động cơ
bạn sẽ cần sử dụng bảng xốp để cắt các hình chữ nhật 4, 5 inch x 2 inch cho các cạnh. sau đó cắt ra 2, 5 x 5 inch hình vuông để sử dụng làm mặt trên và mặt dưới. tiếp theo, các động cơ sẽ cần một chỗ để ngồi, vì vậy hãy khoét 2 lỗ có đường kính 23mm và cách nhau 39mm để nhường chỗ cho quả bóng được bắn. sau đó tạo một điểm hoặc một vài lỗ trên hình vuông dưới cùng để cho phép các dây dẫn từ động cơ kết nối vào mạch điện.
Bước 3: Thêm Servo vào Dưới cùng của Động cơ
dán cẩn thận servo 180 hoặc 360 vào đáy (ở giữa) của hình vuông. chúng tôi đang làm điều này để chúng tôi có thể thay đổi hướng theo cách thủ công bằng điều khiển từ xa hoặc ngẫu nhiên để bóng bắn theo các hướng khác nhau
Bước 4: Cắt lỗ trong thùng chứa lớn
Lấy hộp chứa lớn và khoét một lỗ ở phía trước và phía sau, nó không cần phải chính xác nhưng ở phía trước, chúng ta nên khá lớn như trong hình để cho phép bóng được bắn theo các hướng khác nhau khi servo di chuyển. và mặt sau của hộp chứa cắt một lỗ nhỏ hơn để cho phép các dây dẫn ra ngoài và đặt các bộ phận mạch điện vào hoặc thay đổi mạch điện nếu cần. ở phía trước, keo servo vào nắp của một trong các thùng chứa và sau đó dán vào đế của thùng chứa để hỗ trợ, xem hình thứ hai để tham khảo
Bước 5: Đường ống
làm hoặc mua một ống nhựa pvc dài 1 feet, tốt nhất là có đường cong để cho bóng lăn vào sau đó cắt một viên peice 1,5 inch để cho bóng vào.
Bước 6: Cái phễu
cắt bỏ 4 hình thang bằng nhau, có thể tùy ý nhưng của tôi cao 5 inch và hơi xéo khi đặt vào ống, sau đó miếng ván xốp ở phía dưới khoét một lỗ đủ lớn để một quả bóng bàn chui qua. tiếp theo dán chúng lại với nhau tạo thành một cái nhảy cho tất cả các quả bóng ngồi vào nhau. Sau đó chúng ta sẽ dán keo này vào đầu ống nơi đã khoét lỗ
Bước 7: Đặt phễu, ống và động cơ
bạn sẽ muốn đặt đường ống bên trong hộp chứa ngay trên mép của hộp màu trắng được làm cho động cơ để quả bóng bay ra và được bánh xe đẩy. bây giờ bạn có thể dán trên phễu vào đầu ống
Bước 8: Servo cuối cùng
servo này được dán vào dưới cùng của phễu / nơi tôi cắt đường ống để nó nhô ra đủ để các quả bóng ping sẽ không rơi qua cho đến khi nhấn vào nút và servo di chuyển
Bước 9: Thêm mã để kiểm tra các bộ phận làm việc
// Trình sửa mèo
// nhập thư viện để sử dụng các lệnh trong toàn bộ mã, ví dụ: khai báo các chân là servos và thiết lập điều khiển từ xa IR #include #include
// thiết lập các biến để thiết lập tốc độ cho động cơ DC int onspeed = 255; int lowspeed = 100; int offpeed = 0;
// thiết lập chân thu thông tin và hai chân động cơ int IR_Recv = 2; int motor1 = 10; int motor2 = 11;
// khai báo các biến dưới dạng servos để chương trình biết đó là một servo để sử dụng các lệnh cụ thể Servo vạt; Góc Servo;
// khai báo chân IR để nhận đầu vào từ điều khiển từ xa // lấy kết quả từ remote IRrecv’tcv (IR_Recv); giải mã kết quả;
void setup () {
Serial.begin (9600); // bắt đầu giao tiếp nối tiếp không thể thay đổi được. // Khởi động bộ thu
nắp bật.attach (7); // gắn nắp servo vào chân 7 để chúng ta có thể sử dụng nó sau này trong chương trình angle.attach (4); // gắn góc servo vào chân 4 để chúng ta có thể sử dụng nó sau này trong chương trình pinMode (motor1, OUTPUT); // đặt motor1 thành đầu ra để chúng ta có thể gửi tốc độ tới khi nút được nhấn pinMode (motor2, OUTPUT); // đặt motor2 thành đầu ra để chúng tôi có thể gửi tốc độ đến khi nút được nhấn
}
void loop () {
vạt.write (0); // đặt servo điều khiển bộ nạp bi thành 0 độ để không cho bất kỳ quả bóng nào lọt qua
if (Uncv.decode (& results)) {long int decCode = results.value; Serial.println (giải mã); không thể tìm thấy ();
switch (results.value) {
case 0xFFA25D: // power analogWrite (motor1, onspeed); analogWrite (motor2, tốc độ); chậm trễ (7000); vỗ.write (90); chậm trễ (500); vạt.write (0); chậm trễ (2000); analogWrite (motor1, offpeed); analogWrite (motor2, offpeed); nghỉ;
trường hợp 0xFFE01F: // EQ
analogWrite (motor1, tốc độ); analogWrite (motor2, tốc độ thấp); chậm trễ (7000); vỗ.write (90); chậm trễ (500); vạt.write (0); chậm trễ (2000); analogWrite (motor1, offpeed); analogWrite (motor2, offpeed);
nghỉ;
case 0xFF629D: // mode
analogWrite (motor1, tốc độ thấp); analogWrite (motor2, tốc độ); chậm trễ (7000); vỗ.write (90); chậm trễ (500); vạt.write (0); chậm trễ (2000); analogWrite (motor1, offpeed); analogWrite (motor2, offpeed);
nghỉ;
trường hợp 0xFF30CF: // thiết lập 1, 90 độ
góc.write (30);
nghỉ;
trường hợp 0xFF18E7: // thiết lập 2, 0 độ
angle.write (90);
nghỉ;
trường hợp 0xFF7A85: // thiết lập 3, 180 độ
angle.write (150);
nghỉ;
} } }