Mục lục:

Dự án cuối cùng về công nghệ đeo được - Mũ bảo hiểm DJ: 6 bước
Dự án cuối cùng về công nghệ đeo được - Mũ bảo hiểm DJ: 6 bước

Video: Dự án cuối cùng về công nghệ đeo được - Mũ bảo hiểm DJ: 6 bước

Video: Dự án cuối cùng về công nghệ đeo được - Mũ bảo hiểm DJ: 6 bước
Video: Cuộc chiến của đội cảnh sát cơ động 2024, Tháng mười một
Anonim
Dự án cuối cùng về công nghệ đeo được - Mũ bảo hiểm DJ
Dự án cuối cùng về công nghệ đeo được - Mũ bảo hiểm DJ

Mục tiêu của dự án này là tạo ra một chiếc mũ bảo hiểm dành cho DJ có đèn LED phản ứng với âm nhạc để thể hiện và gây ấn tượng mạnh. Chúng tôi đang sử dụng dải đèn LED có địa chỉ từ Amazon.com cũng như mũ bảo hiểm xe máy, Arduino chưa và dây.

Quân nhu

Vật liệu bao gồm:

  • Dải đèn LED địa chỉ
  • Mũ bảo hiểm xe máy
  • Arduino Uno
  • Dây điện và mỏ hàn

Bước 1: Bắt đèn LED phản ứng với âm thanh

Đối với bước đầu tiên, chúng tôi sẽ kiểm tra dải LED để phản ứng với âm thanh, chúng tôi sử dụng bảng âm thanh từ Sparkfun và kết nối nó với Arduino bằng bảng mạch và dây. Thử nghiệm với phần mềm Arduino, chúng tôi nhận được hai bài đọc mà chúng tôi có thể sử dụng. Biên độ của âm thanh đến từ cổng "Envelope" và số đọc nhị phân 1/0 từ cổng "cổng". Sử dụng các biến này để ánh xạ đến dải dẫn có địa chỉ, khi đó "cổng" là một, LEDS hiển thị màu nhất định, khi Phong bì ở trên một mức nhất định, hiển thị một màu nhất định. Mã đầy đủ sẽ được cung cấp.

Bước 2: Cắt và hàn LEDS để tạo hình trên mũ bảo hiểm

Cắt và hàn LEDS để tạo hình trên mũ bảo hiểm
Cắt và hàn LEDS để tạo hình trên mũ bảo hiểm
Cắt và hàn LEDS để tạo hình trên mũ bảo hiểm
Cắt và hàn LEDS để tạo hình trên mũ bảo hiểm
Cắt và hàn LEDS để tạo hình trên mũ bảo hiểm
Cắt và hàn LEDS để tạo hình trên mũ bảo hiểm

Trong dự án của mình, tôi quyết định thêm đèn LED vào mũ bảo hiểm theo kiểu chữ X với các hình tam giác phụ ở bên ngoài, tôi dự định làm cho thiết kế đó hoạt động tốt hơn với cách phát nhạc. Vì vậy, bước này là tất cả về việc cắt các dải LED theo độ dài mong muốn và hàn chúng lại với nhau trên các vết cắt để tạo thành các góc. Tôi đã phải làm điều này khoảng 10 lần và nó rất mất thời gian, đặc biệt là khi xử lý các dây nhỏ. Đây là tiến trình ở bước này

Bước 3: Đi dây và kiểm tra đèn LED trên mũ bảo hiểm

Đi dây và kiểm tra đèn LED trên mũ bảo hiểm
Đi dây và kiểm tra đèn LED trên mũ bảo hiểm
Đi dây và kiểm tra đèn LED trên mũ bảo hiểm
Đi dây và kiểm tra đèn LED trên mũ bảo hiểm

Trong bước này, tôi đã nối dây và kiểm tra các đèn LED với arduino, bảng âm thanh và các đèn LED đã cắt để đảm bảo các vết cắt và hàn hoạt động chính xác

Bước 4: Điện tử miễn phí từ Breadboard

Điện tử miễn phí từ Breadboard
Điện tử miễn phí từ Breadboard
Điện tử miễn phí từ Breadboard
Điện tử miễn phí từ Breadboard
Điện tử miễn phí từ Breadboard
Điện tử miễn phí từ Breadboard

Trong bước này, tôi tập trung vào việc lấy tất cả các thiết bị điện tử ra khỏi breadboard. Tôi đã hàn tất cả các dây cần hàn và kéo dài dây mũ bảo hiểm để bạn có thể đeo dây mũ bảo hiểm được gắn vào Arduino. Điều quan trọng nhất mà tôi không thể tìm ra là nguồn điện bên ngoài, tôi đã thử pin ở các cấu hình khác nhau nhưng không có gì cho tôi kết quả mà tôi cần, một số sẽ làm cho đèn phát sáng và một số sẽ làm cho chúng có màu sắc khác nhau. Thật không may, điều này có thể là do kiến thức của tôi về mạch nhưng tôi đã chọn giữ nguồn cho Arduino đến từ bo mạch máy tính. Bảng âm thanh được cung cấp năng lượng bởi một bộ pin và hoạt động tốt

Bước 5: Cấu hình cuối cùng

Cấu hình cuối cùng
Cấu hình cuối cùng

đối với bước cuối cùng này, tôi đọc các giá trị đến từ bảng âm thanh và sửa đổi mã để phù hợp với các giá trị mới đã thay đổi một trong những thứ đã bị xóa khỏi bảng mạch. Tôi đã dán các dải đèn LED vào mũ bảo hiểm ở nơi trước khi chúng được dán xuống và cuối cùng tôi đã kiểm tra lại.

Bước 6: Mã (Arduino)

// Bản phác thảo đơn giản NeoPixel Ring (c) 2013 Shae Erisson

// Được phát hành theo giấy phép GPLv3 để phù hợp với phần còn lại của

// Thư viện Adafruit NeoPixel

#bao gồm

#ifdef _AVR_ #include // Bắt buộc đối với Adafruit Trinket 16 MHz #endif

// Chân nào trên Arduino được kết nối với NeoPixels?

#define PIN 3 // Trên Trinket hoặc Gemma, đề xuất thay đổi mã này thành 1

// Có bao nhiêu NeoPixel được gắn vào Arduino?

#define NUMPIXELS 166 // Kích thước vòng NeoPixel phổ biến

Điểm ảnh Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

#define DELAYVAL 500 // Thời gian (tính bằng mili giây) để tạm dừng giữa các pixel

void setup () {

#if được xác định (_ AVR_ATtiny85_) && (F_CPU == 16000000)

clock_prescale_set (clock_div_1); #endif // KẾT THÚC của mã dành riêng cho Trinket.

pixel.begin (); // BẮT ĐẦU đối tượng dải NeoPixel (BẮT BUỘC)

Serial.begin (9600); }

void loop () {

int sensorValue = analogRead (A1);

int sensorValue2 = digitalRead (7); Serial.println (sensorValue); // delay (5); //pixels.clear (); // Đặt tất cả các màu pixel thành 'tắt'

if (sensorValue2 == 1) {

for (int i = 0; i <28; i ++) {pixel.setPixelColor (i, 15, 0, 50);

}

for (int i = 48; i <81; i ++) {pixel.setPixelColor (i, 15, 0, 50);

}

for (int i = 102; i <129; i ++) {pixel.setPixelColor (i, 15, 0, 50);

}

for (int i = 148; i <166; i ++) {pixel.setPixelColor (i, 15, 0, 50); }} ////////////////////////////// else {for (int i = 0; i <28; i ++) {pixel.setPixelColor (i, 0, 0, 0);

}

for (int i = 48; i <81; i ++) {pixel.setPixelColor (i, 0, 0, 0);

}

for (int i = 102; i <129; i ++) {pixel.setPixelColor (i, 0, 0, 0);

}

for (int i = 148; i <166; i ++) {pixel.setPixelColor (i, 0, 0, 0); }} ////////////////////////////// if (sensorValue == 3 || sensorValue == 2) {for (int i = 29; i <47; i ++) {pixel.setPixelColor (i, 255, 0, 0);

}

for (int i = 82; i <101; i ++) {pixel.setPixelColor (i, 255, 0, 0);

}

for (int i = 130; i <148; i ++) {pixel.setPixelColor (i, 255, 0, 0);

} pixel.show (); } if (sensorValue> 3) {for (int i = 29; i <47; i ++) {pixel.setPixelColor (i, 0, 155, 155);

}

for (int i = 82; i <101; i ++) {pixel.setPixelColor (i, 0, 155, 155);

}

for (int i = 130; i <148; i ++) {pixel.setPixelColor (i, 0, 155, 155);

}

pixel.show (); } else {for (int i = 29; i <47; i ++) {pixel.setPixelColor (i, 0, 0, 0);

}

for (int i = 82; i <101; i ++) {pixel.setPixelColor (i, 0, 0, 0);

}

for (int i = 130; i <148; i ++) {pixel.setPixelColor (i, 0, 0, 0);} pixel.show (); }}

Đề xuất: