ዝርዝር ሁኔታ:

የሌጎ ሚኒ ትውስታ ጨዋታ 5 ደረጃዎች (ከስዕሎች ጋር)
የሌጎ ሚኒ ትውስታ ጨዋታ 5 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: የሌጎ ሚኒ ትውስታ ጨዋታ 5 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: የሌጎ ሚኒ ትውስታ ጨዋታ 5 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: ይህን ሳታዩ ማሽን እንዳትገዙ የዜይት ፋብሪካ በ 20% የማሽኑ ዋጋ መጀመር እንችላለን። 2024, ታህሳስ
Anonim
Image
Image
የሌጎ ሚኒ ትውስታ ጨዋታ
የሌጎ ሚኒ ትውስታ ጨዋታ

ከአንድ ዓመት ወይም ከዚያ በፊት ፣ በሊጎ ሚኒ ኩፐር ውስጥ ብዙ የ LEDs ን ስለመጫን አንድ አስተማሪ ጽፌ ነበር። ፈጠራው ፣ እንደነበረው ፣ ኤልኢዲዎች በስማርትፎን (ወይም በማንኛውም የድር አሳሽ በኩል ፣ ለዚያ ጉዳይ) መቆጣጠር መቻላቸው ነበር።

በዚያ አስተማሪው ውስጥ በትጋት እንደገለጽኩት ፣ ያ አብዛኛው ጥረቱ በዚያን ጊዜ ሁሉም ነገር ሳይፈርስ ሚኒን ከማገናኘት ጋር ይዛመዳል። የሚገርመኝ ነገር ቢኖር ሚኒ ከዚያ በኋላ ከኮነቲከት ወደ ቶሮንቶ ከተደረገ ጉዞ በሕይወት ተርፎ ከዚያን ጊዜ በበለጠ ወይም ባነሰ ጊዜ ሰርቷል።

“ካልተሰበረ ፣ እሱ እስኪሆን ድረስ አስተካከለው” የእኔ ምርጥ ምሳሌ ይሆናል ፣ ስለዚህ ሚኒ ለገና ወደ ቤት ሲመለስ ፣ ለሊጎ ሚኒ 2.0 ጊዜው ነበር። ለነገሩ ቴስላ የሶፍትዌር ዝማኔዎችን ወደ መኪናዎቹ መግፋት ከቻለ ምን ያህል ከባድ ሊሆን ይችላል?

ጥቂት ሀሳቦች ነበሩኝ -

  • በጣም ግራ የሚያጋባውን የተጠቃሚ በይነገጽ ያሻሽሉ
  • ቀንድ ጨምር!
  • የ "ራስ -ሰር መብራቶችን" ባህሪን ያሻሽሉ; እና ፣ በጣም አስፈላጊ
  • የጨዋታ ተግባር ያክሉ (እኔ እንኳን የ mini መብራቶችን በስልክዎ ማብራት እና ማጥፋት አዲስ ነገር ፈጥኖም ይሁን ዘግይቶ እንደሚጠፋ ተገነዘብኩ)

የጨዋታው ተግባር ትልቁ ተግባር ነበር ፣ ምክንያቱም ቢያንስ ምን ዓይነት ጨዋታ ሊሆን እንደሚችል ለእኔ ግልፅ ስላልሆነ። የሚኒስቴሩ አያያዝን የሚመለከት ጨዋታን ለማቆየት በጣም ደካማ ነው (ምናልባትም የጄንጋ ተስፋ አስቆራጭ ተለዋጭ ካልሆነ በስተቀር)። ሌላው እንቅፋት በሕይወቴ ውስጥ አንድ ጨዋታ ፕሮግራም አላወጣሁም ነበር።

ከአንድ ዓመት ፍሬ አልባ የማሰላሰል በኋላ ፣ እኔ በ ‹ሃስተር› ፕሮጀክት ላይ ተሰናከልኩ ፣ በዚህ ውስጥ አርዱዲኖ ኡኖ ከ 1970 ዎቹ ጀምሮ ስምዖን ተብሎ የሚጠራውን የማስታወሻ ጨዋታ መጫወቻ ለመኮረጅ ያገለግላል። በአጭሩ ፣ የስምዖን መሣሪያ ተጫዋቹ ከዚያ በኋላ አዝራሮችን በመጫን ሊያስታውሰው እና መልሶ መጫወት ያለበትን የመብራት ቅደም ተከተል ተጫውቷል። ከእያንዳንዱ ስኬታማ ዙር በኋላ ቅደም ተከተሉ በርዝመት ጨምሯል።

ምንም እንኳን አስፈላጊው የወይን ተክል ቢሆንም ፣ ይህንን ጨዋታ በጭራሽ አልሰማሁም ፣ እና በቀኑ ውስጥ ለመዝናኛ የተላለፈው አስገራሚ ነው ማለት አለብኝ። ይበልጥ የሚያስደንቀው ደግሞ የስምዖን ጨዋታ አሁንም በሽያጭ ላይ ነው ፣ እና አስደሳች ግምገማዎችን በአማዞን ላይ። በግልጽ ለማየት እንደሚቻለው ፣ ይህ ለዓላማዬ ለማመቻቸት ዋናው እጩ መሆን ነበረበት። ከሁሉም በኋላ ሚኒው ቀድሞውኑ መብራቶች ነበሩት ፣ ስለዚህ እኔ ማድረግ ያለብኝ አካላዊ ቁልፎችን ማቃለል እና በስማርትፎን በኩል የተጠቃሚ ግብዓት ማቅረብ ብቻ ነበር። በሶፍትዌሩ በኩል ፣ ስለዚህ ፣ ይህ በአጭሩ የመቁረጥ እና የመለጠፍ ሥራ ይመስላል።

ግን በመጀመሪያ ፣ በሃርድዌር ላይ አንዳንድ ጥቃቅን ለውጦችን ማድረግ ነበረብኝ።

ደረጃ 1: አካላት ፣ መሣሪያዎች እና ሀብቶች

አካላት ፣ መሣሪያዎች እና ሀብቶች
አካላት ፣ መሣሪያዎች እና ሀብቶች

ይህንን ፕሮጀክት በሊጎ ሚኒ የሚደግሙት ከሆነ ፣ በቀድሞው አስተማሪዬ ውስጥ የተዘረዘሩትን ነገሮች ሁሉ ያስፈልግዎታል። እርስዎ የሚፈልጓቸው ብቸኛው ተጨማሪ ነገር ቀንድ አውጣ እና በጨዋታው ጊዜ የሚያሰቃዩ ድምፆችን (አካል ጉዳተኛ ሊሆን ይችላል) የሚያገለግል ተገብሮ ጫጫታ ነው።

ሶፍትዌሩን በሚወያዩበት ጊዜ ግልፅ እንደሚሆን ፣ ለጨዋታው ሌጎ ሚኒን መጠቀም እውነተኛ ፍላጎት የለም። ከማንኛውም የ ESP8266 ልማት ቦርድ ጋር በተገናኘ የዳቦ ሰሌዳ ላይ ሌላ የሌጎ ኪት ፣ ወይም በእርግጥ የኤልዲዎች ስብስብ መጠቀም ይችላሉ። በአንዳንድ ቅብብሎች ፣ የቤትዎን ክፍል መብራት እንኳን መጠቀም ይችላሉ። ልጆች ፣ ግን በዚያ ላይ በመጀመሪያ ወላጆቻችሁን ጠይቁ።

በተመሳሳይ ፣ ለዋናው ፕሮጀክት ከተዘረዘሩት ውጭ ምንም ተጨማሪ መሣሪያዎች ወይም ሀብቶች አያስፈልጉም።

እርስዎ የመጀመሪያውን የፕሮጀክት መግለጫን ከሚያነቡ ጥቂት ሰዎች መካከል ከሆኑ ፣ ሊጎ ሚኒ በመጀመሪያ አንድ ዓይነት “እውነተኛ” ሚኒ ላለው ወይም ለገመቱ ተመሳሳይ ለሆነችው ለጎለመሰው ልጄ እንደ ስጦታ እንደ ተገዛ ያውቃሉ። ሊሰጥ ይችላል አዲስ ሚኒ ነው ፣ “ክላሲክ” አይደለም። ምንም ትርጉም ያለው ተጨማሪ አካላት አለመኖር አንድ ሳንቲም እንኳን ሳያስወጣ ሌጎ ሚኒ 2.0 ን እንደ አዲስ የገና ስጦታ በብቃት እንድሰጥ ስለሚያስችል ይህ አዲስ ፕሮጀክት ይበልጥ ማራኪ እንዲሆን አድርጎታል። ጎበዝ!

ደረጃ 2 የሃርድዌር ማሻሻያ

የሃርድዌር ለውጥ
የሃርድዌር ለውጥ

የመጀመሪያው ፕሮጀክት በግለሰብ ቁጥጥር የሚደረግበት የ RGB የውስጥ LEDs ነበረው። እነዚህ እንደ ልማት ቦርድ እየተጠቀምኩበት በኖድኤምሲዩ ላይ ሶስት ፒኖችን ተጠቀሙ። ከሊጎ ሚኒ ባለቤት ጋር ልዩ ምክክር ከተደረገ በኋላ ፣ የ RGB ኤልኢዲዎች ጥቅም ላይ ያልዋሉ ባህሪዎች እንደሆኑ ተወስኗል። ለ buzzer/ቀንድ አንድ ሚስማር ማስለቀቅ ስላለብኝ ይህ አስፈላጊ የማሰብ ችሎታ ነበር።

ከላይ ያለው የወረዳ ዲያግራም ከመጀመሪያው ፕሮጀክት ነው። ለዚህ ፕሮጀክት የሚያስፈልገው ብቸኛው ለውጥ የ RGB LEDs ን ማስወገድ እና ሦስቱን ነፃ የነፃ ፒኖችን እንደሚከተለው መጠቀም ነበር።

  • D1 ለ buzzer መቆጣጠሪያ ምልክት (እሱም በቀጥታ ወደ 5VDC የኃይል አቅርቦት የተገናኘ)
  • D7 ለነጭ የውስጥ LED
  • “ዲስኮ” ብርሃን ብዬ ለጠራሁት ለእነዚህ ብልጭ ድርግም የሚሉ ባለቀለም LEDS አንዱ

ጩኸቱ ራሱ በሞተር ክፍሉ ስር በጥሩ ሁኔታ ይርቃል ስለዚህ ሽቦዎቹን ወደ ኖድኤምሲዩ መልሶ ማሄድ ፈጣን ነበር።

ደረጃ 3 GUI ን በማዘመን ላይ

GUI ን በማዘመን ላይ
GUI ን በማዘመን ላይ
GUI ን በማዘመን ላይ
GUI ን በማዘመን ላይ
GUI ን በማዘመን ላይ
GUI ን በማዘመን ላይ

GUI ን ለማዘመን የመጀመሪያው እርምጃ አራት የተለያዩ የድር ገጾችን መፍጠር ነበር።

  • በስማርትፎንዎ ላይ በብጁ አዶ በኩል የሚጀምር እና ወደ ሌሎች ገጾች የሚያገናኝ “የሚረጭ ማያ ገጽ”
  • መብራቶቹን የሚቆጣጠረው “መቆጣጠሪያዎች” ገጽ (እና አሁን ፣ በእርግጥ ፣ ቀንድ)
  • “ጨዋታ” ገጽ
  • እንደ የውቅር አማራጮችን የያዘ የማዋቀር ገጽ-

    • ድምጹን ማብራት እና ማጥፋት
    • የሰዓት ሰቅን ማቀናበር (ሚኒ ከበይነመረቡ ጊዜን ያገኛል ስለዚህ መብራቱን በተገቢው ሰዓት በሰዓቱ ማብራት ይችላል)
    • በአከባቢው የብርሃን ደረጃ ላይ በመመስረት “አውቶማቲክ መብራቶች” የፊት መብራቶቹን ሲያበሩ እና ሲያጠፉ ማስተካከል
    • የከፍተኛ ውጤት እና ባለከፍተኛ ውጤት ስም ዳግም ማስጀመር (በ EEPROM ውስጥ ተከማችቷል)

በዚህ መንገድ ተግባሮቹን መለየት የበለጠ የመተግበሪያ መሰል ተሞክሮ ያስገኛል። NodeMCU ን ብዙ ገጾችን እንዲያገለግል ማግኘት ለዚህ ፕሮጀክት ተግዳሮቶች አንዱ ነበር። ሁለት የተለያዩ አቀራረቦችን ከሞከርኩ በኋላ በዋናው የአርዱዲኖ ንድፍ 232 እስከ 236 ባለው መስመር ውስጥ የሚያዩትን ኮድ አገኘሁ። ይህ በጣም ጥሩ ይሰራል - በቀላሉ የመረጃ ጠቋሚ ፋይልዎን ይፍጠሩ ከዚያ ቀጣይ ገጾችን ገጽ 1 ፣ ገጽ 2 ወዘተ ይሰይሙ። ሁሉንም የመረጃ ሀብቶች (ሲኤስኤስ እና ምስሎች) በስር ውሂብ አቃፊው ውስጥ ማስገባት እንዳለብኝ አገኘሁ ፣ ግን ይህ በእርግጥ ለጣቢያዎች ጉዳይ አይደለም። ይህ መጠን።

በመቀጠል ፣ የሌጎ ሚኒ ንብረት የሆነ ነገር ለመሥራት ከሲኤስኤስ እና ከጃቫስክሪፕት ጋር መሥራት ነበረብኝ። ከሁለቱም ርዕሰ ጉዳዮች ቀጥሎ ምንም ስለማላውቅ ደስተኛ የሆነ ነገር ከማግኘቴ በፊት እዚህ ብዙ ጉግሊንግ ነበር። እዚህ በኮዴፔን ላይ የሲኤስኤስ ቅጥ ያለው የሊጎ ጡብ በማፍራት ጀምሬያለሁ። እንዲሁም ቁልፎቹን በጽሑፍ ከመሰየም እና ለዓላማዬ ፍጹም ከሆኑ ከ Icons8 ቀላል ግራፊክስን በመጠቀም ለማቆም ፈለግሁ። የተቀረው ዓይነት ከዚያ በቦታው ወደቀ። ገጾቹ እኔ በሞከርኳቸው በሁሉም iPhones ላይ በጥሩ ሁኔታ ይሰጣሉ። ለ Android ስልኮችም ተመሳሳይ ነው ብለን ተስፋ እናደርጋለን (በዴስክቶፕ የ Chrome አሳሽ ላይ ጥሩ ይመስላል)።

ደረጃ 4 - የጨዋታ ኮድ

የጨዋታ ኮድ
የጨዋታ ኮድ

በ NodeMCU አገልጋይ እና በስማርትፎን አሳሽ መካከል መግባባት በዌብሶኬቶች በኩል ነው። አንድ አዝራር በተጠቃሚው ከተጫነ በኋላ ፣ አሳሹ ከአንድ ወይም ከዚያ በላይ ከሚኒ መብራቶች ጋር ለሚዛመድ NodeMCU የጽሑፍ ቁምፊ ይልካል። የጨዋታውን ፍሰት ለመቆጣጠር ተጨማሪ ቁምፊዎች ይላካሉ። ከዚያ የአርዱዲኖ ኮድ በተቀበለው ገጸ -ባህሪ ላይ በመመርኮዝ እርምጃ ይወስዳል። የዌብሶኬት ግንኙነት የሁለትዮሽ እና የጽሑፍ ቁምፊዎችን ብቻ ማስተናገድ ይችላል ስለዚህ አንዳንድ መለወጥ ለ ኢንቲጀሮች (ለምሳሌ የጊዜ ሰቅ) ያስፈልጋል።

እኔ እንደጠቀስኩት ፣ መጀመሪያ ከተገናኘው የ “Hackster” ፕሮጀክት ኮዱን ለዋና የጨዋታ ተግባራት መጠቀሙን እጠብቅ ነበር። እኔ ያሰብኩት ይሆናል ፣ አንድ ተጫዋች አንድ ቁልፍን ከተጫነ በኋላ ተጓዳኙ ኤልኢዲ መብራቱ እና ኮዱ ዲ ኤን ኤል በሁሉም መብራቶች ላይ ማድረግ ትክክለኛው መብራቱን (የ Hackster ፕሮጀክት የአካላዊ ቁልፍ ግቤቶችን ይፈትሻል ግን እሱ ተመሳሳይ ሀሳብ ነው)። ይህ ሰርቷል ፣ ዓይነት ፣ ግን አሁንም ለእኔ ግልፅ ባልሆኑ ምክንያቶች ፣ ፍጹም አይደለም። በእውነቱ ፣ ትክክለኛው በሚሆንበት ጊዜ ሚኒው የተሳሳተ አዝራር ተጭኖ ነበር ከሚለው ጊዜ 10% ገደማ። በተከታታይ ማሳያ እና በአሳሽ ኮንሶል ውስጥ ባየሁት ላይ በመመስረት ሁሉም ነገር ደህና ይመስላል ፣ ስለዚህ ለምን እንዳልሰራ አላውቅም።

አንዳንድ የስህተት ምርመራን ለማስተዋወቅ በመሞከር ብዙ ውድቀቶችን ከጨረስኩ በኋላ የ LED ግዛቶችን የማንበብ ሀሳቡን ሙሉ በሙሉ ተወው እና የዌብሶኬት ጽሑፍ የተቀበለው በ “ቅደም ተከተል” ድርድር ውስጥ ከተቀመጠው ትክክለኛ ፒን ጋር የሚዛመድ መሆኑን የሚፈትሽ “መልስ” ድርድር ፈጠርኩ። ለማስታወስ የብርሃን ቅደም ተከተል ይጫወታል። እኔ የተተገበርኩበት መንገድ ትንሽ ተንኮል ቢሆንም ይህ 100% አስተማማኝ ይመስላል። ይህንን ዘዴ ካመጣሁ በኋላ ፣ በዚህ ላይ ተከሰተሁ ፣ ይህም አንዳንድ ዲጂታል መቆለፊያዎች የሚሰሩበት መንገድ እና በጨዋታው ውስጥ ከተጠቀመበት አቀራረብ ጋር የሚመሳሰል አስደሳች ፍለጋ ነው።

የአዝራር ግብዓቶች ጊዜ አሁን በአሳሹ በኩል በጃቫስክሪፕት ተይ (ል (በአዝራር ግብዓቶች መካከል በጣም ለጋስ 10 ሰከንዶች እፈቅዳለሁ) እና የጨዋታው ፍሰት አሁን ከከባድ ኮድ ይልቅ ሙሉ በሙሉ በአጫዋቹ ቁጥጥር ስር ነው። ማሳያው ቀጣዩን አዝራር ለመጫን የቀረውን ጊዜ የሚያሳዩ መስኮቶችን እና ቅደም ተከተሉን በትክክል በአጫዋቹ ከማስረከቡ በፊት የቀሩትን የግብዓት ብዛት ያካትታል።

ከፍተኛ ውጤት በ EEPROM ውስጥ ተከማችቷል (ወይም በ ESP8266 ዓለም ውስጥ ለ EEPROM የሚያልፈው) እና አንድ ተጫዋች አዲስ ከፍተኛ ውጤት ቢመታ ብቅ ባይ ሳጥን የመረጣቸውን ስም እንዲያስገቡ ያስችላቸዋል ፣ ይህም በ EEPROM ውስጥም ተከማችቷል። እነዚህ እሴቶች በቅንብር ገጽ በኩል ዳግም ሊጀመሩ ይችላሉ (ለዚህ ሕጋዊ ምክንያቶች ሊኖሩ እንደሚችሉ እርግጠኛ ነኝ)።

በተናገረው ሁሉ ፣ ነገሮችን በፍጥነት የሚያፋጥነውን የ “Hackster” ጨዋታ ኮድ ጥሩ ቁራጭ እንደገና ተጠቀምኩ።

ደረጃ 5 የቀሪው ኮድ

የቀረው ኮድ
የቀረው ኮድ

ከ Hackster የፕሮጀክት ኮድ ጋር ሲነጻጸር ፣ የእኔ የአርዱዲኖ ንድፍ ምንም እንኳን ሁሉም ኤችቲኤምኤል ፣ ሲኤስኤስ እና ጃቫስክሪፕት በመረጃ ፋይሎች ውስጥ ባይኖሩም በጣም ግዙፍ ይመስላል። ነገር ግን የስዕሉ አብዛኛው እንደ አገልጋዩን መፍጠር እና ማቀናበር ፣ የ NTP ጊዜን ፣ ኤምዲኤንኤስን ፣ ከአየር በላይ ማዘመንን ፣ የ WiFi አስተዳደርን ፣ የ SPIFFS ፋይል አስተዳደርን እና የመሳሰሉትን ከመሰረታዊ ሥራዎች ጋር የሚዛመዱ በርካታ ተግባራት ናቸው።

በኤችቲኤምኤል ፋይሎች ውስጥ ያለው ጃቫስክሪፕት በዋነኝነት የዌብሶኬት መልእክቶችን (የተቀበሉትን እና የተላኩትን) ለማስተናገድ እና የ GUI መስተጋብራዊነትን ለማሳደግ ነው።

እኔ እንደጠቀስኩት የአካባቢ ብርሃንን ለመለየት እና የቅድመ -ደረጃ ደረጃ (በጨዋታ ሞድ ውስጥ በማይሆንበት ጊዜ) የ Mini መብራቶችን ለማብራት በኖድኤምሲዩ ብቸኛ የአናሎግ ፒን ላይ የብርሃን ጥገኛ ተከላካይ የሚጠቀምበትን “ራስ -ሰር መብራቶች” ባህሪን ማሻሻል እፈልግ ነበር።, እንዴ በእርግጠኝነት). ይህ በአሳዛኝ ፕሮጀክት ውስጥ በጣም ያልተለመደ ባህሪ ቢሆንም ፣ በመጀመሪያው ፕሮጀክት ውስጥ የመዞሪያ ገደቡን ጠንከር ያለ ኮድ መስጠቴ እና አንድ ተጠቃሚ አሁን ያለው የብርሃን ደረጃ ከዚያ ደፍ ጋር እንዴት እንደሚዛመድ የማየት መንገድ እንደሌለው አስጨነቀኝ። አሁን የብርሃን ደረጃ ንባብ በየአምስት ሰከንዶች ወደ ቅንብር ገጽ ይላካል እና ያ ገጽ እንዲሁ ለማብራት እና ለማጥፋት የአሁኑን ገደቦች ያሳያል (በተጠቃሚው ሊዋቀር ይችላል)። ስለዚህ ሥራ በዚያ ላይ ተሠርቷል።

ኦህ ፣ ረስተዋል ማለት ይቻላል። ኮዱ እዚህ GitHub ላይ ነው። ካወረዱ በኋላ መላውን ጥቅል በአዲስ አቃፊ ውስጥ ያስገቡ ፣ የአርዱዲኖ ንድፍን ፣ ከዚያ የውሂብ አቃፊውን ይዘቶች ወደ SPIFFS ይስቀሉ።

የሚመከር: