![PlotClock, WeMos và Blynk Chơi Jukebox AMI cổ điển: 6 bước (có hình ảnh) PlotClock, WeMos và Blynk Chơi Jukebox AMI cổ điển: 6 bước (có hình ảnh)](https://i.howwhatproduce.com/images/001/image-2400-j.webp)
Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-23 15:14
![PlotClock, WeMos và Blynk Chơi Jukebox AMI cổ điển PlotClock, WeMos và Blynk Chơi Jukebox AMI cổ điển](https://i.howwhatproduce.com/images/001/image-2400-1-j.webp)
![PlotClock, WeMos và Blynk Chơi Jukebox AMI cổ điển PlotClock, WeMos và Blynk Chơi Jukebox AMI cổ điển](https://i.howwhatproduce.com/images/001/image-2400-2-j.webp)
Bốn cải tiến kỹ thuật đã thực hiện dự án này: Rowe AMI Jukebox 1977, bộ cánh tay robot PlotClock, vi điều khiển WeMos / ESP 8266 và dịch vụ Blynk App / Cloud.
LƯU Ý: Nếu bạn không có Jukebox trong tay - đừng ngừng đọc! Dự án này có thể dễ dàng được áp dụng để điều khiển những thứ khác nhau được điều khiển bởi ngón tay của con người. Một ví dụ có thể là ngón tay rô bốt chơi Xylophone truyền thống - có thể người hướng dẫn đó đến từ bạn!
Rowe AMI R-81 Jukebox 40 tuổi của tôi vẫn hoạt động tốt khi chơi các đĩa đơn vinyl cổ điển từ những năm 60, 70 và 80. Trọng lượng hơn 160 kg (360 lbs) máy nghe nhạc này không hoàn toàn di động như các máy nghe nhạc mp hiện đại, nhưng sống ở thời đại internet, giờ đây bạn có thể mang theo máy hát tự động và 200 đĩa hát vinyl trong túi của mình - hầu như tất nhiên! Và bạn thậm chí có thể sử dụng danh sách phát của riêng mình được lưu trữ trong bộ vi điều khiển!
Robot PlotClock tuyệt vời ban đầu được thiết kế để hiển thị thời gian hiện tại bằng cách vẽ các chữ số thời gian trên bảng có thể xóa được. Thích ứng của tôi cho PlotClock là sử dụng nó như một ngón tay rô bốt để nhấn các nút chọn bài hát Jukebox.
Plotclock "ngón tay" được điều khiển bởi 3 servo được điều khiển bởi bộ vi điều khiển WeMos. Điều kỳ diệu này là (gần như) tương thích với Arduino Uno và có khả năng WiFi, vì vậy bạn có thể điều khiển máy hát tự động không dây từ mọi nơi trên thế giới.
Lớp kem trên bánh đến từ Ứng dụng Blynk dễ sử dụng đáng kinh ngạc và Máy chủ đám mây Blynk của họ mang đến giao diện người dùng điện thoại / máy tính bảng đẹp mắt với tính di động hoàn toàn.
Bước 1: Phần cứng
![Phần cứng Phần cứng](https://i.howwhatproduce.com/images/001/image-2400-3-j.webp)
![Phần cứng Phần cứng](https://i.howwhatproduce.com/images/001/image-2400-4-j.webp)
Jukebox
Máy hát tự động của dự án là 1977 Rowe AMI R-81. Bất kỳ máy hát tự động cũ nào có các nút chọn đều sẽ làm được - lưu ý một số hạn chế của PlotClock: Thiết kế cánh tay ban đầu của PlotClock có thể có diện tích khoảng 5 x 12 cm nên bố cục nút máy hát tự động (khu vực bao gồm tất cả các nút chọn) phải có kích thước tương ứng. Các nút của máy hát tự động cũ có thể cần nhiều lực đẩy hơn so với PlotClock servos có thể cung cấp.
AMI R-81 có một bộ nhớ nơi nó có thể lưu trữ tất cả 200 lựa chọn. Các lựa chọn được phát dựa trên thứ tự chúng được lưu trong tạp chí ghi âm (loại băng chuyền), không dựa trên thứ tự chúng được chọn. Nhiều lựa chọn cho một bản ghi chỉ được phát một lần.
PlotClock
Plotclock là bộ kit DIY có sẵn trên thị trường bao gồm các bộ phận cơ khí, 3 servo, Arduino Uno R3, bảng mở rộng Arduino và cáp USB. Đối với khoảng 30 USD, đây là một lựa chọn tốt (ví dụ: Banggood.com). Arduino, bảng mở rộng và cáp USB không được sử dụng cho dự án này.
Có một số hướng dẫn tốt trên Internet / YouTube để soạn Plotclock - ví dụ: this: Hướng dẫn PlotClock
static1.squarespace.com/static/52cb189ee4b012ff9269fa8e/t/5526946be4b0ed8e0b3cd296/1428591723698/plotclock_final_instructions.pdf
WeMos
WeMos D1 R2 là vi điều khiển dựa trên ESP8266. Nó có thể được lập trình bằng Arduino IDE và có khả năng WiFi nên nó là một phần cứng hoàn hảo cho dự án này.
Bước 2: Hiệu chỉnh
![Sự định cỡ Sự định cỡ](https://i.howwhatproduce.com/images/001/image-2400-5-j.webp)
Hiệu chuẩn là nhiệm vụ tìm kiếm các giá trị góc chính xác cho các góc servo (từ 0 đến 180 độ) để tương ứng với các vị trí vật lý cho các nút lựa chọn. Giá trị góc có thể được tìm thấy bằng phương pháp thừa lượng giác hoặc sử dụng phần mềm CAD. Tôi nhận được các giá trị gần đúng từ người bạn của tôi, người biết cách sử dụng AutoCad.
Tuy nhiên, việc hiệu chuẩn cuối cùng phải được thực hiện bằng cách thử và sai. Sử dụng bố cục nút được vẽ trên mảnh giấy Có thể thực hiện "thử nghiệm trên máy tính để bàn" để tìm các giá trị góc chính xác.
Bước 3: Lắp ráp
![cuộc họp cuộc họp](https://i.howwhatproduce.com/images/001/image-2400-6-j.webp)
![cuộc họp cuộc họp](https://i.howwhatproduce.com/images/001/image-2400-7-j.webp)
![cuộc họp cuộc họp](https://i.howwhatproduce.com/images/001/image-2400-8-j.webp)
![cuộc họp cuộc họp](https://i.howwhatproduce.com/images/001/image-2400-9-j.webp)
Đấu dây
Kết nối từ Plotclock servos đến Wemos được thực hiện bằng 5 dây: +5, GND, D4, D5 và D6. Xem chi tiết trong hình ảnh và mã.
Cài đặt trên Jukebox
Tôi không muốn tạo bất kỳ lỗ vít nào cho chiếc máy hát tự động 40 năm tuổi đã tồn tại rất lâu mà không bị hư hỏng nặng. Sử dụng keo dán cao su mềm, tôi đã cố định một phần của bảng kê góc bằng nhôm dưới bảng điều khiển máy hát tự động. Keo cao su giúp giữ chặt và có thể tháo ra mà không để lại bất kỳ dấu vết nào. Phần thân PlotClock cần hai góc nhôm nhỏ để giúp khớp với tấm acrylic. Tấm acrylic sau đó được lắp vào danh sách góc với hai kẹp lò xo có khả năng thực hiện các điều chỉnh cuối cùng theo chiều dọc và chiều ngang.
Bước 4: Blynk
![Blynk Blynk](https://i.howwhatproduce.com/images/001/image-2400-10-j.webp)
Blynk là một ứng dụng miễn phí để điều khiển một số loại vi điều khiển từ xa. Với Blynk, bạn có thể dễ dàng xây dựng một giao diện người dùng đẹp mắt bằng cách sử dụng một số loại widget. Chỉ có một widget duy nhất cần thiết cho dự án này: widget Table.
Bước 5: Phần mềm
Ứng dụng Blynk
Không có mã hóa ở phía ứng dụng. "Cuộc trò chuyện" giữa ứng dụng (Blynk) và vi điều khiển (WeMos) được xử lý bởi "Chân ảo", về cơ bản là các kênh để gửi và nhận thông tin giữa hai thứ đó. Ví dụ, ghim ảo được sử dụng để gửi số hàng của bài hát đã chọn từ ứng dụng Blynk tới WeMos và Wemos xử lý phần còn lại, tức là. gửi lệnh đến các servos Plotclock.
Mã WeMos
/**************************************************************
Tiện ích bảng tại V2 ********************************************** **************** / #define BLYNK_PRINT Sê-ri #include #include #include char auth = "- MÃ THÁNG 8 CỦA CHÚNG TÔI--"; // Dự án Jukebox char ssid = "--YOUR SSID--"; char pass = "- MẬT KHẨU WIFI CỦA CHÚNG TÔI--"; int c [50]; // Mảng cho các vị trí bản ghi Jukebox (100-299) Servo myservo1; // nâng Servo myservo2; // cánh tay trái Servo myservo3; // cánh tay phải int pos1 = 0; int pos2 = 0; int pos3 = 0; int btn = 0; void setup () {myservo1.attach (2); // chân D4, nâng myservo2.attach (14); // pin D5, trái myservo3.attach (12); // chân D6, bên phải myservo1.write (140); myservo2.write (90); myservo3.write (90); Serial.begin (115200); Blynk.begin (auth, ssid, pass); // Thông báo ngay khi khởi động // String msg = "Jukebox WeMos đã kết nối với:"; //Blynk.notify(msg + ssid); // xóa bảng khi bắt đầu Blynk.virtualWrite (V2, "clr"); populateTable (); } BLYNK_WRITE (V2) // Nhận lệnh từ Table widget V2 {String cmd = param [0].asStr (); // param [0] = "select" hoặc "deselect", param [1] = row Serial.print ("\ nTable: BLYNK_WRITE (V2) cmd:"); Serial.print (cmd); int select = c [param [1].asInt ()]; // Số hàng đã chọn nằm trong param [1] Serial.println ("\ nSelection:"); Serial.println (lựa chọn); process_selection (lựa chọn); } void populateTable () {int i = 0; Serial.println ("Đang điền bảng…"); Blynk.virtualWrite (V2, "add", 0, "Be My Baby - The Supremes", 112); c = 112; Blynk.virtualWrite (V2, "add", 1, "Number One - Jerry Williams", 176); i ++; c = 176; Blynk.virtualWrite (V2, "add", 2, "All My Loving - The Beatles", 184); i ++; c = 184; Blynk.virtualWrite (V2, "add", 3, "In the Summertime - Mungo Jerry", 236); i ++; c = 236; Blynk.virtualWrite (V2, "add", 4, "Black Cloud - Chubby Checker", 155); i ++; c = 155; Blynk.virtualWrite (V2, "add", 5, "Mamy Blue - Pop-Tops", 260); i ++; c = 260; Blynk.virtualWrite (V2, "add", 6, "Sẽ ổn thôi - Gerry & Pacemakers", 145); i ++; c = 145; Blynk.virtualWrite (V2, "add", 7, "My Way - Tom Jones", 193); i ++; c = 193; Blynk.virtualWrite (V2, "add", 8, "San Bernadino - Christie", 149); i ++; c = 149; Blynk.virtualWrite (V2, "add", 9, "The Twist - Chubby Checker", 169); i ++; c = 169;
chậm trễ (1000);
} void process_selection (int selection) {// phân tích cú pháp lựa chọn gồm 3 chữ số (ví dụ: 178) thành 3 nút: int btn1 = int (selection / 100); // nút đầu tiên Serial.println ("\ nBtn1:"); Serial.println (btn1); if (btn1 == 1 || btn1 == 2) // nút đầu tiên phải là 1 hoặc 2 - nếu không hãy thực hiện đặt lại {push_button (btn1); select = selection - (btn1 * 100); int btn2 = int (lựa chọn / 10); // nút thứ hai Serial.println ("\ nBtn2:"); Serial.println (btn2); nút nhấn (btn2); select = selection - (btn2 * 10); int btn3 = int (vùng chọn); // nút thứ ba Serial.println ("\ nBtn3:"); Serial.println (btn3); nút nhấn (btn3); } else {push_button (11); // nút đặt lại} // đặt lại vị trí của servo khi tất cả hoàn thành delay (2000); myservo1.write (140); myservo2.write (90); myservo3.write (90);} void push_button (int btn) {// điều này được gọi là 3 lần cho mỗi lựa chọn // nhấn nút thực sự được thực hiện sau mỗi nút (tìm 'nút nhấn thực tế') chuyển đổi (btn) {trường hợp 1: set_servo_aries (134, 136); // 1 ngắt; case 2: set_servo_aries (128, 110); // 2 ngắt; case 3: set_servo_aries (112, 88); // 3 ngắt; case 4: set_servo_aries (89, 68); // 4 ngắt; case 5: set_servo_aries (62, 55); // 5 ngắt; case 6: set_servo_aries (172, 131); // 6 ngắt; case 7: set_servo_aries (163, 106); // 7 ngắt; case 8: set_servo_aries (140, 83); // 8 ngắt; case 9: set_servo_aries (104, 58); // 9 ngắt; case 0: set_servo_aries (75, 36); // 0 ngắt; case 11: set_servo_aries (36, 30); // 11 ngắt; } // end switch} void set_servo_aries (int pos2, int pos3) {myservo2.write (pos2); myservo3.write (pos3); // Các vị trí Servo đã sẵn sàng - thực hiện thao tác nhấn nút thực tế: delay (500); myservo1.write (60); // xuống độ trễ (500); myservo1.write (140); // up delay (500); } void loop () {Blynk.run (); }
Bước 6: Các bước trong tương lai
Tiện ích video - phát trực tiếp video và âm thanh tới Ứng dụng Blynk (đã được thử nghiệm - đang hoạt động)
Tiện ích Webhook - tải xuống danh sách phát theo yêu cầu từ đám mây (đã được thử nghiệm - đang hoạt động)
Tiện ích bảng - một số cải tiến nhỏ đối với tiện ích được hoan nghênh (đề xuất được gửi đến các nhà phát triển Blynk)
Đề xuất:
Tính điểm điện tử cho trò chơi ném túi đậu Trò chơi bóng chày: 8 bước (có hình ảnh)
![Tính điểm điện tử cho trò chơi ném túi đậu Trò chơi bóng chày: 8 bước (có hình ảnh) Tính điểm điện tử cho trò chơi ném túi đậu Trò chơi bóng chày: 8 bước (có hình ảnh)](https://i.howwhatproduce.com/images/007/image-20145-j.webp)
Tính điểm điện tử cho trò chơi ném túi đậu Trò chơi bóng chày: Tài liệu hướng dẫn này sẽ giải thích cách tự động giữ điểm số bằng phương pháp điện tử cho trò chơi bóng chày theo chủ đề Túi đậu. Tôi sẽ không trình bày cách xây dựng chi tiết của trò chơi bằng gỗ, bạn có thể tìm thấy những kế hoạch đó trên trang web của Ana White tại: https: // www
Bộ điều khiển trò chơi tự làm dựa trên Arduino - Bộ điều khiển trò chơi Arduino PS2 - Chơi Tekken với tự làm trò chơi Arduino: 7 bước
![Bộ điều khiển trò chơi tự làm dựa trên Arduino - Bộ điều khiển trò chơi Arduino PS2 - Chơi Tekken với tự làm trò chơi Arduino: 7 bước Bộ điều khiển trò chơi tự làm dựa trên Arduino - Bộ điều khiển trò chơi Arduino PS2 - Chơi Tekken với tự làm trò chơi Arduino: 7 bước](https://i.howwhatproduce.com/images/011/image-30363-j.webp)
Bộ điều khiển trò chơi tự làm dựa trên Arduino | Bộ điều khiển trò chơi Arduino PS2 | Chơi Tekken với Bàn điều khiển Arduino tự làm: Xin chào các bạn, chơi game luôn thú vị nhưng chơi với Bộ điều khiển trò chơi tùy chỉnh tự làm của riêng bạn sẽ thú vị hơn
Cắm 'n' Chơi Bảng điều khiển trò chơi cổ điển: 5 bước (có Hình ảnh)
![Cắm 'n' Chơi Bảng điều khiển trò chơi cổ điển: 5 bước (có Hình ảnh) Cắm 'n' Chơi Bảng điều khiển trò chơi cổ điển: 5 bước (có Hình ảnh)](https://i.howwhatproduce.com/images/002/image-5001-114-j.webp)
Plug 'n' Play Bảng điều khiển trò chơi cổ điển: Bảng điều khiển trò chơi cổ điển Plug 'n' Play gói nhiều bảng điều khiển và trò chơi cổ điển yêu thích của bạn tất cả vào một thiết bị. Phần tốt nhất là tất cả những gì bạn cần là kết nối bảng điều khiển với đầu vào video của TV và với nguồn điện để thưởng thức tất cả
Trình mô phỏng trò chơi điện thoại thông minh- Chơi trò chơi Windows bằng IMU điều khiển bằng cử chỉ, Gia tốc kế, Con quay hồi chuyển, Từ kế: 5 bước
![Trình mô phỏng trò chơi điện thoại thông minh- Chơi trò chơi Windows bằng IMU điều khiển bằng cử chỉ, Gia tốc kế, Con quay hồi chuyển, Từ kế: 5 bước Trình mô phỏng trò chơi điện thoại thông minh- Chơi trò chơi Windows bằng IMU điều khiển bằng cử chỉ, Gia tốc kế, Con quay hồi chuyển, Từ kế: 5 bước](https://i.howwhatproduce.com/images/002/image-5688-59-j.webp)
SmartPhone Game Simulator- Chơi Windows Games Sử dụng IMU Điều khiển bằng cử chỉ, Gia tốc kế, Con quay hồi chuyển, Từ kế: Hỗ trợ dự án này: https://www.paypal.me/vslcreations bằng cách quyên góp cho mã nguồn mở & hỗ trợ để phát triển hơn nữa
20 giờ $ 20 Bảng xây dựng trò chơi điện tử hàng đầu với hàng trăm trò chơi được tích hợp sẵn.: 7 bước (có hình ảnh)
![20 giờ $ 20 Bảng xây dựng trò chơi điện tử hàng đầu với hàng trăm trò chơi được tích hợp sẵn.: 7 bước (có hình ảnh) 20 giờ $ 20 Bảng xây dựng trò chơi điện tử hàng đầu với hàng trăm trò chơi được tích hợp sẵn.: 7 bước (có hình ảnh)](https://i.howwhatproduce.com/images/001/image-1460-101-j.webp)
20 giờ $ 20 Table Top Arcade Build với hàng trăm trò chơi được tích hợp sẵn. Vì tôi không quá vội vàng nên tôi chỉ đợi cho đến khi tích lũy được tất cả các thành phần cần thiết cho việc xây dựng với giá rẻ. Đây là