Mục lục:

Xe tăng đùa: 5 bước
Xe tăng đùa: 5 bước

Video: Xe tăng đùa: 5 bước

Video: Xe tăng đùa: 5 bước
Video: xe tăng kV 44 và sóng nhạc |tên nhạc: cưa là đổ 2024, Tháng mười một
Anonim
Đùa bể
Đùa bể

Đâ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

Đấu dây
Đấ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

Trường hợp
Trường hợp
Trường hợp
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: