Mục lục:
Video: Động cơ bước điều khiển MIDI với chip tổng hợp kỹ thuật số trực tiếp (DDS): 3 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:30
Bạn đã bao giờ có ý tưởng tồi rằng bạn CHỈ phải biến thành một dự án nhỏ? Chà, tôi đang chơi với một bản phác thảo mà tôi đã thực hiện cho Arduino Due nhằm mục đích tạo nhạc bằng mô-đun Tổng hợp kỹ thuật số trực tiếp AD9833 (DDS)… và tại một số thời điểm tôi nghĩ "này, có lẽ tôi nên lắp đặt một động cơ / trình điều khiển bước để cái này". Và ý tưởng đó chính xác là thứ đã châm ngòi cho dự án nhỏ dựa trên breadboard này.
Bao gồm trong dự án này sẽ là một số mã sử dụng MIDI-qua-USB để điều khiển Arduino Do và gửi sóng vuông giữa mô-đun AD9833 và trình điều khiển bước. Cũng sẽ có một sơ đồ và hướng dẫn cơ bản để kết nối điều này với Arduino Due.
Quân nhu:
Những gì bạn cần cho dự án này:
Đến hạn Arduino
LƯU Ý: Mã được viết cho Thời hạn, nhưng nó cũng phải hoạt động và / hoặc được điều chỉnh cho Số 0. Nó sử dụng thư viện MIDIUSB của Arduino, yêu cầu cổng USB riêng.
Breadboard không hàn + Jumper
Mô-đun đột phá AD9833
A4988 Stepper Driver (hoặc tương tự)
Động cơ bước NEMA 17 (hoặc tương tự)
- Nguồn điện 24V (lưu ý, tôi chọn giá trị này là 24 Volts vì nó lớn hơn điện áp danh định của động cơ bước. Việc triển khai của bạn có thể khác nếu bạn sử dụng động cơ lớn hơn)
Bước 1: Breadboarding
Ý tưởng cơ bản đằng sau điều này là IC Tổng hợp Kỹ thuật số Trực tiếp sẽ tạo ra một sóng vuông để điều khiển chân "bước" của trình điều khiển động cơ bước. Trình điều khiển bước này sau đó sẽ di chuyển động cơ ở tần số âm thanh được chỉ định. Hướng của động cơ hơi tùy ý miễn là nó bước ở tần số chính xác.
Cách tiếp cận mà tôi thích thực hiện với breadboard là chạy các chân nguồn và mặt đất trước rồi bắt đầu chạy tất cả các kết nối không phải nguồn khác.
Đất:
- Kết nối các chân AGND và DGND của Mô-đun AD9833 với GND Rail trên breadboard.
- Conect hai GND Pins trên Stepper Driver thành GND Rail
- Mang cái này đến một trong các Ghim GND của Arduino Due
Điện 3.3V:
- Kết nối chân VDD của Stepper Driver với V + Rail của breadboard
- Kết nối chân VCC của Mô-đun AD9833 với V + Rail của bảng mạch
- Mang cái này qua Pin 3.3V của Arduino Due
Điện 24V:
- Kết nối chân VMOT với nguồn điện 24V DC (tùy thuộc vào sự lựa chọn của động cơ, bạn có thể muốn chạy đường ray nguồn cao hơn hoặc thấp hơn)
Kết nối mô-đun với mô-đun:
- Kết nối chân OUT từ mô-đun AD9833 với chân STEP của trình điều khiển động cơ
Kết nối trình điều khiển bước:
- Kết nối các kết nối Động cơ bước với các Chân 2B / 2A / 1A / 1B. Tính phân cực không quan trọng lắm, miễn là các giai đoạn của Trình điều khiển khớp với các giai đoạn của Động cơ bước.
- Kết nối các Ghim ĐẶT LẠI và NGỦ với nhau, và đưa chúng đến Chân số 8 của Arduino.
- Kết nối chân DIR với đường sắt 3.3V
Kết nối mô-đun AD9833:
- Kết nối SCLK với chân SCK của Arduino Due. Lưu ý rằng chân này nằm trên tiêu đề ICSP nam 6 chân gần bộ vi điều khiển, không phải trên tiêu đề nữ bên ngoài bình thường.
- Kết nối chân SDATA với chân MOSI của Due. Lưu ý rằng chân này nằm trên tiêu đề ICSP nam 6 chân gần bộ vi điều khiển, không phải trên tiêu đề nữ bên ngoài bình thường.
- Kết nối FSYNC với Chân 6 do Arduino (đây là chân Chọn chip cho dự án này)
Bây giờ breadboard đã được lắp ráp hoàn chỉnh, đã đến lúc xem mã!
Bước 2: Lập trình và thiết lập MIDI
Bản phác thảo.ino đính kèm sẽ nhận đầu vào USB-MIDI thông qua cổng USB gốc của Arduino Due và sẽ sử dụng chúng để điều khiển AD9833. Con chip này có một DAC chạy ở độ phân giải tần số 25MHz w / 28 bit (tổng mức quá mức cần thiết cho những gì cần thiết ở đây) và phần lớn mã ở đây là cấu hình nó để chạy và xuất ra một sóng vuông.
Lưu ý: có hai Cổng USB. Một cái được sử dụng để lập trình bảng và cái kia sẽ được sử dụng cho MIDI-over-USB comm
Lưu ý rằng bản phác thảo này sẽ không hoạt động như trên Arduino Uno - dự án này đặc biệt cần USB gốc trong Arduino Due hoặc các thiết bị tương tự
Tùy chọn tùy chỉnh:
- Có 2 chế độ, có thể được thiết lập bằng định nghĩa macro bộ xử lý trước. Nếu "#define STOPNOTES" được giữ nguyên, bước sẽ dừng ở giữa các ghi chú. Điều này không phải lúc nào cũng mong muốn (ví dụ: phát hợp âm rải nhanh), vì vậy, để thay đổi hành vi này, chỉ cần xóa hoặc nhận xét câu lệnh #define đó và bước sẽ chạy liên tục sau khi phát.
- Tôi sử dụng bàn phím MIDI 2 quãng tám giá rẻ với bàn phím này có nút tăng / giảm quãng tám, nhưng trong trường hợp bạn không có tùy chọn đó, bạn có thể dịch chuyển quãng tám của bản dịch tần số dưới bằng cách nhân hoặc chia cho lũy thừa của 2.
Quá trình dịch MIDI sang tần số được thực hiện với dòng này trong hàm playNote: int f_out = (int) (27.5 * pow (2, ((float) midiNote-33) / 12));
- Tôi có xu hướng sử dụng PC của mình để giao tiếp qua USB MIDI - bạn có thể thực hiện việc này từ phần mềm Digital Audio Workstation (DAW) yêu thích của mình. Nếu bạn chưa có, khá dễ dàng để thiết lập hệ thống này bằng cách sử dụng LMMS - một nền tảng mã nguồn mở, miễn phí. Sau khi nó được cài đặt và chạy, chỉ cần đặt Arduino Due làm Thiết bị đầu ra MIDI và nếu bạn đang sử dụng bàn phím USB MIDI, hãy đặt nó làm đầu vào.
Bước 3: Kiểm tra và thử nghiệm
Đã đến lúc chơi động cơ bước của bạn!
Như đã nói, toàn bộ ý tưởng đằng sau điều này là một thử nghiệm ngoài vòng lặp, vì vậy, bằng mọi cách, hãy thực hiện một số thử nghiệm của riêng bạn!
Đề xuất:
ESP8266 RGB LED STRIP Điều khiển WIFI - NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi - Điều khiển điện thoại thông minh RGB LED STRIP: 4 bước
ESP8266 RGB LED STRIP Điều khiển WIFI | NODEMCU làm điều khiển từ xa hồng ngoại cho dải đèn Led được điều khiển qua Wi-Fi | Điều khiển bằng điện thoại thông minh RGB LED STRIP: Xin chào các bạn trong hướng dẫn này, chúng ta sẽ học cách sử dụng gật đầu hoặc esp8266 làm điều khiển từ xa IR để điều khiển dải LED RGB và Nodemcu sẽ được điều khiển bằng điện thoại thông minh qua wifi. Vì vậy, về cơ bản bạn có thể điều khiển DÂY CHUYỀN LED RGB bằng điện thoại thông minh của mình
Động cơ điều khiển bằng bóng bán dẫn có điều khiển từ xa; Tổng quan về mạch: 9 bước
Động cơ điều khiển bằng bóng bán dẫn có điều khiển từ xa; Tổng quan về mạch: Mạch này là động cơ được điều khiển bằng bóng bán dẫn có điều khiển từ xa. Điều khiển từ xa bật nguồn. Bóng bán dẫn sẽ bật động cơ. Mã chương trình sẽ tăng tốc độ của động cơ và sau đó giảm tốc độ động cơ cho đến khi bằng không.
Các dự án thú vị với Bộ siêu khởi động Elegoo Uno R3 - Điều khiển cần điều khiển cho Động cơ DC: 4 bước
Những dự án thú vị với Elegoo Uno R3 Super Start Kit - Điều khiển cần điều khiển cho động cơ DC: Trong Tài liệu hướng dẫn này, tôi sẽ cố gắng điều khiển hướng và tốc độ của động cơ DC bằng cần điều khiển với sự trợ giúp của Arduino, sử dụng các thành phần từ Elegoo Uno R3 Super Start Kit hiện có trên Amazon.com
Điều khiển các thiết bị điện của bạn bằng Điều khiển từ xa Tv (Điều khiển từ xa) với Màn hình nhiệt độ và độ ẩm: 9 bước
Điều khiển thiết bị điện của bạn bằng Điều khiển từ xa Tv (Điều khiển từ xa) Có Hiển thị nhiệt độ và độ ẩm: xin chào, tôi là Abhay và đây là blog đầu tiên của tôi về Các thiết bị điện và hôm nay tôi sẽ hướng dẫn bạn cách điều khiển các thiết bị điện bằng điều khiển từ xa bằng cách xây dựng cái này dự án đơn giản. cảm ơn atl lab đã hỗ trợ và cung cấp tài liệu
Bộ điều hợp nối tiếp từ bảng điều khiển của Cisco sang bộ điều hợp mô-đun Null: 4 bước
Cisco Console to Null Modem Serial Adapter: Hiện tại, tôi đang cắm cáp USB to Serial của mình (vì máy tính xách tay của tôi không có cổng nối tiếp), cáp bảng điều khiển Cisco và cáp modem rỗng (đối với các thiết bị chuyển mạch cũ hơn và các thiết bị khác). Khi tôi làm việc trên thiết bị cũ hơn, tôi phải rút phích cắm c