Mục lục:

Mô-đun bàn phím Piano với đèn LED RGB: 5 bước (có hình ảnh)
Mô-đun bàn phím Piano với đèn LED RGB: 5 bước (có hình ảnh)

Video: Mô-đun bàn phím Piano với đèn LED RGB: 5 bước (có hình ảnh)

Video: Mô-đun bàn phím Piano với đèn LED RGB: 5 bước (có hình ảnh)
Video: Pin thực sự dễ nổ? #bietthemmotchut #shorts 2024, Có thể
Anonim
Image
Image
Vật liệu cần thiết
Vật liệu cần thiết

Giới thiệu

Xin chào quý bà và quý ông, chào mừng đến với người hướng dẫn đầu tiên của tôi! Hôm nay, tôi sẽ dạy bạn cách tạo một cây đàn piano với các thành phần chính là mô-đun bàn phím và bộ rung piezo và nó có thể chơi DO-RE-MI, v.v.

Mô-đun bàn phím thường có mục đích nhất là trở thành bàn phím kết hợp với arduino RFID để tạo một hộp an toàn cho các vật có giá trị. Trong trường hợp này, tôi đã thay đổi bàn phím, thay vì bảo vệ thứ gì đó, tôi quyết định sử dụng để nói lên niềm vui và âm nhạc đơn giản.

Ý tưởng Khái niệm

Ý tưởng cho sự sáng tạo này, phát triển từ một kỷ niệm vui vẻ đơn giản khi chơi xylophone khi tôi còn nhỏ trong lớp học âm nhạc. Niềm vui và sự phấn khích chạy khắp cơ thể tôi đã lên đến đỉnh điểm, ý tôi là mọi đứa trẻ đều dễ dàng hài lòng và sự hài lòng của tôi khi chơi xylophone.

Nghiên cứu

Sau khi bóng đèn ý tưởng của bạn ở trên sáng lên, bạn phải nghiên cứu một chút. Sau khi duyệt web một lúc, tôi có thể bắt gặp ý tưởng mà tôi đã nghĩ ra ban đầu! Một mô-đun bàn phím đã biến thành piano, ai đó đã tạo video dự án tương tự ở đây. Suy nghĩ trước, tôi cần thêm một thành phần riêng biệt có thể nâng cao hơn nữa dự án nhưng làm cho nó hấp dẫn hơn và có thể gọi nó là của riêng tôi.

Bước 1: Vật liệu cần thiết

Vật liệu cần thiết
Vật liệu cần thiết
Vật liệu cần thiết
Vật liệu cần thiết
Vật liệu cần thiết
Vật liệu cần thiết

Danh sách vật liệu

  • Piezo Buzzer 1x ▶
  • Mô-đun bàn phím 4x4 1x ▶
  • Arduino Uno 1x ▶
  • Cáp USB 2.0 loại A / B 1x ▶
  • Mô-đun cảm biến âm thanh 1x ▶
  • LED RGB 1x ▶
  • Điện trở 330 ohm 3x ▶
  • Dây nhảy nam nữ 8x ▶
  • Dây nhảy nam sang nam 4x ▶
  • 3 pin Dây nhảy nam sang nữ 1x ▶

Danh sách vật liệu theo thứ tự với hình ảnh ở trên.

Bước 2: Thời gian xây dựng

Thời gian xây dựng!
Thời gian xây dựng!
Thời gian xây dựng!
Thời gian xây dựng!
Thời gian xây dựng!
Thời gian xây dựng!
Thời gian xây dựng!
Thời gian xây dựng!

Mô-đun bàn phím 4x4 & Bộ rung Piezo

Học thuyết

Vì mô-đun bàn phím 4x4 và bộ rung piezo chứa rất nhiều đầu vào chân cắm riêng lẻ và tôi sẽ quyết định chia các thành phần được sử dụng thành hai cặp. Tập trung vào bàn phím, thường được sử dụng làm đầu vào. Mô-đun bàn phím ma trận SunFounder 4 * 4 là bàn phím không mã hóa ma trận bao gồm 16 phím song song, Các phím của mỗi hàng và cột được kết nối thông qua các chân bên ngoài - chân Y1-Y4 như được gắn nhãn bên cạnh điều khiển các hàng, khi X1- X4, các cột.

Mục đích

Mục đích của các thành phần này đối với toàn bộ dự án, là cho phép người dùng nhấn một nút được đặt thành âm thanh cụ thể do bộ rung piezo tạo ra thông qua tần số tính bằng hertz.

Chân mô-đun ma trận - Chân Arduino

  • 4 - 2
  • 3 - 3
  • 2 - 4
  • 1 - 5
  • 5 - 6
  • 6 - 7
  • 7 - 8
  • 8 - 13

Piezo Buzzer - Pin Arduino

Đen - GND

Sức mạnh đỏ

Nhiệm vụ khó khăn nhất của tôi trong quá trình xây dựng này là tìm ra vị trí từng dây được cắm vào. Ở trên, tôi cung cấp cho bạn cách nhanh chóng và dễ dàng cách các vị trí dây, miễn là làm theo từ trên xuống dưới, mẹo là mất thời gian của bạn và đảm bảo mọi chốt được cắm chính xác vào đúng khe.

* Mẹo là theo dõi vị trí của mỗi dây từ đầu này đến đầu kia.

Tất cả bản phác thảo Tinkercad của các dây thành phần cụ thể đều được mã hóa màu sắc chính xác, vì vậy hãy làm theo cẩn thận

Bước 3: Mô-đun cảm biến âm thanh và đèn LED RGB

Mô-đun cảm biến âm thanh và đèn LED RGB
Mô-đun cảm biến âm thanh và đèn LED RGB
Mô-đun cảm biến âm thanh và đèn LED RGB
Mô-đun cảm biến âm thanh và đèn LED RGB
Mô-đun cảm biến âm thanh và đèn LED RGB
Mô-đun cảm biến âm thanh và đèn LED RGB

Mô-đun cảm biến âm thanh và đèn LED RGB

Học thuyết

Mô-đun cảm biến âm thanh cho phép bạn phát hiện khi âm thanh vượt quá điểm thiết lập mà bạn chọn. Âm thanh được phát hiện qua micrô và được đưa vào bộ khuếch đại op LM393. Khi mức âm thanh vượt quá điểm cài đặt, đèn LED trên mô-đun sẽ sáng và đầu ra.

Mục đích

Mục đích của các thành phần này đối với toàn bộ dự án, là để có được âm thanh / âm lượng đọc của mô-đun cảm biến âm thanh và thông qua việc đọc đó, đèn LED RGB sẽ kích hoạt màu chính xác liên quan đến âm thanh.

Mô-đun cảm biến âm thanh - Pin Arduino (Sử dụng dây nhảy 3 chân)

  • Đầu ra - Chân A0 Analog
  • GND - Mọi khe cắm pin GND mở
  • VCC - 3V

Đèn LED cực dương chung RGB (+) - Pin Arduino

  • Đỏ - 9
  • Nguồn - 5V
  • Màu xanh lá cây - 10
  • Xanh lam - 11

Hãy ghi nhớ để nối dây, mỗi dây riêng lẻ thông qua một điện trở 330 ohm. Sử dụng hình ảnh trên để tham khảo.

Nhiệm vụ khó khăn nhất của tôi trong quá trình xây dựng này là tìm ra vị trí từng dây được cắm vào. Ở trên, tôi cung cấp cho bạn cách nhanh chóng và dễ dàng để đến các vị trí dây, miễn là làm theo từ trên xuống dưới, mẹo là hãy dành thời gian của bạn và đảm bảo mọi chốt được cắm chính xác vào đúng khe để tránh việc gỡ lỗi trong tương lai.

* Mẹo là làm theo vị trí mà mỗi dây được cắm theo một trong hai cách

Tất cả bản phác thảo Tinkercad của các dây thành phần cụ thể đều được mã hóa màu một cách chính xác, vì vậy hãy làm theo

Bước 4: Mã

Mã số

Mã này cho phép tất cả các thành phần hoạt động cùng nhau bằng cách sử dụng hàm mới được xác định để chứa tất cả nhiều điều khiển, một thành phần duy nhất có nhiều biến có thể thay đổi, các thành phần đó là đèn LED RGB và sử dụng màu rgb để thay đổi màu khi bật và bộ rung piezo và âm thanh nó sẽ tạo ra tùy thuộc vào nút nhấn.

Phải có trong mã này là thư viện bàn phím

Liên kết tại đây:

Sau khi tải xuống, hãy thêm thư viện mới vào arduino, sau đó chèn một dòng mã cần thiết để kích hoạt nó.

Khó khăn mà tôi gặp phải trong quá trình viết mã là nơi đặt các chức năng mới được xác định như thông qua thử nghiệm và sai sót, tôi nhận ra rằng nó phải nằm trong quá trình thiết lập chứ không phải vòng lặp.

Mã số

#include // Thư viện Bàn phím

int greenPin = 11; // Chân xanh RGB được kết nối với chân kỹ thuật số 9

int redPin = 10; // Chân đỏ RGB được kết nối với chân kỹ thuật số 9

int bluePin = 9; // Chân xanh RGB kết nối với chân kỹ thuật số 9 int speakerPin = 12; // loa kết nối với chân số 12 const byte ROWS = 4; // bốn hàng const byte COLS = 4; // bốn màu const int soundPin = A0; // cảm biến âm thanh gắn vào A0

các phím ký tự [ROWS] [COLS] = {

{'a', 'b', 'c', 'd'}, {'e', 'f', 'g', 'h'}, {'i', 'j', 'k', ' l '}, {' m ',' n ',' o ',' p '}}; // Hình dung mô-đun bàn phím

byte rowPins [ROWS] = {2, 3, 4, 5}; // kết nối với sơ đồ hàng của bàn phím

byte colPins [COLS] = {6, 7, 8, 13}; // kết nối với sơ đồ cột của bàn phím

Bàn phím bàn phím = Bàn phím (makeKeymap (phím), rowPins, colPins, ROWS, COLS); // Tạo khóa

void setup () {

pinMode (loaPin, OUTPUT); // đặt loaPin thành đầu ra

pinMode (redPin, OUTPUT); // đặt chân màu đỏ thành pinMode đầu ra (greenPin, OUTPUT); // đặt chân màu xanh lá cây thành pinMode đầu ra (bluePin, OUTPUT); // đặt chân màu xanh lam thành đầu ra

Serial.begin (9600);

} void setColor (int red, int green, int blue) // Hàm định nghĩa mới cho phép RGB hiển thị màu thông qua mã RGB {#ifdef COMMON_ANODE red = 255 - red; green = 255 - xanh lục; blue = 255 - xanh lam; #endif analogWrite (redPin, đỏ); analogWrite (greenPin, xanh lục); analogWrite (bluePin, xanh lam); }

void beep (unsigned char speakerPin, int frequencyInHertz, long timeInMilliseconds) {// các chức năng tạo ra âm thanh

int x; trễ dàiAmount = (dài) (1000000 / tần sốInHertz); long loopTime = (long) ((timeInMilliseconds * 1000) / (delayAmount * 2)); cho (x = 0; x

void loop () {

char key = keypad.getKey (); int value = analogRead (soundPin); // đọc giá trị của A0 Serial.println (value); // in giá trị

if (key! = NO_KEY) {

Serial.println (phím); } if (key == 'a') {beep (loaPin, 2093, 100); setColor (218, 112, 214); } if (key == 'b') {beep (loaPin, 2349, 100); setColor (218, 112, 214); } if (key == 'c') {beep (loaPin, 2637, 100); setColor (218, 112, 214); } if (key == 'd') {beep (loaPin, 2793, 100); setColor (218, 112, 214); } if (key == 'e') {beep (loaPin, 3136, 100); setColor (218, 112, 214); } if (key == 'f') {beep (loaPin, 3520, 100); setColor (218, 112, 214); } if (key == 'g') {beep (loaPin, 3951, 100); setColor (218, 112, 214); } if (key == 'h') {beep (loaPin, 4186, 100); setColor (218, 112, 214); } if (key == 'i') {beep (loaPin, 2093, 100); setColor (230, 230, 0); } if (key == 'j') {beep (loaPin, 2349, 100); setColor (180, 255, 130); } if (key == 'k') {beep (loaPin, 2637, 100); setColor (130, 255, 130); } if (key == 'l') {beep (loaPin, 2739, 100); setColor (130, 220, 130); } if (key == 'm') {beep (loaPin, 3136, 100); setColor (0, 255, 255); } if (key == 'n') {beep (loaPin, 3520, 100); setColor (0, 220, 255); } if (key == 'o') {beep (loaPin, 3951, 100); setColor (0, 69, 255); } if (key == 'p') {beep (loaPin, 4186, 100); setColor (255, 0, 255); }}

Bước 5: Kết luận

Image
Image

Lời kết

Suy nghĩ cuối cùng của dự án này là mục đích dự định của nó là trở thành một món đồ chơi, mang lại niềm vui và niềm vui đơn giản. Vì dự án này đã hoàn thành và đang hoạt động, tôi tin rằng bản dựng này và có thể được phát triển thêm với nhiều thành phần hơn, chẳng hạn như phần tử ghi âm, phần tử copy / simon nói, hoặc thậm chí màn hình LCD với các nốt xuất hiện để chơi một bài hát cụ thể.

Tôi rất muốn biết ý kiến của bạn về Mô-đun bàn phím, những thành phần nào bạn nghĩ có thể đã được thêm vào. Bạn có định sử dụng nó trong bất kỳ dự án nào của mình không? Vui lòng gửi ý tưởng của bạn trong phần bình luận bên dưới.

Vui lòng chia sẻ nếu bạn thích dự án arduino này.

Đề xuất: