Mục lục:
- Bước 1: Bước 1: Vòng LED với cảm ứng cố định
- Bước 2: Bước 2: Thêm âm thanh
- Bước 3: Bước bổ sung: Chuẩn bị "Arduino Sẵn sàng"
Video: Arduino MusicStump: Light, Captive Touch và Buzzer: 3 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:35
Một cây tương tác với vòng LED ở trên cùng, một bộ rung để tạo ra âm thanh và một cảm biến cảm ứng cố định bên trong có thể thay đổi màu sắc khi bạn chạm vào nó. Để tạo ra điều thú vị nhỏ này, bạn sẽ cần những thứ sau:
Điện tử: - 1x Arduino Uno
- 15x cáp
- 1x mỏ hàn có đầu tròn
- 1x cảm ứng cố định 8 phím Adafruit (CAP1188)
- 1x cáp nguồn Arduino
- 1x 8 vòng LED
- 1x Buzzer
- 1x súng bắn keo nóng
- Tải xuống thư viện của CAP1188
- Tải xuống thư viện của Adafruit Neopixel
Thêm (vỏ bọc):
- 1 gốc cây
- 1x gậy cho bên trong
- đĩa gỗ để đặt tất cả vào / vào
- Thú nhồi bông cho bên ngoài
Bạn cũng có thể sử dụng một cái gì đó khác như bên ngoài, hãy sáng tạo!
Bây giờ chúng ta hãy bắt đầu…
Bước 1: Bước 1: Vòng LED với cảm ứng cố định
Bây giờ nếu bạn may mắn, vòng LED của bạn đã có các chân gắn vào nó. Nếu không nó là thời gian để hàn!
Những thứ chúng tôi sẽ sử dụng cho dự án này là:
- DI (Đầu vào kỹ thuật số, chân 6 ~
- 5V (cho nguồn, chân 5V)
- GND (Mặt đất, chân GND)
Đó là vòng đèn LED bây giờ. Bây giờ là cảm ứng bị giam giữ.
Đặt nó vào một breadboard và kết nối mọi thứ như sau: SDA / MISO ở chân (đầu vào tương tự) A4SCK ở chân (đầu vào tương tự) A5VIN trong (nguồn) 5VGND trong cáp GND pin1x ở C1 (trên chính cảm ứng Captive)
Bây giờ để kiểm tra, hãy tải mã sau lên Arduino của bạn:
// Julia Emmink // Mã ánh sáng và cảm ứng cho cây tương tác 19 /// Được tạo bằng cách sử dụng cảm ứng nuôi nhốt Adafruit Neopixel và Adafruit (CAP1188) (sẽ được cài đặt) và đèn LED nhấp nháy không chậm trễ
// NEOPIXEL ~~~~~~~~~~~~~~~~~~~
#bao gồm
#define PIXELSPIN 6 // Nơi bạn đã kết nối Vòng LED
#define NUMPIXELS 8 // Số lượng đèn LED trên chuông của bạn #define CALIBRATIONTIME 20000
Adafruit_NeoPixel pixel = Adafruit_NeoPixel (NUMPIXELS, PIXELSPIN, NEO_GRB + NEO_KHZ800);
pixel dài không dấuInterval = 500; // thời gian chúng ta cần đợi
màu dài không dấuWipePreviousMillis = 0; rạp hát dài không dấuChasePreviousMillis = 0; cầu vồng dài không dấuPreviousMillis = 0; cầu vồng dài không dấuCyclesPreviousMillis = 0;
int TheaterChaseQ = 0;
uint16_t currentPixel = 0; // chúng ta đang hoạt động trên pixel nào
// CHẠM ~~~~~~~~~~~~~~~~~~~~~~~
#include #include #include
// Đặt lại Pin được sử dụng cho I2C hoặc SPI
#define CAP1188_RESET 9
// Chân CS được sử dụng cho SPI phần mềm hoặc phần cứng
#define CAP1188_CS 10
// Chúng được xác định cho SPI phần mềm, cho SPI phần cứng, hãy kiểm tra
// chân SPI của bo mạch trong tài liệu Arduino #define CAP1188_MOSI 11 #define CAP1188_MISO 12 #define CAP1188_CLK 13
// Sử dụng I2C, không có ghim đặt lại!
Adafruit_CAP1188 cap = Adafruit_CAP1188 ();
void setup () {
// NEOPIXEL ~~~~~~~~~~~~~~~~~~~ currentPixel = 0; pixel.begin (); // Thao tác này khởi tạo thư viện NeoPixel. pixel.show (); // Điều này sẽ gửi màu pixel được cập nhật đến phần cứng.
// CHẠM ~~~~~~~~~~~~~~~~~~~~~~~
Serial.begin (300); Serial.println ("Thử nghiệm CAP1188!");
if (! cap.begin ()) {
Serial.println ("Không tìm thấy CAP1188"); trong khi (1); } Serial.println ("Đã tìm thấy CAP1188!"); }
void loop () {
// TOUCH + NEOPIXEL ~~~~~~~~~~~~~~~~~~~~~~~ uint8_t touch = cap.touched (); if (touch == 0) {if ((unsigned long) (millis () - colorWipePreviousMillis)> = pixelInterval) {colorWipePreviousMillis = millis (); colorWipe (pixel. Color (0, 255, 125)); }} else {if ((unsigned long) (millis () - colorWipePreviousMillis)> = pixelInterval) {colorWipePreviousMillis = millis (); colorWipe (pixel. Color (100, 0, 150)); }}
}
void colorWipe (uint32_t c) {
// NEOPIXEL ~~~~~~~~~~~~~~~~~~~ // Loại bỏ các pixel màu.setPixelColor (currentPixel, c); pixel.setPixelColor (currentPixel - 1, pixel. Color (0, 0, 0)); pixel.show (); currentPixel ++; if (currentPixel == NUMPIXELS) {currentPixel = 0; pixel.setPixelColor (7, pixel. Color (0, 0, 0));
}
}
Kiểm tra nó và vui chơi! Như bạn thấy khi bạn chạm vào dây C1, màu sắc sẽ thay đổi. (Nếu đây không phải là lần đầu tiên, chỉ cần rút Arduino của bạn và cắm lại vào máy tính của bạn.)
Bước 2: Bước 2: Thêm âm thanh
Với việc sử dụng một hướng dẫn tiện dụng, tôi đã thực hiện điều này. Hướng dẫn dưới đây:
github.com/xitangg/-Pirates-of-the-Caribbe…
Đã đến lúc lấy buzzer của bạn! Đặt dấu (-) của bộ rung vào một trong các chân GND và dấu (+) vào chân 10 ~
Vậy là xong, giờ là lúc chạy lại mã và nghe giai điệu Cướp biển vùng Caribê đáng yêu đó! Bây giờ hãy thử nghiệm vui vẻ!
// Julia Emmink // Mã ánh sáng, cảm ứng và âm nhạc cho cây tương tác 2018-01-19 // Được tạo bằng việc sử dụng Adafruit Neopixel và Captive Touch (CAP1188) (sẽ được cài đặt) và đèn LED nhấp nháy không chậm trễ
// NEOPIXEL ~~~~~~~~~~~~~~~~~~~ # bao gồm
#define PIXELSPIN 6
#define NUMPIXELS 8 #define CALIBRATIONTIME 20000
Adafruit_NeoPixel pixel = Adafruit_NeoPixel (NUMPIXELS, PIXELSPIN, NEO_GRB + NEO_KHZ800);
pixel dài không dấuInterval = 500; // thời gian chúng ta cần đợi
màu dài không dấuWipePreviousMillis = 0; rạp hát dài không dấuChasePreviousMillis = 0; cầu vồng dài không dấuPreviousMillis = 0; cầu vồng dài không dấuCyclesPreviousMillis = 0;
int TheaterChaseQ = 0;
uint16_t currentPixel = 0; // chúng ta đang hoạt động trên pixel nào
// NHẠC ~~~~~~~~~~~~~~~~~~~~~~~
const int buzzer = 10; // Xác định chân 10, có thể sử dụng các chân PWM khác (5, 6 hoặc 9) // Lưu ý không thể sử dụng chân 3 và 11 khi sử dụng chức năng giai điệu trong Arduino Uno const int songspeed = 1.5; // Thay đổi thành 2 cho phiên bản chậm hơn của bài hát, số càng lớn thì bài hát càng chậm // *************************** ************** #define NOTE_C4 262 // Xác định tần suất ghi chú #define NOTE_D4 294 #define NOTE_E4 330 #define NOTE_F4 349 #define NOTE_G4 392 #define NOTE_A4 440 #define NOTE_B4 494 #define NOTE_C5 523 #define NOTE_D5 587 #define NOTE_E5 659 #define NOTE_F5 698 #define NOTE_G5 784 #define NOTE_A5 880 #define NOTE_B5 988 // *********************** ****************** int Notes = {// Lưu ý của bài hát, 0 là phần còn lại / xung NOTE_E4, NOTE_G4, NOTE_A4, NOTE_A4, 0, NOTE_A4, NOTE_B4, NOTE_C5, NOTE_C5, 0, NOTE_C5, NOTE_D5, NOTE_B4, NOTE_B4, 0, NOTE_A4, NOTE_G4, NOTE_A4, 0}; // ***************************************** int thời lượng = {/ / thời lượng của mỗi nốt (tính bằng mili giây) Ghi chú Quý được đặt thành 250 ms 125, 125, 250, 125, 125, 125, 125, 250, 125, 125, 125, 125, 250, 125, 125, 125, 125, 375, 125};
// CHẠM ~~~~~~~~~~~~~~~~~~~~~~~
#include #include #include
// Đặt lại Pin được sử dụng cho I2C hoặc SPI
#define CAP1188_RESET 9
// Chân CS được sử dụng cho SPI phần mềm hoặc phần cứng
#define CAP1188_CS 10
// Chúng được xác định cho SPI phần mềm, cho SPI phần cứng, hãy kiểm tra
// chân SPI của bo mạch trong tài liệu Arduino #define CAP1188_MOSI 11 #define CAP1188_MISO 12 #define CAP1188_CLK 13
// Sử dụng I2C, không có ghim đặt lại!
Adafruit_CAP1188 cap = Adafruit_CAP1188 ();
void setup () {
// MUSIC ~~~~~~~~~~~~~~~~~~~~~~~ for (int i = 0; i <203; i ++) {// 203 là tổng số nốt nhạc trong bài hát int wait = time * songspeed; âm điệu (buzzer, ghi chú , chờ đợi); // giai điệu (pin, tần số, thời lượng);} // độ trễ được sử dụng để nó không chuyển sang vòng lặp tiếp theo trước khi giai điệu kết thúc phát // Bạn có thể nhấp vào đặt lại trên Arduino để phát lại bài hát // NEOPIXEL ~~~ ~~~~~~~~~~~~~~~ currentPixel = 0; pixel.begin (); // Thao tác này khởi tạo thư viện NeoPixel. pixel.show (); // Điều này sẽ gửi màu pixel được cập nhật đến phần cứng.
// CHẠM ~~~~~~~~~~~~~~~~~~~~~~~
Serial.begin (300); Serial.println ("Thử nghiệm CAP1188!"); if (! cap.begin ()) {Serial.println ("Không tìm thấy CAP1188"); trong khi (1); } Serial.println ("Đã tìm thấy CAP1188!");
}
void loop () {
// TOUCH + NEOPIXEL ~~~~~~~~~~~~~~~~~~~~~~~ uint8_t touch = cap.touched (); if (touch == 0) {if ((unsigned long) (millis () - colorWipePreviousMillis)> = pixelInterval) {colorWipePreviousMillis = millis (); colorWipe (pixel. Color (0, 255, 125)); }} else {if ((unsigned long) (millis () - colorWipePreviousMillis)> = pixelInterval) {colorWipePreviousMillis = millis (); colorWipe (pixel. Color (100, 0, 150)); }}
for (int i = 0; i = pixelInterval) {
colorWipePreviousMillis = millis (); colorWipe (pixel. Color (0, 255, 125)); }} else {if ((unsigned long) (millis () - colorWipePreviousMillis)> = pixelInterval) {colorWipePreviousMillis = millis (); colorWipe (pixel. Color (100, 0, 150)); }}
trì hoãn (chờ đợi);
}
}
void colorWipe (uint32_t c) {
// NEOPIXEL ~~~~~~~~~~~~~~~~~~~ // Loại bỏ các pixel màu.setPixelColor (currentPixel, c); pixel.setPixelColor (currentPixel-1, pixel. Color (0, 0, 0)); pixel.show (); currentPixel ++; if (currentPixel == NUMPIXELS) {currentPixel = 0; pixel.setPixelColor (7, pixel. Color (0, 0, 0));
}
}
Bước 3: Bước bổ sung: Chuẩn bị "Arduino Sẵn sàng"
Nếu bạn quyết định sử dụng một gốc cây, bạn phải làm như sau.
- Nhận một gốc cây (Tôi đã nhận một gốc cây Giáng sinh cũ miễn phí)
- Đo Arduino của bạn và xem bạn muốn đi dây như thế nào trong gốc cây
- Làm rỗng gốc cây (tôi đã sử dụng một máy khoan từ trường học)
- Chà nhám các cạnh thô
- Thêm các chi tiết nhỏ thú vị
Chi tiết tôi đã thêm là một logo nhỏ mà tôi đã làm bằng máy cắt laser. Tôi cũng xếp tất cả các thiết bị điện tử bên trong vào một cái que bên trong cây của mình và tôi thêm thú nhồi bông ở bên ngoài để cho ánh sáng xuyên qua và tạo thêm độ mềm mại nhỏ bé đó.
Đề xuất:
Arduino Piezo Buzzer Piano: 5 bước
Arduino Piezo Buzzer Piano: Ở đây chúng tôi sẽ tạo ra một cây đàn piano Arduino sử dụng một bộ rung piezo làm loa. Dự án này có thể dễ dàng mở rộng và có thể hoạt động với nhiều ghi chú hơn hoặc ít hơn, tùy thuộc vào bạn! Chúng tôi sẽ xây dựng nó chỉ với bốn nút / phím cho đơn giản. Điều này thật thú vị và dễ dàng
CÁCH GIAO DIỆN BUZZER THỤ ĐỘNG VỚI ARDUINO: 4 bước
CÁCH GIAO DIỆN BUZZER THỤ ĐỘNG VỚI ARDUINO: Tạo âm thanh trên arduino là một dự án thú vị, điều này có thể thực hiện bằng cách sử dụng các mô-đun và thiết bị khác nhau tùy thuộc vào dự án và lựa chọn của bạn. Trong dự án này, chúng tôi sẽ xem xét cách bạn có thể tạo ra âm thanh bằng bộ rung. Buzzer được sử dụng bởi ho
Sử dụng lại Philips Wake Up Light HF3550 + Ipod Touch Thứ 4: 5 bước
Sử dụng lại Philips Wake Up Light HF3550 + Ipod Touch lần thứ 4: CHỈNH SỬA 2019/10/28 Tôi đã tải lên tệp IPA đã crack mới (cảm ơn bạn irastignac) và cập nhật liên kết tệp ẩn danh. Nó sẽ ngăn chặn thời điểm bạn được yêu cầu nhập ID apple của tôi.EDIT 2019/10/22, có vẻ như tệp IPA philips đã được ký bằng apple của tôi
Động cơ bước Điều khiển động cơ bước Động cơ bước - Động cơ bước như một bộ mã hóa quay: 11 bước (có hình ảnh)
Động cơ bước Điều khiển động cơ bước Động cơ bước | Động cơ bước như một bộ mã hóa quay: Có một vài động cơ bước nằm xung quanh và muốn làm điều gì đó? Trong Có thể hướng dẫn này, hãy sử dụng động cơ bước làm bộ mã hóa quay để điều khiển vị trí của động cơ bước khác bằng vi điều khiển Arduino. Vì vậy, không cần phải quảng cáo thêm, chúng ta hãy
Tự động hóa trang chủ bằng Captive Portal: 9 bước
Tự động hóa trang chủ bằng Captive Portal: Ở đây, chúng tôi sẽ tạo một dự án rất thú vị về tự động hóa ngôi nhà dựa trên Captive Portal bằng cách sử dụng nodeMCU từ đầu..Vì vậy, chúng ta hãy bắt đầu