Mục lục:
Video: Xe tăng đùa: 5 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:34
Đây là một dự án mà tôi đã thực hiện tại trường của tôi HKU, bắt buộc chúng tôi phải tạo ra thứ gì đó với Arduino Uno. Tôi muốn làm một cái gì đó có thể làm điều tôi yêu thích, khiến mọi người cười. Vì vậy, quyết định tạo ra một hộp trò đùa có thể khiến bạn đùa vui, nhưng trò đùa mà nó mang lại cho bạn sẽ phụ thuộc vào giá trị của một vài mô-đun cảm biến đang đo lường tại thời điểm nhất định đó. Để làm cho nó trở nên cá nhân hơn, tôi quyết định biến nó thành một chiếc xe tăng.
Bước 1: Lấy các bộ phận
Các phần bạn cần để tạo lại dự án này sẽ là
- 1x máy tính có khả năng chạy Arduino IDE
- 1x Arduino Uno
- 1x cáp kết nối usb cho Arduino Uno
- 1x cảm biến Sonar
- 1x Loa (tốt nhất là một trong những chất lượng tốt (, tôi đã sử dụng một chiếc tôi rút ra từ loa bluetooth)).
- 1x mô-đun Bộ khuếch đại LM386 (có thể tự làm điều này nhưng tôi đã sử dụng một mô-đun).
- 1x Micrô LM393
- 1x LDR
- 1x LED (bất kỳ màu nào cũng được nhưng tôi đã sử dụng màu xanh lam).
- Điện trở 4x 1kΩ
- 1x 2, điện trở 7kΩ
- 1x Breadboard
- 1x thẻ micro SD (tốt nhất là nhỏ (1 hoặc 2 gb)).
- 1x Máy khoan động lực.
- Đầu khoan 1x 16mm (tốt nhất được chế tạo để khoan kim loại).
- Đầu khoan 1x 9mm (tốt nhất cũng được làm để khoan kim loại).
- Đầu khoan 1x 1mm (tốt nhất là được làm để khoan kim loại).
- 1x Xe tăng mô hình (Tôi đã sử dụng một con báo 2 tỷ lệ 1:35 nhưng các trường hợp khác cũng ổn).
- Superglue / hotglue
- và tốt nhất là một số dây có màu sắc khác nhau.
- dây buộc (tùy chọn).
Bước 2: Đấu dây
Chúng ta cần bắt đầu với việc đấu dây, hình ảnh là bản vẽ kỹ thuật về cách tất cả được nối dây. Đây sẽ là bản thiết kế của bạn. Arduino là AP4, cổng A0 là APA0 và cổng 6 ~ là AP6 ~, v.v. Tất cả các cổng khác được đặt tên như chúng xuất hiện trên chính các mô-đun.
Bước 3: Pre Code Things
Bây giờ trước khi chúng ta có thể bắt đầu sử dụng mã, chúng ta cần một số kinh nghiệm. Tôi khuyên bạn nên làm theo hướng dẫn dành cho người này từ bước 2 đến bước 4
www.electronoobs.com/eng_arduino_tut8.php
Tuy nhiên, chúng tôi sẽ không sử dụng mã của anh ấy vì chúng tôi sẽ sử dụng mã của riêng mình Xin lưu ý rằng một số loa sử dụng tần số khác nhau. Loa của tôi đã sử dụng tệp âm thanh 16-bit 32kHz. Vì vậy, nếu giọng nói của bạn phát ra một số loại tiếng ồn nhưng không phát tệp của bạn thì hãy thử phát với tần số của bạn.
Bước 4: Mã
Bây giờ chúng ta sẽ tải mã lên arduino. Sao chép tất cả những thứ này và dán nó vào Arduino IDE và tải nó lên Arduino của bạn.
// bao gồm thư viện cho đầu đọc thẻ SD. # include "Wtv020sd16p.h" // bao gồm thư viện cần thiết cho cảm biến sonar. #include // Đặt chân cho Arduino. int resetPin = 4; int clockPin = 5; int dataPin = 6; int busyPin = 7; int soundDetectedPin = 12; int lightDetectedPin = A0; // Đặt các chân cho thư viện thẻ SD. Wtv020sd16p wtv020sd16p (resetPin, clockPin, dataPin, busyPin); // Đặt các chân cho thư viện cảm biến Sonar. Sonar NewPing (11, 10); // Thiết lập các đầu vào khác và đặt tốc độ bit của chương trình. void setup () {wtv020sd16p.reset (); pinMode (lightDetectedPin, INPUT); pinMode (soundDetectedPin, INPUT); Serial.begin (9600); } // Phần chính của chương trình. void loop () {// Đặt giá trị xen kẽ int lightDetectedVal = analogRead (lightDetectedPin); int distanceVal = sonar.ping_cm (); int soundDetectedVal = digitalRead (soundDetectedPin); // Trì hoãn để dự án mà dự án sẽ không tiếp tục sử dụng loa. chậm trễ (30000); // Dòng in và in nối tiếp để bạn có thể dễ dàng xem những giá trị nào được lấy bởi các mô-đun cảm biến. Serial.print ("Giá trị âm thanh:"); // Nhiều câu lệnh if để chương trình phát các tệp âm thanh khác nhau tùy thuộc vào các giá trị được đo bởi các mô-đun cảm biến. if (soundDetectedVal == 0) {Serial.println (soundDetectedVal); Serial.print ("Khoảng cách:"); if (distanceVal == 0) {Serial.println (distanceVal); Serial.print ("Giá trị Ánh sáng:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (1); // Một bản in nối tiếp khác để bạn có thể xem chính xác tệp âm thanh nào đã được phát. Serial.println ("1 --------"); // Một độ trễ khác để cho phép tệp âm thanh phát đủ chiều dài. chậm trễ (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (2); Serial.println ("2 --------"); chậm trễ (5000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (3); Serial.println ("3 --------"); chậm trễ (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (4); Serial.println ("4 --------"); chậm trễ (5000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (5); Serial.println ("5 --------"); chậm trễ (5000); } else if (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL) {Serial.println (distanceVal); Serial.print ("Giá trị Ánh sáng:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (7); Serial.println ("7 --------"); chậm trễ (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (8); Serial.println ("8 --------"); chậm trễ (8000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (9); Serial.println ("9 --------"); chậm trễ (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (10); Serial.println ("10 -------"); chậm trễ (8000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (11); Serial.println ("11 -------"); chậm trễ (6000); } else if (lightDetectedVal> = 500 || lightDetectedVal <= 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (13); Serial.println ("13 -------"); chậm trễ (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (14); Serial.println ("14 -------"); chậm trễ (5000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (15); Serial.println ("15 -------"); chậm trễ (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (16); Serial.println ("16 -------"); chậm trễ (5000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (17); Serial.println ("17 -------"); chậm trễ (5000); } else if (lightDetectedVal> = 500 || lightDetectedVal 0 || distanceVal == NULL || distanceVal> = 150) {Serial.println (distanceVal); Serial.print ("Giá trị Ánh sáng:"); if (lightDetectedVal> = 1000) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (19); Serial.println ("19 -------"); chậm trễ (5000); } else if (lightDetectedVal> = 900) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (20); Serial.println ("20 -------"); chậm trễ (5000); } else if (lightDetectedVal> = 800) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (21); Serial.println ("21 -------"); chậm trễ (5000); } else if (lightDetectedVal> = 700) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (22); Serial.println ("22 -------"); chậm trễ (5000); } else if (lightDetectedVal> = 600) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (23); Serial.println ("23 -------"); chậm trễ (5000); } else if (lightDetectedVal> = 500 || lightDetectedVal << 500) {Serial.println (lightDetectedVal); wtv020sd16p.playVoice (24); Serial.println ("24 -------"); chậm trễ (5000); }}}}
Bước 5: Trường hợp
Bây giờ đến phần phức tạp thực tế.
Việc lắp tất cả trong trường hợp có thể hơi phức tạp, điều này phụ thuộc vào cách bạn lắp mọi thứ vào breadboard của mình hoặc cách bạn hàn các thứ với nhau. Nhưng bạn sẽ cần phải tạo một vài lỗ để các cảm biến có thể bám vào. Tôi đặt micorphone (cần khoan 9mm) và mô-đun sonar (cần khoan 6mm) ở phía sau và LDR ở phía trước của xe tăng nhưng bạn có thể đặt chúng effectifly nếu có không gian.
Đảm bảo khoét một lỗ trên thân của mô hình để có thể kết nối arduino của bạn với cáp kết nối.
Tôi khuyên bạn nên đặt loa trong tháp pháo. vì có rất nhiều không gian còn lại ở đó.
Hình ảnh bên trái ở trên là cách tôi lắp arduino và bản in tôi đã hàn bên trong mô hình Leopard 2. Hình ảnh bên phải là hình ảnh với hầu hết các dây được lắp.
Những gì bạn có thể làm là khoan các lỗ nhỏ ở dưới cùng của mô hình để cố định Arduino bằng các dây buộc cáp.
Nhưng nếu tôi không nhầm, bây giờ bạn nên làm.
Đề xuất:
Tăng cường trí nhớ của bạn với Cung điện tâm trí thực tế tăng cường: 8 bước
Tăng cường trí nhớ của bạn với Cung điện tâm trí thực tế tăng cường: Việc sử dụng cung điện tâm trí, giống như trong Sherlock Holmes, đã được các nhà vô địch trí nhớ sử dụng để nhớ lại nhiều thông tin chẳng hạn như thứ tự của các thẻ trong bộ bài xáo trộn. Cung điện tâm trí hoặc phương pháp của locus là một kỹ thuật ghi nhớ nơi khả năng ghi nhớ bằng hình ảnh
Nền tảng cơ sở IoT với RaspberryPi, WIZ850io: Trình điều khiển thiết bị nền tảng: 5 bước (có hình ảnh)
Nền tảng cơ sở IoT với RaspberryPi, WIZ850io: Trình điều khiển thiết bị nền tảng: Tôi biết nền tảng RaspberryPi cho IoT. Gần đây WIZ850io được WIZnet công bố. Vì vậy, tôi đã triển khai ứng dụng RaspberryPi bằng cách sửa đổi Ethernet SW vì tôi có thể xử lý mã nguồn một cách dễ dàng. Bạn có thể kiểm tra Trình điều khiển thiết bị nền tảng thông qua RaspberryPi
Tăng cường gói quà tặng nhanh chóng: 4 bước
Tăng cường gói quà nhanh: Tạo một gói thú vị cho món quà nhỏ của bạn
Đưa nhạc vào trò chơi đua xe cào cào: 3 bước
Đưa nhạc vào trò chơi đua xe cào: Hướng dẫn này sẽ chỉ cho bạn từng bước, từng bước cách đưa nhạc của riêng bạn vào trò chơi đua xe BIY Scratch
Rất đơn giản Trò đùa rất hiệu quả (Trò đùa trên máy tính): 3 bước
Rất đơn giản … Tuy nhiên rất hiệu quả Trò đùa (Trò đùa trên máy tính): Có thể hướng dẫn này RẤT đơn giản nhưng RẤT hiệu quả! Điều gì sẽ xảy ra là: Bạn ẩn tất cả các biểu tượng trên màn hình của nạn nhân. Nạn nhân sẽ phát hoảng khi nhìn thấy máy tính sau khi bạn chơi khăm. Điều này hoàn toàn không gây hại cho máy tính