
Агуулгын хүснэгт:
2025 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2025-01-23 15:00


Техникийн дөрвөн шинэчлэл нь энэ төслийг хэрэгжүүлэх боломжтой болгосон: 1977 оны Rowe AMI Jukebox, PlotClock робот гар иж бүрдэл, WeMos/ESP 8266 микроконтроллер ба Blynk App/Cloud үйлчилгээ.
ТАЙЛБАР: Хэрэв таны гар дээр Jukebox байхгүй бол уншихаа бүү зогсоо! Энэхүү төслийг хүний хуруугаар удирддаг төрөл бүрийн зүйлийг удирдахад хялбархан хэрэгжүүлэх боломжтой. Үүний нэг жишээ бол уламжлалт Xylophone дээр тоглож буй робот хуруу байж магадгүй юм.
Миний 40 настай Rowe AMI R-81 Jukebox 60, 70, 80-аад оны винил синглүүдийг сайн тоглосоор байгаа. 160 кг-аас дээш жинтэй энэ тоглуулагч нь орчин үеийн mp-тоглогчидтой адил зөөврийн биш боловч интернетийн эрин үед амьдарч байгаа тул одоо халаасандаа jukebox болон 200 винил пянз авч явах боломжтой боллоо. Мөн та микроконтроллерт хадгалагдсан өөрийн тоглуулах жагсаалтыг ашиглаж болно!
Гайхамшигтай PlotClock робот нь анх арилгаж болох самбар дээр цагийн цифрийг зурж одоогийн цагийг харуулах зорилготой юм. PlotClock -ийн миний дасан зохицох зүйл бол үүнийг Jukebox дуу сонгох товчлуурыг дарахад робот хуруу болгон ашиглах явдал юм.
Plotclock "хуруу" нь WeMos микроконтроллероор хянагддаг 3 servo хөтөчөөр ажилладаг. Энэхүү гайхалтай зүйл нь (бараг л) Arduino Uno -тэй нийцтэй бөгөөд WiFi -ийн чадвартай тул дэлхийн аль ч өнцгөөс юүкбоксыг утасгүй удирдах боломжтой юм.
Бялуу дээрх тос нь ашиглахад хялбар Blynk App болон тэдний Blynk Cloud Server -ээс гар утас, таблетын хэрэглэгчийн интерфэйсийг бүрэн хөдөлгөж өгдөг.
Алхам 1: Техник хангамж


Хөгжмийн хайрцаг
Төслийн jukebox нь 1977 оны Rowe AMI R-81 юм. Сонголт хийх товчлууртай хуучин хөгжмийн хайрцаг хийх болно - PlotClock -ийн цөөн хэдэн хязгаарлалтыг тэмдэглэх нь зүйтэй: PlotClock -ийн анхны гар хийцийн загвар нь ойролцоогоор 5х12 см хэмжээтэй байж болох тул хөгжмийн хайрцгийн товчлуурын зохион байгуулалт (бүх сонголтын товчлуурыг багтаасан хэсэг) ийм хэмжээтэй байх ёстой. Хуучин jukebox -уудын товчлуурууд нь PlotClock -ийн servos -ээс илүү хүчтэй түлхэлт шаарддаг.
AMI R-81 нь 200 сонголтыг хадгалах боломжтой санах ойтой. Сонгон шалгаруулалтыг сонгосон дарааллаар нь биш бичлэгийн сэтгүүлд хадгалсан дарааллаар нь (тойргийн төрөл) тоглодог. Нэг бичлэгийн олон сонголтыг ганцхан удаа тоглуулдаг.
PlotClock
Plotclock бол механик эд анги, 3 servo, Arduino Uno R3, Arduino өргөтгөлийн самбар, USB кабелийг багтаасан DIY хэрэгсэл юм. 30 орчим долларын үнэтэй бол энэ нь сайн худалдан авалт болно (жишээ нь. Banggood.com). Arduino, өргөтгөлийн самбар, USB кабелийг энэ төсөлд ашиглахгүй.
Plotclock зохиох хэд хэдэн сайн интернет/YouTube заавар байдаг - жишээ нь. Энэ нь: PlotClock заавар
static1.squarespace.com/static/52cb189ee4b012ff9269fa8e/t/5526946be4b0ed8e0b3cd296/1428591723698/plotclock_final_instructions.pdf
WeMos
WeMos D1 R2 нь ESP8266 дээр суурилсан микроконтроллер юм. Үүнийг Arduino IDE ашиглан програмчлах боломжтой бөгөөд WiFi боломжуудтай тул энэ төслийн төгс тоног төхөөрөмж болно.
Алхам 2: Калибровк хийх

Калибровк хийх нь сонгох товчлууруудын физик байрлалыг харгалзах servo өнцгийн (0 -ээс 180 градусын хооронд) өнцгийн нарийвчлалтай утгыг олох даалгавар юм. Тригонометрийн аритемитик эсвэл CAD програм ашиглан өнцгийн утгыг олж болно. Би AutoCad -ийг хэрхэн ашиглах талаар мэддэг найзаасаа ойролцоогоор утгыг авсан.
Гэсэн хэдий ч эцсийн шалгалт тохируулгыг туршилт, алдааны дагуу хийх ёстой байв. Цаасан дээр зурсан товчлуурын байршлыг ашиглан өнцгийн зөв утгыг олохын тулд "ширээний тест" хийх боломжтой.
Алхам 3: угсрах




Цахилгаан утас
Plotclock servos -аас Wemos руу холбогдох нь 5 утастай хийгддэг: +5, GND, D4, D5 ба D6. Зураг, кодыг дэлгэрэнгүй үзэх.
Jukebox дээр суулгаж байна
Их хэмжээний гэмтэл авалгүй удаан амьд үлдсэн 40 настай хөгжмийн хайрцагт би ямар ч шураг нүх гаргахыг хүсээгүй. Зөөлөн резинэн чигжээс ашиглан би хөгжмийн хайрцагны консолын доор хөнгөн цагаан өнцгийн жагсаалтыг засав. Резинэн чигжээс нь нягт барьдаг тул ямар ч ул мөр үлдээхгүйгээр арилгаж болно. PlotClock -ийн биед акрилан хавтан дээр бэхлэхэд туслах хоёр жижиг хөнгөн цагаан өнцөг шаардлагатай байв. Нийлэг хавтанг хоёр өнцөгт хавчаар бүхий өнцгийн жагсаалтад оруулаад босоо болон хэвтээ байдлаар эцсийн тохируулга хийх боломжтой болно.
Алхам 4: Блинк

Blynk бол хэд хэдэн төрлийн микроконтроллерыг алсаас удирдах үнэгүй програм юм. Blynk -ийн тусламжтайгаар та хэд хэдэн төрлийн виджет ашиглан сайхан хэрэглэгчийн интерфэйсийг хялбархан бүтээж чадна. Энэ төсөлд зөвхөн нэг виджет хэрэгтэй: Table widget.
Алхам 5: Програм хангамж
Blynk програм
Аппликешны талд кодчилол байхгүй байна. Апп (Blynk) ба микроконтроллер (WeMos) хоорондын "харилцан яриаг" эдгээр хоёрын хооронд мэдээлэл илгээх, хүлээн авах суваг болох "Виртуал тээглүүр" удирддаг. Виртуал пин нь жишээ нь Blynk програмаас сонгосон дууны мөрийн дугаарыг WeMos руу илгээхэд хэрэглэгддэг бөгөөд үлдсэн хэсгийг нь Wemos зохицуулдаг. Plotclock серво руу тушаал илгээх.
WeMos код
/**************************************************************
V2 хүснэгтийн виджет ******************************************** ****************/ #define BLYNK_PRINT Serial #include #include #include char auth = "-ТАНЫ АВТО КОД--"; // Jukebox төслийн char char ssid = "-ТАНЫ SSID-"; char pass = "--ТАНЫ WIFI НУУЦ ҮГ--"; int c [50]; // Jukebox бичлэгийн албан тушаалын массив (100-299) Servo myservo1; // Servo myservo2 өргөх; // зүүн гар Servo myservo3; // баруун гар int pos1 = 0; int pos2 = 0; int pos3 = 0; int btn = 0; void setup () {myservo1.attach (2); // зүү D4, өргөх myservo2.attach (14); // зүү D5, зүүн myservo3.attach (12); // зүү D6, баруун myservo1.write (140); myservo2.write (90); myservo3.write (90); Цуваа.begin (115200); Blynk.begin (auth, ssid, pass); // Эхлэх үед нэн даруй мэдэгдэх // String msg = "Jukebox WeMos холбогдсон:"; //Blynk.notify(msg + ssid); // эхэнд байгаа хүснэгтийг цэвэрлэх Blynk.virtualWrite (V2, "clr"); populateTable (); } BLYNK_WRITE (V2) // V2 хүснэгтийн виджетээс команд хүлээн авах {String cmd = param [0].asStr (); // param [0] = "сонгох" эсвэл "сонголтыг цуцлах", param [1] = мөр Serial.print ("\ nХүснэгт: BLYNK_WRITE (V2) cmd:"); Цуваа.хэвлэх (cmd); int сонголт = c [param [1].asInt ()]; // Сонгосон мөрийн дугаар param [1] Serial.println ("\ nСонголт:"); Serial.println (сонголт); процесс_сонголт (сонголт); } void populateTable () {int i = 0; Serial.println ("Хүн амын хүснэгт …"); Blynk.virtualWrite (V2, "add", 0, "Be My Baby - The Supremes", 112); c = 112; Blynk.virtualWrite (V2, "нэмэх", 1, "Номер нэг - Жерри Уильямс", 176); би ++; c = 176; Blynk.virtualWrite (V2, "add", 2, "All My Loving - The Beatles", 184); би ++; c = 184; Blynk.virtualWrite (V2, "нэмэх", 3, "Зуны улиралд - Мунго Жерри", 236); би ++; c = 236; Blynk.virtualWrite (V2, "add", 4, "Black Cloud - Chubby Checker", 155); би ++; c = 155; Blynk.virtualWrite (V2, "add", 5, "Mamy Blue - Pop -Tops", 260); би ++; c = 260; Blynk.virtualWrite (V2, "нэмэх", 6, "Энэ зүгээр болно - Gerry & Pacemakers", 145); би ++; c = 145; Blynk.virtualWrite (V2, "нэмэх", 7, "Миний арга - Том Жонс", 193); би ++; c = 193; Blynk.virtualWrite (V2, "нэмэх", 8, "Сан Бернадино - Кристи", 149); би ++; c = 149; Blynk.virtualWrite (V2, "add", 9, "The Twist - Chubby Checker", 169); би ++; c = 169;
саатал (1000);
} void process_selection (int selection) {// 3 оронтой сонголтыг (жишээ нь. 178) 3 товчлуур болгон задлах: int btn1 = int (сонголт/100); // эхний товчлуур Serial.println ("\ nBtn1:"); Serial.println (btn1); хэрэв (btn1 == 1 || btn1 == 2) // эхний товчлуур нь 1 эсвэл 2 байх ёстой - өөрөөр бол дахин тохируулах {push_button (btn1); сонголт = сонголт - (btn1 * 100); int btn2 = int (сонголт/10); // хоёр дахь товчлуур Serial.println ("\ nBtn2:"); Serial.println (btn2); push_button (btn2); сонголт = сонголт - (btn2 * 10); int btn3 = int (сонголт); // гурав дахь товчлуур Serial.println ("\ nBtn3:"); Serial.println (btn3); push_button (btn3); } өөр {push_button (11); // дахин тохируулах товч} // бүгдийг хойшлуулсны дараа servo байрлалыг анхны байдалд нь оруулах (2000); myservo1.write (140); myservo2.write (90); myservo3.write (90);} void push_button (int btn) {// үүнийг сонголт тус бүрт 3 удаа дууддаг // товчлуур бүрийн дараа товчлуурыг дарах ('бодит товчлуур дарах' товчлуурыг олох) (btn) {тохиолдол 1: set_servo_angles (134, 136); // 1 завсарлага; тохиолдол 2: set_servo_angles (128, 110); // 2 завсарлага; тохиолдол 3: set_servo_angles (112, 88); // 3 завсарлага; тохиолдол 4: set_servo_angles (89, 68); // 4 завсарлага; тохиолдол 5: set_servo_angles (62, 55); // 5 завсарлага; тохиолдол 6: set_servo_angles (172, 131); // 6 завсарлага; тохиолдол 7: set_servo_angles (163, 106); // 7 завсарлага; тохиолдол 8: set_servo_angles (140, 83); // 8 завсарлага; тохиолдол 9: set_servo_angles (104, 58); // 9 завсарлага; тохиолдол 0: set_servo_angles (75, 36); // 0 завсарлага; тохиолдол 11: set_servo_angles (36, 30); // 11 завсарлага; } // төгсгөлийн шилжүүлэгч} void set_servo_angles (int pos2, int pos3) {myservo2.write (pos2); myservo3. бичих (pos3); // Servo байрлал бэлэн байна - товчлуурын бодит даралтыг гүйцэтгэнэ: саатал (500); myservo1.write (60); // доошлох саатал (500); myservo1.write (140); // дээшлэх саатал (500); } void loop () {Blynk.run (); }
Алхам 6: Ирээдүйн алхамууд
Видео виджет - Blynk апп руу шууд видео, аудио дамжуулалт (аль хэдийн туршиж үзсэн - ажиллаж байгаа)
Webhook виджет - үүлнээс хүссэн жагсаалтаар татаж авах жагсаалт (аль хэдийн шалгагдсан - ажиллаж байгаа)
Хүснэгтийн виджет - виджетийн зарим жижиг сайжруулалтыг хүлээж авах боломжтой (Blynk хөгжүүлэгчдэд санал илгээсэн болно)
Зөвлөмж болгож буй:
(ШИНЭЧЛЭХ - ХЯЛБАР АСУУДАЛ БАЙНА) PC тоглоомын USB тоглоомын хянагч: 10 алхам (зурагтай)

(ШИНЭЧЛЭХ - ХЯЛБАР АСУУДАЛ БАЙНА) USB тоглоомын хянагч PC
S.H.I.E.L.D - Хэн нэгэн чамайг харж байна уу ?: 4 алхам (зурагтай)

S.H.I.E.L.D - Хэн нэгэн чамайг харж байна уу ?: Би микрофон, камер нь асаалттай байгааг анзаараагүй байхад ичсэн хүмүүсийн бичлэгийг маш их үзсэн нь надад энэ төслийн санааг өгсөн юм. Би C# дээр камер эсвэл микрофон ашиглаж байгааг илрүүлдэг энгийн програм бичсэн
LED болон AT Tiny -ийг ашиглан анивчсан од үүсгэхийн тулд "Гялалзах, гялалзах, бяцхан од" дүрд тоглож буй пьезо ашиглан 6 алхам

LED болон AT Tiny -ийг ашиглан "Гялалзах, гялалзах, бяцхан од" тоглуулах замаар анивчсан од бүтээх: Энэ хэлхээ нь LED, AT TINY болон piezo -ийг ашиглан анивчсан од, & Twinkle, Twinkle, little star " Дараагийн алхамыг болон хэлхээний тоймыг үзнэ үү
Steampunk Pi Jukebox Google Music ажиллуулж байна: 11 алхам (зурагтай)

Steampunk Pi Jukebox Google Music ажиллуулж байна: АНХААРУУЛГА !! Хэрэв та ижил төстэй төсөл хэрэгжүүлэх гэж оролдвол хуучин радиогоор асбесттой уулзах боломжтой гэдгийг ойлгох хэрэгтэй, гэхдээ ямар нэгэн дулаан хамгаалалт эсвэл тусгаарлагчаар хязгаарлагдахгүй. Та бүхэн өөрсдөө судалгаа хийж, урьдчилан сэргийлэх арга хэмжээ авна уу. Би
Skittlespider A.T.S Aka "The Contraption" програмын тусламжтайгаар NES -ээс Xbox хүртэл юу ч тоглож болно: 11 алхам (зурагтай)

Skitlespider A.T.S -ийн тусламжтайгаар NES -ээс Xbox хүртэл бүх зүйлийг тоглуул: "Энэхүү зааварчилгаа нь" Contraption " гэж нэрлэгддэг Skittlespider A.T.S (All Together System) -д зориулагдсан болно. Энэхүү төсөл нь миний бодож байснаас хамаагүй хэцүү болсон. Цөөн хэдэн аргаар энэ нь илүү хялбар байсан тул энэ нь ерөнхийдөө хэцүү эсвэл хялбар төсөл байсан гэж би хэлж чадахгүй байна