ዝርዝር ሁኔታ:

PlotClock ፣ WeMos እና Blynk ቪንቴጅ ኤኤምአይ Jukebox ን ይጫወታሉ -6 ደረጃዎች (ከስዕሎች ጋር)
PlotClock ፣ WeMos እና Blynk ቪንቴጅ ኤኤምአይ Jukebox ን ይጫወታሉ -6 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: PlotClock ፣ WeMos እና Blynk ቪንቴጅ ኤኤምአይ Jukebox ን ይጫወታሉ -6 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: PlotClock ፣ WeMos እና Blynk ቪንቴጅ ኤኤምአይ Jukebox ን ይጫወታሉ -6 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: Remote Robot finger playing Vintage AMI Jukebox 2024, ሀምሌ
Anonim
PlotClock ፣ WeMos እና Blynk Vintage AMI Jukebox ን በመጫወት ላይ
PlotClock ፣ WeMos እና Blynk Vintage AMI Jukebox ን በመጫወት ላይ
PlotClock ፣ WeMos እና Blynk Vintage AMI Jukebox ን በመጫወት ላይ
PlotClock ፣ WeMos እና Blynk Vintage AMI Jukebox ን በመጫወት ላይ

አራት ቴክኒካዊ ፈጠራዎች ይህንን ፕሮጀክት እንዲቻል አደረጉ - የ 1977 Rowe AMI Jukebox ፣ PlotClock ሮቦት ክንድ ኪት ፣ WeMos/ESP 8266 ማይክሮ መቆጣጠሪያ እና ብሊንክ አፕ/የደመና አገልግሎት።

ማሳሰቢያ - ጁኬቦክስ በእጅዎ ከሌለዎት - ማንበብዎን አያቁሙ! በሰው ልጅ ጣቶች ቁጥጥር ስር ያሉ የተለያዩ ነገሮችን ለመቆጣጠር ይህ ፕሮጀክት በቀላሉ ተቀባይነት ሊኖረው ይችላል። አንድ ምሳሌ ባህላዊ Xylophone ን የሚጫወት የሮቦት ጣት ሊሆን ይችላል - ምናልባት ያ አስተማሪ ከእርስዎ ይመጣል!

የ 40 ዓመቴ ሮው ኤኤምአይ አር -81 ጁኬቦክስ አሁንም ከ 60 ዎቹ ፣ ከ 70 ዎቹ እና ከ 80 ዎቹ ጀምሮ የመጫወቻ ቪኒል ነጠላዎችን በጥሩ ሁኔታ በመጫወት ላይ ይገኛል። ክብደቱ ከ 160 ኪ.ግ (360 ፓውንድ) ይህ ተጫዋች እንደ ዘመናዊ የኤምፒ-ተጫዋቾች ያህል ተንቀሳቃሽ አይደለም ፣ ግን በበይነመረብ ዘመን ውስጥ መኖር ፣ አሁን በኪስዎ ውስጥ የጁኬቦክስ እና 200 የቪኒዬል መዝገቦችን መያዝ ይቻላል-በእርግጥ! እና በማይክሮ መቆጣጠሪያ ውስጥ የተከማቹ የእራስዎን የአጫዋች ዝርዝሮች እንኳን መጠቀም ይችላሉ!

አስገራሚ PlotClock ሮቦት በመሰረቱ ሰሌዳ ላይ የጊዜ አሃዞችን በመሳል የአሁኑን ጊዜ ለማሳየት የተነደፈ ነው። ለ PlotClock የእኔ መላመድ የጁክቦክስ ዘፈን ምርጫ ቁልፎችን ለመጫን እንደ ሮቦት ጣት አድርጎ መጠቀም ነው።

የ “ሴራ ሰዓት” ጣት በ WeMos ማይክሮ መቆጣጠሪያ በሚቆጣጠረው በ 3 ሰርዶዎች ይነዳ። ይህ አስደናቂ ነገር (ማለት ይቻላል) አርዱዲኖ ኡኖ ተኳሃኝ እና የ WiFi ችሎታዎች አሉት ፣ ስለሆነም ከየትኛውም የዓለም ክፍል ጁኬቦድን በገመድ መቆጣጠር ይቻላል።

በኬኩ ላይ ያለው ክሬም ብላይንክ መተግበሪያን ለመጠቀም በሚያስደንቅ ሁኔታ እና በብላይንክ ደመና አገልጋዩ ሙሉ ተንቀሳቃሽነት ያለው ጥሩ የሞባይል ስልክ/ጡባዊ ተጠቃሚ በይነገጽን ይሰጣል።

ደረጃ 1 - ሃርድዌር

ሃርድዌር
ሃርድዌር
ሃርድዌር
ሃርድዌር

ጁክቦክስ

የፕሮጀክት ጁክቦክስ 1977 ሮው ኤኤምአይ R-81 ነው። የመምረጫ አዝራሮች ያሉት ማንኛውም የድሮ ጁኬቦክስ ያደርጋል - በ PlotClock ጥቂት ገደቦችን በመጥቀስ - የ PlotClock የመጀመሪያው የጦር መሣሪያ ንድፍ 5 x 12 ሴ.ሜ አካባቢን ሊሸፍን ይችላል ስለዚህ የጁኬቦክ አዝራር አቀማመጥ (ሁሉንም የምርጫ ቁልፎች ጨምሮ) ስለዚያ መጠን መሆን አለበት። የድሮ ጁክቦክስ ቁልፎች PlotClock servos ከሚሰጡት የበለጠ የመግፋት ኃይል ሊፈልጉ ይችላሉ።

ኤኤምአይ R-81 ሁሉንም 200 ምርጫዎች የሚያከማችበት ማህደረ ትውስታ አለው። ምርጫዎች የሚጫወቱት በተመረጡት ቅደም ተከተል ላይ ሳይሆን በመዝገብ መጽሔት (የካሮሴል ዓይነት) ውስጥ በተከማቹበት ቅደም ተከተል መሠረት ነው። ለአንድ መዝገብ ብዙ ምርጫዎች አንድ ጊዜ ብቻ ይጫወታሉ።

PlotClock

ሴራ ሰዓት ሜካኒካዊ ክፍሎችን ፣ 3 ሰርዶዎችን ፣ አርዱዲኖ ኡኖ አር 3 ፣ አርዱዲኖ ኤክስቴንሽን ቦርድ እና የዩኤስቢ ገመድ ጨምሮ በንግድ የሚገኝ DIY ኪት ነው። ለ 30 ዶላር ያህል ይህ ጥሩ ግዢ ነው (ለምሳሌ Banggood.com)። አርዱዲኖ ፣ የኤክስቴንሽን ቦርድ እና የዩኤስቢ ገመድ ለዚህ ፕሮጀክት ጥቅም ላይ አይውሉም።

Plotclock ን ለማቀናጀት በርካታ ጥሩ የበይነመረብ/የ YouTube ትምህርቶች አሉ - ለምሳሌ። ይህ PlotClock መመሪያዎች

static1.squarespace.com/static/52cb189ee4b012ff9269fa8e/t/5526946be4b0ed8e0b3cd296/1428591723698/plotclock_final_instructions.pdf

ዌሞስ

WeMos D1 R2 በ ESP8266 ላይ የተመሠረተ ማይክሮ መቆጣጠሪያ ነው። አርዱዲኖ አይዲኢን በመጠቀም ፕሮግራም ሊደረግ እና የ WiFi ችሎታዎች ስላለው ለዚህ ፕሮጀክት ፍጹም የሆነ የሃርድዌር አካል ነው።

ደረጃ 2 - መለካት

መለካት
መለካት

መለካት ለምርጫ ቁልፎች አካላዊ ቦታዎችን ለማዛመድ ለ servo angles (ከ 0 እስከ 180 ዲግሪዎች) ትክክለኛ የማዕዘን እሴቶችን የማግኘት ተግባር ነው። የማዕዘን እሴቶች በ trigonometry arithemitics ወይም CAD ሶፍትዌር በመጠቀም ሊገኙ ይችላሉ። የ AutoCad ን አጠቃቀም ከሚያውቅ ጓደኛዬ ግምታዊ እሴቶችን አግኝቻለሁ።

ሆኖም ፣ የመጨረሻው መመዘኛ በሙከራ እና በስህተት መደረግ ነበረበት። በወረቀት ላይ የተቀረፀውን የአዝራር አቀማመጥ በመጠቀም ትክክለኛውን የማዕዘን እሴቶችን ለማግኘት “የዴስክቶፕ ሙከራ” ማድረግ ይቻላል።

ደረጃ 3 - ስብሰባ

ስብሰባ
ስብሰባ
ስብሰባ
ስብሰባ
ስብሰባ
ስብሰባ
ስብሰባ
ስብሰባ

ሽቦ

ከ Plotclock servos እስከ Wemos ያለው ግንኙነት የሚከናወነው በ 5 ሽቦዎች +5 ፣ GND ፣ D4 ፣ D5 እና D6 ነው። ዝርዝሮችን በስዕሎች እና በኮድ ውስጥ ይመልከቱ።

በጁኬቦክስ ላይ በመጫን ላይ

ያለ ትልቅ ጉዳት ለረጅም ጊዜ በሕይወት ለኖረችው ለ 40 ዓመቱ ጁክቦክስ ምንም የመጠምዘዣ ቀዳዳዎችን ማድረግ አልፈልግም ነበር። ለስላሳ የጎማ ማሸጊያ ተጠቅሜ በጁኬክ ኮንሶል ስር አንድ የአሉሚኒየም ማእዘን ዝርዝርን አስተካከልኩ። የጎማ ማሸጊያ ጠባብ ጠባብ ያደርገዋል እና ምንም ምልክት ሳይተው ሊወገድ ይችላል። PlotClock አካል በ acrylic ሳህን ላይ እንዲገጣጠም ሁለት ትናንሽ የአሉሚኒየም ማዕዘኖችን ይፈልጋል። ከዚያ አክሬሊክስ ሳህኑ በአቀባዊ እና በአግድም የመጨረሻ ማስተካከያዎችን ለማድረግ ሁለት የፀደይ የተጫኑ ክሊፖችን በማእዘኑ ዝርዝር ላይ ይጫናል።

ደረጃ 4 ብሊንክ

ብሊንክ
ብሊንክ

ብሊንክ በርከት ያሉ የማይክሮ መቆጣጠሪያ ዓይነቶችን ለመቆጣጠር ነፃ መተግበሪያ ነው። በብሊንክ አማካኝነት ብዙ ዓይነት ንዑስ ፕሮግራሞችን በመጠቀም ጥሩ የተጠቃሚ በይነገጽ በቀላሉ መገንባት ይችላሉ። ለዚህ ፕሮጀክት የሚያስፈልገው አንድ መግብር ብቻ ነው - የሰንጠረዥ መግብር።

ደረጃ 5: ሶፍትዌር

ብሊንክ መተግበሪያ

በመተግበሪያው በኩል ምንም ኮድ የለም። በመተግበሪያው (ብሊንክ) እና በማይክሮ መቆጣጠሪያ (ዌሞስ) መካከል ያለው “ውይይት” የሚከናወነው በዋናነት በሁለቱ መካከል መረጃ ለመላክ እና ለመቀበል ሰርጦች በሆኑት “ምናባዊ ፒኖች” ነው። ምናባዊ ፒን ለምሳሌ የተመረጠውን ዘፈን የረድፍ ቁጥርን ከብሊንክ መተግበሪያ ወደ ዌሞስ ለመላክ የሚያገለግል ሲሆን ዌሞስ ቀሪውን ይይዛል ፣ ማለትም። ትዕዛዞችን ወደ Plotclock servos በመላክ ላይ።

የ WeMos ኮድ

/**************************************************************

የሠንጠረዥ መግብር በ V2 ************************************************** ****************/ #ገላጭ BLYNK_PRINT ተከታታይ #ያካተተ #ያካተተ #ጨምሮ char auth = "-የአንተ CODE--"; // Jukebox ፕሮጀክት char ssid = "-የእርስዎ SSID--"; ቻር ማለፊያ = "-የእርስዎ WIFI PASSWORD--"; int ሐ [50]; // ድርድር ለ Jukebox መዝገብ ቦታዎች (100-299) Servo myservo1; // Servo myservo2 ን ማንሳት; // የግራ ክንድ Servo myservo3; // የቀኝ ክንድ int pos1 = 0; int pos2 = 0; int pos3 = 0; int btn = 0; ባዶነት ማዋቀር () {myservo1.attach (2); // ሚስማር D4 ፣ ማንሳት myservo2.attach (14); // ፒን D5 ፣ ግራ myservo3.attach (12); // ሚስማር D6 ፣ ቀኝ myservo1. ጻፍ (140); myservo2. ጻፍ (90); myservo3. ጻፍ (90); Serial.begin (115200); ብሊንክ.ጀጊን (auth ፣ ssid ፣ pass); // በጅምር ላይ ወዲያውኑ ያሳውቁ // String msg = "Jukebox WeMos ከዚህ ጋር ተገናኝቷል"; // ብሊንክ. Nototify (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:"); Serial.print (cmd); int ምርጫ = c [param [1].asInt ()]; // የተመረጠው የረድፍ ቁጥር በጥቅሉ ውስጥ ነው [1] Serial.println ("\ nSelection:"); Serial.println (ምርጫ); የሂደት_ምርጫ (ምርጫ); } ባዶነት populateTable () {int i = 0; Serial.println ("ተወዳጅ ገበታ …"); Blynk.virtualWrite (V2 ፣ “አክል” ፣ 0 ፣ “የእኔ ሕፃን ሁን - የበላይዎቹ” ፣ 112); ሐ = 112; Blynk.virtualWrite (V2 ፣ “አክል” ፣ 1 ፣ “ቁጥር አንድ - ጄሪ ዊሊያምስ” ፣ 176); i ++; ሐ = 176; Blynk.virtualWrite (V2 ፣ “አክል” ፣ 2 ፣ “ሁሉም የእኔ አፍቃሪ - ቢትልስ” ፣ 184) i ++; ሐ = 184; Blynk.virtualWrite (V2 ፣ “አክል” ፣ 3 ፣ “በበጋ ወቅት - Mungo Jerry” ፣ 236); i ++; ሐ = 236; Blynk.virtualWrite (V2 ፣ “አክል” ፣ 4 ፣ “ጥቁር ደመና - ቹቢ ቼክ” ፣ 155); i ++; ሐ = 155; Blynk.virtualWrite (V2 ፣ “አክል” ፣ 5 ፣ “ማሚ ሰማያዊ - ፖፕ -ቶፕስ” ፣ 260); i ++; ሐ = 260; Blynk.virtualWrite (V2 ፣ “አክል” ፣ 6 ፣ “ደህና ይሆናል - ጌሪ እና ፓይሰከር” ፣ 145); i ++; ሐ = 145; Blynk.virtualWrite (V2 ፣ “አክል” ፣ 7 ፣ “የእኔ መንገድ - ቶም ጆንስ” ፣ 193); i ++; ሐ = 193; ብሊንክክ. i ++; ሐ = 149; Blynk.virtualWrite (V2 ፣ “አክል” ፣ 9 ፣ “The Twist - Chubby Checker” ፣ 169); i ++; ሐ = 169;

መዘግየት (1000);

} ባዶ ሂደት/ምርጫ (int ምርጫ) {// የ 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) ፤ // ዳግም አስጀምር አዝራር} // ሁሉም ሲዘገይ (የ 2000) የ servo ቦታዎችን ዳግም ያስጀምሩ ፣ myservo1. ጻፍ (140); myservo2. ጻፍ (90); myservo3.write (90);} ባዶ push_button (int btn) {// ይህ ለእያንዳንዱ ምርጫ 3 ጊዜ ተብሎ ይጠራል // እያንዳንዱ አዝራር ከተደረገ በኋላ (ትክክለኛው የአዝራር ግፊት)) ማብሪያ (ቢቲኤን) {{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 እረፍት; } // ማብሪያ ማብሪያ} ባዶ set_servo_angles (int pos2 ፣ int pos3) {myservo2.write (pos2); myservo3. ጻፍ (pos3); // የ Servo አቀማመጥ ዝግጁ ነው - ትክክለኛውን የአዝራር ግፊት ያከናውኑ -መዘግየት (500); myservo1. ጻፍ (60); // ወደ ታች መዘግየት (500); myservo1. ጻፍ (140); // እስከ መዘግየት (500); } ባዶነት loop () {Blynk.run (); }

ደረጃ 6 - የወደፊት እርምጃዎች

የቪዲዮ መግብር - የቀጥታ ቪዲዮ እና የኦዲዮ ዥረት ወደ ብሊንክ መተግበሪያ (ቀድሞውኑ ተፈትኗል - እየሰራ)

የድር መንጠቆ መግብር - አጫዋች ዝርዝር በፍላጎት ላይ ከደመና ማውረድ (አስቀድሞ ተፈትኗል - እየሰራ)

የሠንጠረዥ መግብር - ወደ መግብር አንዳንድ ትናንሽ ማሻሻያዎች እንኳን ደህና መጡ (ጥቆማዎች ለብሊንክ ገንቢዎች ተልከዋል)

የሚመከር: