Daftar Isi:
- Langkah 1: Perangkat Keras
- Langkah 2: Kalibrasi
- Langkah 3: Perakitan
- Langkah 4: Blynk
- Langkah 5: Perangkat Lunak
- Langkah 6: Langkah Masa Depan
Video: PlotClock, WeMos dan Blynk Memainkan Vintage AMI Jukebox: 6 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:53
Empat inovasi teknis memungkinkan proyek ini: The 1977 Rowe AMI Jukebox, kit lengan robot PlotClock, mikrokontroler WeMos/ESP 8266, dan layanan Blynk App/Cloud.
CATATAN: Jika Anda tidak memiliki Jukebox – jangan berhenti membaca! Proyek ini dapat dengan mudah diadopsi untuk mengendalikan berbagai hal yang dikendalikan oleh jari manusia. Salah satu contohnya adalah jari robot yang memainkan Gambang tradisional – mungkin instruksi itu datang dari Anda!
Rowe AMI R-81 Jukebox saya yang berusia 40 tahun masih berfungsi dengan baik memainkan single vinyl vintage dari 60-an, 70-an, dan 80-an. Dengan berat lebih dari 160 kg (360 lbs) pemutar ini tidak begitu portabel seperti pemutar mp modern, tetapi hidup di era internet, sekarang mungkin untuk membawa jukebox dan 200 piringan hitam di saku Anda – tentu saja! Dan Anda bahkan dapat menggunakan daftar putar Anda sendiri yang disimpan di mikrokontroler!
Robot PlotClock yang menakjubkan pada awalnya dirancang untuk menunjukkan waktu saat ini dengan menggambar angka waktu di papan yang dapat dihapus. Adaptasi saya untuk PlotClock adalah menggunakannya sebagai jari robot untuk menekan tombol pemilihan lagu Jukebox.
"Jari" Plotclock digerakkan oleh 3 servos yang dikendalikan oleh mikrokontroler WeMos. Keajaiban ini (hampir) kompatibel dengan Arduino Uno dan memiliki kemampuan WiFi, sehingga memungkinkan untuk mengontrol jukebox secara nirkabel dari mana saja di dunia.
Krim pada kue berasal dari Aplikasi Blynk yang luar biasa mudah digunakan dan Server Blynk Cloud mereka memberikan antarmuka pengguna ponsel / tablet yang bagus dengan mobilitas penuh.
Langkah 1: Perangkat Keras
Jukebox
Proyek jukebox adalah 1977 Rowe AMI R-81. Jukebox lama apa pun dengan tombol pilihan dapat digunakan – dengan memperhatikan beberapa batasan oleh PlotClock: Desain lengan asli PlotClock dapat mencakup area sekitar 5 x 12 cm sehingga tata letak tombol jukebox (area termasuk semua tombol pilihan) harus seukuran itu. Tombol-tombol jukebox yang lebih tua mungkin membutuhkan lebih banyak daya dorong daripada yang dapat disediakan oleh servo PlotClock.
AMI R-81 memiliki memori yang dapat menyimpan 200 pilihan. Pilihan dimainkan berdasarkan urutan penyimpanannya di majalah rekaman (tipe carousel), bukan urutan pemilihannya. Pilihan ganda untuk satu rekaman hanya dimainkan sekali.
PlotJam
Plotclock adalah kit DIY yang tersedia secara komersial termasuk suku cadang mekanis, 3 servos, Arduino Uno R3, papan Ekstensi Arduino, dan kabel USB. Untuk sekitar 30 USD ini adalah pembelian yang bagus (mis. Banggood.com). Arduino, papan ekstensi dan kabel USB tidak digunakan untuk proyek ini.
Ada beberapa tutorial internet/YouTube yang bagus untuk membuat Plotclock – mis. ini: instruksi PlotClock
static1.squarespace.com/static/52cb189ee4b012ff9269fa8e/t/5526946be4b0ed8e0b3cd296/1428591723698/plotclock_final_instructions.pdf
WeMos
WeMos D1 R2 adalah mikrokontroler berbasis ESP8266. Ini dapat diprogram menggunakan Arduino IDE dan memiliki kemampuan WiFi sehingga merupakan perangkat keras yang sempurna untuk proyek ini.
Langkah 2: Kalibrasi
Kalibrasi adalah tugas untuk menemukan nilai sudut yang akurat untuk sudut servo (antara 0 hingga 180 derajat) agar sesuai dengan posisi fisik untuk tombol pilihan. Nilai sudut dapat ditemukan dengan aritmatika trigonometri atau menggunakan perangkat lunak CAD. Saya mendapat nilai perkiraan dari teman saya yang tahu cara menggunakan AutoCad.
Namun, kalibrasi akhir harus dilakukan dengan coba-coba. Menggunakan tata letak tombol yang digambar pada selembar kertas Anda dapat melakukan "pengujian desktop" untuk menemukan nilai sudut yang benar.
Langkah 3: Perakitan
Pengkabelan
Koneksi dari servo Plotclock ke Wemos dilakukan dengan 5 kabel: +5, GND, D4, D5 dan D6. Detail lihat di gambar dan kode.
Menginstal di Jukebox
Saya tidak ingin membuat lubang sekrup pada jukebox berusia 40 tahun yang telah begitu lama bertahan tanpa kerusakan besar. Menggunakan sealant karet lunak saya memperbaiki sepotong daftar sudut aluminium di bawah konsol jukebox. Sealant karet membuat pegangan yang kuat dan dapat dilepas tanpa meninggalkan bekas. Tubuh PlotClock membutuhkan dua sudut aluminium kecil untuk membantu memasangnya di pelat akrilik. Pelat akrilik kemudian dipasang ke daftar sudut dengan dua klip pegas yang memungkinkan untuk melakukan penyesuaian akhir secara vertikal dan horizontal.
Langkah 4: Blynk
Blynk adalah aplikasi gratis untuk mengontrol beberapa jenis mikrokontroler dari jarak jauh. Dengan Blynk Anda dapat dengan mudah membangun antarmuka pengguna yang bagus menggunakan beberapa jenis widget. Hanya ada satu widget yang dibutuhkan untuk proyek ini: widget Tabel.
Langkah 5: Perangkat Lunak
Aplikasi Blynk
Tidak ada pengkodean di sisi aplikasi. "Percakapan" antara aplikasi (Blynk) dan mikrokontroler (WeMos) ditangani oleh "pin virtual" yang pada dasarnya adalah saluran untuk mengirim dan menerima informasi antara keduanya. Pin virtual misalnya digunakan untuk mengirim nomor baris lagu yang dipilih dari aplikasi Blynk ke WeMos, dan Wemos menangani sisanya, mis. mengirimkan perintah ke servos Plotclock.
Kode WeMos
/**************************************************************
Widget tabel di V2 ********************************************** ****************/ #define BLYNK_PRINT Serial #include #include #include char auth = "--KODE AUTH ANDA--"; //Jukebox project char ssid = "--SSID ANDA--"; char pass = "--PASSWORD WIFI ANDA--"; int c[50]; //Array untuk posisi record Jukebox (100-299) Servo myservo1; //mengangkat Servo myservo2; //lengan kiri Servo myservo3; //lengan kanan int pos1 = 0; int pos2 = 0; int pos3 = 0; int btn=0; void setup() { myservo1.attach(2); // pin D4, angkat myservo2.attach(14); // pin D5, kiri myservo3.attach(12); // pin D6, kanan myservo1.write(140); myservo2.write(90); myservo3.write(90); Serial.begin(115200); Blynk.begin(auth, ssid, pass); // Segera beri tahu saat startup //String msg = "Jukebox WeMos terhubung ke: "; //Blynk.notify(msg + ssid); //hapus tabel saat start Blynk.virtualWrite(V2, "clr"); populateTable(); } BLYNK_WRITE(V2) //Menerima perintah dari widget Tabel V2 { String cmd = param[0].asStr(); //param[0]="pilih" atau "batalkan pilihan", param[1]=baris Serial.print("\nTabel: BLYNK_WRITE(V2) cmd: "); Serial.print(cmd); int pilihan = c[param[1].asInt()]; //Nomor baris yang dipilih ada di param[1] Serial.println("\nPilihan: "); Serial.println(pilihan); process_selection(pilihan); } void populateTable() { int i = 0; Serial.println("Mengisi tabel…"); Blynk.virtualWrite(V2, "tambah", 0, "Be My Baby - The Supremes", 112); c = 112; Blynk.virtualWrite(V2, "tambah", 1, "Nomor Satu - Jerry Williams", 176); saya++; c = 176; Blynk.virtualWrite(V2, "tambah", 2, "All My Loving - The Beatles", 184); saya++; c = 184; Blynk.virtualWrite(V2, "tambah", 3, "Di Musim Panas - Mungo Jerry", 236); saya++; c = 236; Blynk.virtualWrite(V2, "tambah", 4, "Awan Hitam - Pemeriksa Gemuk", 155); saya++; c = 155; Blynk.virtualWrite(V2, "tambah", 5, "Mamy Blue - Pop-Tops", 260); saya++; c = 260; Blynk.virtualWrite(V2, "tambah", 6, "Ini Akan Baik-Baik Saja - Gerry & Alat Pacu Jantung", 145); saya++; c = 145; Blynk.virtualWrite(V2, "tambah", 7, "Cara Saya - Tom Jones", 193); saya++; c = 193; Blynk.virtualWrite(V2, "tambah", 8, "San Bernadino - Christie", 149); saya++; c = 149; Blynk.virtualWrite(V2, "tambah", 9, "The Twist - Chubby Checker", 169); saya++; c = 169;
penundaan (1000);
} void process_selection (pilihan int) { //parse pemilihan 3 digit (mis. 178) ke 3 tombol: int btn1 = int(selection/100); //tombol pertama Serial.println("\nBtn1: "); Serial.println(btn1); if (btn1 == 1 || btn1 == 2) //tombol pertama harus 1 atau 2 - jika tidak, lakukan reset { push_button(btn1); seleksi = seleksi - (btn1 * 100); int btn2 = int(pilihan/10); //tombol kedua Serial.println("\nBtn2: "); Serial.println(btn2); tekan_button(btn2); seleksi = seleksi - (btn2 * 10); int btn3 = int(pilihan); //tombol ketiga Serial.println("\nBtn3: "); Serial.println(btn3); tekan_button(btn3); } else { tombol_tekan(11); //tombol reset } //reset posisi servo saat semua selesai delay(2000); myservo1.write(140); myservo2.write(90); myservo3.write(90);} void push_button(int btn) { //ini dipanggil 3 kali untuk setiap pilihan //tekanan tombol aktual dilakukan setelah setiap tombol (temukan 'tekan tombol aktual') sakelar (btn) { case 1: set_servo_angles (134, 136); // istirahat; kasus 2: set_servo_angles (128, 110); //2 istirahat; kasus 3: set_servo_angles (112, 88); // istirahat; kasus 4: set_servo_angles (89, 68); // istirahat; kasus 5: set_servo_angles (62, 55); // istirahat; kasus 6: set_servo_angles (172, 131); // istirahat; kasus 7: set_servo_angles (163, 106); // istirahat; kasus 8: set_servo_angles (140, 83); // istirahat; kasus 9: set_servo_angles (104, 58); // istirahat; kasus 0: set_servo_angles (75, 36); //0 istirahat; kasus 11: set_servo_angles (36, 30); // istirahat; } //akhiri sakelar } void set_servo_angles(int pos2, int pos3) { myservo2.write(pos2); myservo3.write(pos3); //Posisi servo siap - lakukan penekanan tombol yang sebenarnya: delay(500); myservo1.write(60); //penundaan turun(500); myservo1.write(140); //penundaan naik(500); } void loop() { Blynk.run(); }
Langkah 6: Langkah Masa Depan
Widget video - streaming video & audio langsung ke Aplikasi Blynk (sudah diuji - berfungsi)
Widget webhook - unduhan daftar putar sesuai permintaan dari cloud (sudah diuji - berfungsi)
Widget tabel - beberapa perbaikan kecil pada widget diterima (saran dikirim ke pengembang Blynk)
Direkomendasikan:
Cara Memainkan Robot Kikuk di Instructables.: 5 Langkah (dengan Gambar)
Cara Memainkan Robot Clumsy di Instructables .: Jika Anda cukup beruntung (atau kurang beruntung) untuk menemukan diri Anda dihadapkan dengan pesan kesalahan server yang dapat diinstruksikan, bersenang-senanglah dengannya. Gim yang disematkan di dalamnya seperti flappy bird hanya dengan robot dan kunci pas yang dapat diinstruksikan. Dalam hal ini saya
Holdies Terhebat: Saya Meretas Telepon Lama untuk Memainkan Musik Hold Terhebat.: 13 Langkah (dengan Gambar)
Holdies Terhebat: Saya Meretas Ponsel Lama untuk Memutar Musik Hold Terhebat.: https://youtu.be/Ma4QnfQ7DxoWell… Saya cukup yakin Anda tidak menginginkan ponsel yang hanya memainkan musik hold… Tapi ada banyak proyek menarik lainnya yang dapat Anda buat dengan peretasan dasar "meja" yang tersedia ini. telepon
8 Kontrol Relay Dengan NodeMCU dan Penerima IR Menggunakan WiFi dan IR Remote dan Aplikasi Android: 5 Langkah (dengan Gambar)
8 Kontrol Relay Dengan NodeMCU dan Penerima IR Menggunakan WiFi dan IR Remote dan Aplikasi Android: Mengontrol 8 sakelar relai menggunakan nodemcu dan penerima ir melalui wifi dan ir remote dan aplikasi android.Remote ir bekerja terlepas dari koneksi wifi.INI VERSI TERBARU KLIK DI SINI
Menggunakan LEDS dan AT Tiny untuk Membuat Bintang Berkedip Dengan Piezo Memainkan " Twinkle, Twinkle, Little Star": 6 Langkah
Menggunakan LEDS dan AT Tiny untuk Membuat Bintang Berkedip Dengan Piezo Memainkan " Twinkle, Twinkle, Little Star": Rangkaian ini menggunakan LEDS,AT TINY dan piezo untuk menghasilkan bintang yang berkedip dan musik "Twinkle, Twinkle,little star" Silakan lihat langkah selanjutnya untuk gambaran umum dan sirkuit
Arduino Bascis - Memainkan Suara dan Nada: 5 Langkah
Arduino Bascis - Memutar Suara dan Nada: Saya ingin memainkan beberapa efek suara, dan menyadari bahwa ini adalah salah satu area yang diabaikan dalam hal tutorial. Bahkan di Youtube, ada kekurangan tutorial bagus tentang Arduino dan suara, jadi, saya sebagai orang baik, memutuskan untuk membagikan pengetahuan saya