![PlotClock, WeMos ve Blynk Vintage AMI Jukebox Oynarken: 6 Adım (Resimlerle) PlotClock, WeMos ve Blynk Vintage AMI Jukebox Oynarken: 6 Adım (Resimlerle)](https://i.howwhatproduce.com/images/001/image-2400-j.webp)
İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-23 15:13
![PlotClock, WeMos ve Blynk Vintage AMI Müzik Kutusu Oynarken PlotClock, WeMos ve Blynk Vintage AMI Müzik Kutusu Oynarken](https://i.howwhatproduce.com/images/001/image-2400-1-j.webp)
![PlotClock, WeMos ve Blynk Vintage AMI Müzik Kutusu Oynarken PlotClock, WeMos ve Blynk Vintage AMI Müzik Kutusu Oynarken](https://i.howwhatproduce.com/images/001/image-2400-2-j.webp)
Dört teknik yenilik bu projeyi mümkün kıldı: 1977 Rowe AMI Jukebox, PlotClock robot kol kiti, WeMos/ESP 8266 mikro denetleyici ve Blynk App/Cloud hizmeti.
NOT: Elinizde Jukebox yoksa - okumayı bırakmayın! Bu proje, insan parmaklarıyla kontrol edilen çeşitli şeyleri kontrol etmek için kolayca benimsenebilir. Bir örnek, geleneksel Ksilofon çalan bir robot parmak olabilir - belki bu talimat sizden gelir!
40 yaşındaki Rowe AMI R-81 Jukebox'ım 60'lar, 70'ler ve 80'lerden eski vinil single'ları çalmaya devam ediyor. 160 kg'dan (360 lbs) daha ağır olan bu oynatıcı, modern mp oynatıcılar kadar taşınabilir değildir, ancak internet çağında yaşamak, artık müzik kutusunu ve 200 vinil plakları cebinizde taşımak mümkün – neredeyse tabii! Hatta mikrodenetleyicide saklanan kendi çalma listelerinizi bile kullanabilirsiniz!
Amazing PlotClock robotu, orijinal olarak silinebilir tahtaya zaman rakamlarını çizerek şimdiki zamanı göstermek için tasarlanmıştır. PlotClock'a uyarlamam, onu Jukebox şarkı seçim düğmelerine basmak için bir robot parmağı olarak kullanmaktır.
Plotclock "parmağı", WeMos mikro denetleyicisi tarafından kontrol edilen 3 servo tarafından çalıştırılır. Bu harika parça (neredeyse) Arduino Uno uyumludur ve WiFi özelliklerine sahiptir, bu nedenle müzik kutusunu dünyanın her yerinden kablosuz olarak kontrol etmek mümkündür.
Pastanın üzerindeki krema, kullanımı inanılmaz derecede kolay olan Blynk Uygulamasından ve tam mobiliteye sahip güzel bir cep telefonu/tablet kullanıcı arayüzü sunan Blynk Bulut Sunucusundan geliyor.
Adım 1: Donanım
![Donanım Donanım](https://i.howwhatproduce.com/images/001/image-2400-3-j.webp)
![Donanım Donanım](https://i.howwhatproduce.com/images/001/image-2400-4-j.webp)
müzik kutusu
Proje müzik kutusu 1977 Rowe AMI R-81'dir. Seçim düğmelerine sahip herhangi bir eski müzik kutusu işinizi görecektir – PlotClock'un birkaç sınırlamasına dikkat çekersek: PlotClock'un orijinal kol tasarımı yaklaşık 5 x 12 cm'lik bir alanı kapsayabilir, bu nedenle müzik kutusu düğme düzeni (tüm seçim düğmelerini içeren alan) bu boyutta olmalıdır. Eski müzik kutularının düğmeleri, PlotClock servolarının sağlayabileceğinden daha fazla itme gücüne ihtiyaç duyabilir.
AMI R-81, 200 seçimi saklayabileceği bir belleğe sahiptir. Seçimler, seçildikleri sıraya göre değil, kayıt magazininde (atlıkarınca tipi) saklandıkları sıraya göre oynatılır. Bir kayıt için çoklu seçimler yalnızca bir kez oynatılır.
PlotSaat
Plotclock, mekanik parçalar, 3 servo, Arduino Uno R3, Arduino Uzatma kartı ve USB kablosu içeren ticari olarak temin edilebilen bir DIY kitidir. Yaklaşık 30 USD karşılığında bu iyi bir satın almadır (örn. Banggood.com). Bu proje için Arduino, uzatma kartı ve USB kablosu kullanılmamaktadır.
Plotclock'u oluşturmak için birkaç iyi internet/YouTube öğreticisi var – örn. bu: PlotClock talimatları
static1.squarespace.com/static/52cb189ee4b012ff9269fa8e/t/5526946be4b0ed8e0b3cd296/1428591723698/plotclock_final_instructions.pdf
WeMos
WeMos D1 R2, ESP8266 tabanlı bir mikro denetleyicidir. Arduino IDE kullanılarak programlanabilir ve WiFi özelliklerine sahiptir, bu nedenle bu proje için mükemmel bir donanım parçasıdır.
Adım 2: Kalibrasyon
![kalibrasyon kalibrasyon](https://i.howwhatproduce.com/images/001/image-2400-5-j.webp)
Kalibrasyon, seçim düğmelerinin fiziksel konumlarına karşılık gelen servo açıları (0 ila 180 derece arasında) için doğru açı değerleri bulma görevidir. Açı değerleri, trigonometri aritmitiği veya bir CAD yazılımı kullanılarak bulunabilir. AutoCad kullanmayı bilen bir arkadaşımdan yaklaşık değerler aldım.
Ancak, son kalibrasyonun deneme yanılma yoluyla yapılması gerekiyordu. Kağıt üzerine çizilen buton düzenini kullanarak doğru açı değerlerini bulmak için “masaüstü testi” yapmak mümkündür.
Adım 3: Montaj
![toplantı toplantı](https://i.howwhatproduce.com/images/001/image-2400-6-j.webp)
![toplantı toplantı](https://i.howwhatproduce.com/images/001/image-2400-7-j.webp)
![toplantı toplantı](https://i.howwhatproduce.com/images/001/image-2400-8-j.webp)
![toplantı toplantı](https://i.howwhatproduce.com/images/001/image-2400-9-j.webp)
kablolama
Plotclock servolarından Wemos'a bağlantı 5 kablo ile yapılır: +5, GND, D4, D5 ve D6. Ayrıntıları resimlerde ve kodda görün.
Jukebox'a yükleme
Uzun süredir büyük hasar görmeden ayakta kalan 40 yıllık müzik kutusuna herhangi bir vida deliği açmak istemedim. Yumuşak kauçuk dolgu macunu kullanarak müzik kutusu konsolunun altına bir parça alüminyum açı listesi sabitledim. Kauçuk dolgu macunu sıkı tutuş sağlar ve iz bırakmadan çıkarılabilir. PlotClock gövdesinin akrilik plakaya oturmasına yardımcı olmak için iki küçük alüminyum açıya ihtiyacı vardı. Akrilik plaka daha sonra iki yaylı klips ile açı listesine takılır ve böylece dikey ve yatay olarak son ayarların yapılmasına olanak sağlanır.
4. Adım: Blynk
![göz kırpmak göz kırpmak](https://i.howwhatproduce.com/images/001/image-2400-10-j.webp)
Blynk, çeşitli mikrodenetleyici türlerini uzaktan kontrol etmek için ücretsiz bir uygulamadır. Blynk ile çeşitli widget türleri kullanarak kolayca güzel bir kullanıcı arayüzü oluşturabilirsiniz. Bu proje için gereken tek bir pencere aracı vardır: Tablo pencere aracı.
Adım 5: Yazılım
Blynk Uygulaması
Uygulama tarafında kodlama yoktur. Uygulama (Blynk) ve mikrodenetleyici (WeMos) arasındaki "konuşma", esasen bu ikisi arasında bilgi gönderme ve alma kanalları olan "Sanal pinler" tarafından gerçekleştirilir. Örneğin sanal pin, Blynk uygulamasından seçilen şarkının satır numarasını WeMos'a göndermek için kullanılır ve Wemos gerisini halleder, yani. Plotclock servolarına komut gönderme.
WeMos kodu
/**************************************************************
V2'deki tablo widget'ı *************************************************** ****************/ #define BLYNK_PRINT Seri #include #include #include char auth = "--YETKİNLİK KODUNUZ--"; //Jukebox projesi char ssid = "--SSID'İNİZ--"; char pass = "--WIFI ŞİFRENİZ--"; int c[50]; //Jukebox kayıt konumları için dizi (100-299) Servo myservo1; // Servo myservo2'yi kaldırma; //sol kol Servo myservo3; //sağ kol int konum1 = 0; int konum2 = 0; int konum3 = 0; int btn=0; geçersiz kurulum() { myservo1.attach(2); // pin D4, myservo2.attach(14) kaldır; // pin D5, sol myservo3.attach(12); // pin D6, sağ myservo1.write(140); myservo2.write(90); myservo3.write(90); Seri.başla(115200); Blynk.begin(auth, ssid, pass); // Başlangıçta hemen bildir //String msg = "Jukebox WeMos şuraya bağlandı: "; //Blynk.notify(mesaj + ssid); //başlangıçta tabloyu temizle Blynk.virtualWrite(V2, "clr"); populateTable(); } BLYNK_WRITE(V2) //Tablo parçacığı V2'den komutları al { String cmd = param[0].asStr(); //param[0]="seç" veya "seçimi kaldır", param[1]=satır Serial.print("\nTable: BLYNK_WRITE(V2) cmd: "); Seri.baskı(cmd); int seçimi = c[param[1].asInt()]; //Seçilen satır numarası param[1] Serial.println("\nSelection: "); Serial.println(seçim); süreç_seçimi(seçim); } void populateTable() { int i = 0; Serial.println("Tablo Doldurma…"; Blynk.virtualWrite(V2, "ekle", 0, "Bebeğim Ol - Yüceler", 112); c = 112; Blynk.virtualWrite(V2, "ekle", 1, "Bir Numara - Jerry Williams", 176); ben++; c = 176; Blynk.virtualWrite(V2, "ekle", 2, "Tüm Sevdiklerim - The Beatles", 184); ben++; c = 184; Blynk.virtualWrite(V2, "ekle", 3, "Yaz Ayında - Mungo Jerry", 236); ben++; c = 236; Blynk.virtualWrite(V2, "ekle", 4, "Kara Bulut - Tombul Denetleyici", 155); ben++; c = 155; Blynk.virtualWrite(V2, "ekle", 5, "Mamy Blue - Pop-Tops", 260); ben++; c = 260; Blynk.virtualWrite(V2, "ekle", 6, "Her şey yoluna girecek - Gerry & Pacemaker", 145); ben++; c = 145; Blynk.virtualWrite(V2, "ekle", 7, "Benim Yolum - Tom Jones", 193); ben++; c = 193; Blynk.virtualWrite(V2, "ekle", 8, "San Bernadino - Christie", 149); ben++; c = 149; Blynk.virtualWrite(V2, "ekle", 9, "Büküm - Tombul Denetleyici", 169); ben++; c = 169;
gecikme(1000);
} void process_selection (int seçimi) { //3 haneli seçimi (örn. 178) 3 butona ayrıştırın: int btn1 = int(selection/100); //ilk buton Serial.println("\nBtn1: "); Seri.println(btn1); if (btn1 == 1 || btn1 == 2) //ilk düğme 1 veya 2 olmalıdır - aksi takdirde sıfırlama yapın { push_button(btn1); seçim = seçim - (btn1 * 100); int btn2 = int(seçim/10); //ikinci düğme Seri.println("\nBtn2: "); Seri.println(btn2); push_button(btn2); seçim = seçim - (btn2 * 10); int btn3 = int(seçim); //üçüncü düğme Seri.println("\nBtn3: "); Seri.println(btn3); push_button(btn3); } başka { push_button(11); //reset butonu } //her şey bittiğinde servo pozisyonlarını sıfırla gecikme(2000); myservo1.write(140); myservo2.write(90); myservo3.write(90);} void push_button(int btn) { //bu, her seçim için 3 kez çağrılır //gerçek butona basma, her butona bastıktan sonra yapılır ('gerçek butona bas'ı bulun') anahtarı (btn) { durum 1: set_servo_angles (134, 136); //1 ara; durum 2: set_servo_angles (128, 110); // ara; durum 3: set_servo_angles (112, 88); ///3 ara; durum 4: set_servo_angles (89, 68); ///4 ara; durum 5: set_servo_angles (62, 55); ///5 ara; durum 6: set_servo_angles (172, 131); ///6 ara; durum 7: set_servo_angles (163,106); //7 ara; durum 8: set_servo_angles (140, 83); //8 ara; durum 9: set_servo_angles (104, 58); //9 ara; durum 0: set_servo_angles (75, 36); //0 ara; durum 11: set_servo_angles (36, 30); //11 ara; } //son anahtarı } void set_servo_angles(int konum2, int konum3) { myservo2.write(konum2); myservo3.write(pos3); //Servo pozisyonları hazır - butona asıl basmayı gerçekleştirin: delay(500); myservo1.write(60); //gecikme gecikmesi(500); myservo1.write(140); //yukarı gecikme(500); } geçersiz döngü() { Blynk.run(); }
Adım 6: Gelecek Adımlar
Video widget'ı - Blynk Uygulamasına canlı video ve ses akışı (zaten test edildi - çalışıyor)
Web kancası widget'ı - buluttan isteğe bağlı indirme oynatma listesi (zaten test edildi - çalışıyor)
Tablo widget'ı - widget'ta bazı küçük iyileştirmeler memnuniyetle karşılanmaktadır (Blynk geliştiricilerine gönderilen öneriler)
Önerilen:
Wemos D1 ESP8266, Arduino IDE ve Blynk Uygulamasını Kullanan Wi-Fi Kontrollü Robot: 11 Adım (Resimlerle)
![Wemos D1 ESP8266, Arduino IDE ve Blynk Uygulamasını Kullanan Wi-Fi Kontrollü Robot: 11 Adım (Resimlerle) Wemos D1 ESP8266, Arduino IDE ve Blynk Uygulamasını Kullanan Wi-Fi Kontrollü Robot: 11 Adım (Resimlerle)](https://i.howwhatproduce.com/images/004/image-11224-2-j.webp)
Wemos D1 ESP8266, Arduino IDE ve Blynk Uygulamasını Kullanan Wi-Fi Kontrollü Robot: Bu eğitimde size Blynk App kullanarak bir akıllı telefondan Wi-Fi kontrollü bir robotik tankın nasıl kontrol edileceğini gösteriyorum. Bu projede bir ESP8266 Wemos D1 kartı kullanıldı, ancak diğer plaka modelleri de kullanılabilir (NodeMCU, Firebeetle, vb.) ve pr
Piezo "Parıltı, Parıltı, Küçük Yıldız" Oynarken Yanıp Sönen Bir Yıldız Oluşturmak için LED'leri ve AT Tiny'yi Kullanma: 6 Adım
![Piezo "Parıltı, Parıltı, Küçük Yıldız" Oynarken Yanıp Sönen Bir Yıldız Oluşturmak için LED'leri ve AT Tiny'yi Kullanma: 6 Adım Piezo "Parıltı, Parıltı, Küçük Yıldız" Oynarken Yanıp Sönen Bir Yıldız Oluşturmak için LED'leri ve AT Tiny'yi Kullanma: 6 Adım](https://i.howwhatproduce.com/images/002/image-4761-60-j.webp)
Piezo "Parıltı, Parıltı, Küçük Yıldız" Oynayan Yanıp Sönen Bir Yıldız Oluşturmak için LED'leri ve AT Tiny'yi Kullanma: Bu devre, yanıp sönen bir yıldız ve "Parıltı, Parıltı, küçük yıldız" müziği üretmek için LED'ler, AT TINY ve piezo kullanır; Devreye genel bakış için lütfen sonraki adıma bakın
Blynk Uygulamasına Sıcaklık ve Nem Gönderin (Wemos D1 Mini Pro): 15 Adım (Resimlerle)
![Blynk Uygulamasına Sıcaklık ve Nem Gönderin (Wemos D1 Mini Pro): 15 Adım (Resimlerle) Blynk Uygulamasına Sıcaklık ve Nem Gönderin (Wemos D1 Mini Pro): 15 Adım (Resimlerle)](https://i.howwhatproduce.com/images/003/image-8033-55-j.webp)
Sıcaklık ve Nemi Blynk Uygulamasına Gönderin (Wemos D1 Mini Pro): Bu Eğitilebilir Tablo, Blynk APP'ye veri (Sıcaklık ve Nem) göndermek için Wemos D1 Mini Pro'nun kullanımına bakar
Yanıp Sönen AMI BIOS için Önyüklenebilir UFD Oluşturun: 12 Adım
![Yanıp Sönen AMI BIOS için Önyüklenebilir UFD Oluşturun: 12 Adım Yanıp Sönen AMI BIOS için Önyüklenebilir UFD Oluşturun: 12 Adım](https://i.howwhatproduce.com/preview/how-and-what-to-produce/10963946-build-a-bootable-ufd-for-flashing-ami-bios-12-steps-j.webp)
Yanıp Sönen AMI BIOS için Önyüklenebilir bir UFD oluşturun: Hem dizüstü hem de masaüstü bilgisayarlar zaman zaman BIOS güncellemeleri gerektirir. Bir satıcının Web sitesini (PC mfgr veya BIOS oluşturucu) ziyaret ettiğinizde ve istediğiniz özelliklere sahip yeni bir BIOS keşfettiğinizde veya yükseltmeler yeni bir BIOS gerektirdiğinde, tüm bileşenleri koymanın zamanı gelmiştir
Blynk Bildirimli Hareket Dedektörü (WeMos D1 Mini + HC-SR04): 4 Adım (Resimlerle)
![Blynk Bildirimli Hareket Dedektörü (WeMos D1 Mini + HC-SR04): 4 Adım (Resimlerle) Blynk Bildirimli Hareket Dedektörü (WeMos D1 Mini + HC-SR04): 4 Adım (Resimlerle)](https://i.howwhatproduce.com/preview/how-and-what-to-produce/11131044-motion-detector-with-blynk-notifications-wemos-d1-mini-hc-sr04-4-steps-with-pictures-j.webp)
Blynk Bildirimli Hareket Dedektörü (WeMos D1 Mini + HC-SR04): Lütfen Kablosuz Yarışmada bu proje için OY VERİN. Teşekkür ederiz!Güncelleme no.2 - Birkaç ince ayar (sürüm 2.2), sensörünüzü (menzil ve isim) tanımda ayarlayabilirsiniz. Ayrıca, bazen sensörün yanlış değerleri okuması ve bildirim göndermesi de oldu