ዝርዝር ሁኔታ:

PixelWall: 7 ደረጃዎች (ከስዕሎች ጋር)
PixelWall: 7 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: PixelWall: 7 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: PixelWall: 7 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: Keeping the Heart | John Flavel | Christian Audiobook 2024, መስከረም
Anonim
PixelWall
PixelWall

የፒክሰል-ጠረጴዛ ፕሮጀክት ያውቁታል? እንዲህ ዓይነቱን የፒክሴል ነገር የመገንዘብ ሀሳብ ነበረኝ ፣ ግን እንደ ጠረጴዛ ሳይሆን ፣ ግድግዳው ላይ ለማስቀመጥ።

ዘና እያልኩ ሶፋው ላይ ተኝቼ በላዩ ላይ አንዳንድ ጨዋታዎችን መጫወት እችል ዘንድ።:)

የተተገበሩ ጨዋታዎች -

  • ቴትሪስ
  • የጠፈር ወራሪዎች
  • እባብ
  • Pixel Draw

ተጨማሪ ተግባራት የሚከተሉት ናቸው

  • የአሁኑን ጊዜ ያሳዩ
  • የቀለም እነማዎችን ያሳዩ

PixelWall ESP8266 አለው ስለዚህ ከቤቴ- WLAN ጋር መገናኘት ይችላል። ግን PixelWall ን እንደ የመዳረሻ ነጥብ መጠቀም እና በቀጥታ ከእሱ ጋር መገናኘትም ይቻላል።

የእኔ PixelWall ን ለመጠቀም ቀላል ለማድረግ ፣ ግድግዳው ከተገናኘ በኋላ ለድር ጣቢያ ድርጣቢያ ይሰጣል። ሁሉም መተግበሪያዎች በድረ -ገጹ በኩል ሊቆጣጠሩ/ሊጫወቱ ይችላሉ። ስለዚህ ለአጠቃቀም ማንኛውንም ሶፍትዌር መጫን አስፈላጊ አይደለም።

በተጨማሪም ጨዋታዎችን መጫወት ቀላል የሚያደርግ የ NES መቆጣጠሪያ አለ።

ክፍት ምንጭ

በ github ላይ ያስቀመጥኳቸው ሁሉም ሶፍትዌሮች እና ሜካኒካል ስዕሎች - https://github.com/C3MA/PixelWallFeel ለራስዎ ፕሮጀክት ለመጠቀም ነፃ።

ደረጃ 1 ከኤሌክትሮኒክ ጀምሮ

በኤሌክትሮኒክስ መጀመር
በኤሌክትሮኒክስ መጀመር
በኤሌክትሮኒክስ መጀመር
በኤሌክትሮኒክስ መጀመር
በኤሌክትሮኒክስ መጀመር
በኤሌክትሮኒክስ መጀመር

ከሌላ ፕሮጀክት WS2812 LEDs ያለው ነባር ፒሲቢ አለ። ፒሲቢው በእያንዳንዱ ረድፍ 12 ኤልኢዲዎች ያሉት 3 ረድፎች አሉት።

ይህንን PCB 6 ጊዜ ለመጠቀም ወሰንኩ። ስለዚህ 12x18 LED ማትሪክስ አገኛለሁ።

የመጀመሪያው እርምጃ ሁሉንም 216 ኤልኢዲዎች ፣ በ 100 capacitors እና በ ESP8266 ዙሪያ መሸጥ ነበር።

በእጅ መሽጥ ለ 10 ሰዓታት ያህል ያስፈልጋል።

ከመጀመሪያው ፈጣን ሙከራ በኋላ ተገነዘበ - ሁሉም ነገር እየሰራ ነው።

ስለዚህ ወደ መካኒክ ክፍል መሄድ እንችላለን።

ደረጃ 2 - መካኒክን መፍጠር

መካኒክን መፍጠር
መካኒክን መፍጠር
መካኒክን መፍጠር
መካኒክን መፍጠር
መካኒክን መፍጠር
መካኒክን መፍጠር
መካኒክን መፍጠር
መካኒክን መፍጠር

በመጀመሪያ ለእያንዳንዱ ፒክሴል ሴፔራተር ያስፈልገናል። ሀሳቡ አግዳሚውን እና ቀጥታ ባንድን በ V-cut በኩል በአንድ ላይ ማስቀመጥ ነው።

እያንዳንዱ ባንድ የ 3 ሚሜ ውፍረት እና ቁመቱ 17 ሚሜ ነው። እነሱ ከኤችዲኤፍ ሰሃን በአሳዳጊ ተቆርጠዋል።

ለላስተር አጥቂው ሁሉም ስክሪፕቶች በ FreeCad (በጊቱብ ፕሮጀክት ሜካኒክ አቃፊ ውስጥ “ሌይስቴ” ተብሎ ተሰይሟል)

ፍርግርግ የተሰጠው በ PCB አቀማመጥ ነው። የ 28 ሚሜ አምድ ስፋት እና 31 ሚሜ ረድፍ ቁመት አለው።

ቀጣዩ ጥያቄ -በፒሲቢ ላይ ያሉትን ባንዶች እንዴት ማስተካከል እንደሚቻል? ማጣበቅ እንደዚህ ያለ ጥሩ ሀሳብ አይደለም ፣ ምክንያቱም አንድ ነገር ጉድለት ካለ መበተን መቻል አለበት። ስለዚህ ለማሾፍ ወሰንኩ። ነገር ግን አንድ ጠመዝማዛ የ 3 ሚሜ ቀጫጭን ባንድ ይከፋፈላል። ስለዚህ ለባንድ ኪስ በ 3 ዲ አታሚ ኪስ አተምኩ (ይህ በ github ፕሮጀክት ውስጥ “Halter” የተሰኘው ክፍል ነው)። በፒሲቢ ላይ እነሱን ለማስተካከል ይህ በጣም ጥሩ ሰርቷል።

ቀጣዩ ደረጃ ለእሱ ፍሬም ማግኘት ነው። የግለሰብ ስዕል ፍሬሞችን ለመቁረጥ የሚያቀርቡ አንዳንድ የመስመር ላይ ሱቆች አሉ። ስለዚህ መጠኑ 343 ሚሜ x 565 ሚሜ የሆነ ክፈፍ አዘዝኩ።

ክፈፉ ለኃይል አቅርቦቱ በታችኛው ጎን ተጨማሪ ቀዳዳ ያገኛል።

የ plexiglas የፊት ሰሌዳ እኔ በመስመር ላይም አዘዝኩ። እሱ WN770 ኦፓል Milchglasoptik LD45% መጠን 567x344x2 ሚሜ ነው

እሱ 45%ግልፅነት አለው።

ሁሉንም ክፍሎች ወደ ክፈፉ ውስጥ አንድ ላይ ማዋሃድ።

ሁሉም ነገር ተስተካክሎ እንዳይወድቅ በመጨረሻ አንዳንድ ቁርጥራጮችን ወደ ጀርባው ይዘጋሉ።

ያለ ምንም የ WLAN ግንኙነት ለፒክሰል ዎል ተግባራዊነት አማራጭ እንዲኖረኝ ፣ በፍሬም በቀኝ በኩል (በጊትቡብ ፕሮጀክት ውስጥ “ቤዲኒኢሄት” ተብሎ የሚጠራ) በአማራጭ ሊገባ የሚችል ተሰኪ የቁጥጥር ፓነል ፈጠርኩ።

ደረጃ 3 - ሶፍትዌር - መሠረታዊ ነገሮች

ሶፍትዌር - መሠረታዊ ነገሮች
ሶፍትዌር - መሠረታዊ ነገሮች

ከአጠቃቀም መያዣዎች አንዱ በ PixelWall ላይ ጨዋታዎችን መጫወት ነው።

ግን የፒክሰል ጨዋታን መጻፍ ሁል ጊዜ ጠቃሚ የማረም አከባቢ ይፈልጋል። ESP8266 መቆጣጠሪያን በተገቢው መንገድ ለማረም ምንም መንገድ አላውቅም። ስለዚህ በፒሲዬ ላይ ሙሉውን ኮድ ለማስመሰል ወሰንኩ። የ ESP ኮድ በአርዱዲኖ ሲ ++ ተፃፈ ፣ ስለዚህ በፒሲ ላይ ለማስመሰል የእይታ ስቱዲዮ ሲ ++/CLI ቋንቋን እጠቀም ነበር። በመደበኛ C ++ እና በ C ++/CLI ቋንቋ መካከል አንዳንድ ልዩነቶች አሉ። ለምሳሌ በ C ++/CLI ውስጥ የ String አይነት ነገር መፍጠር አይችሉም ፣ በቆሻሻ መሰብሰብ ምክንያት ለእንደዚህ ያለ ነገር አንድን ነገር ወይም ማጣቀሻ/ጠቋሚ መፍጠር አይፈቀድም። በ C ++/CLI ውስጥ እጀታዎችን መጠቀም አለብዎት -ሕብረቁምፊ^። ግን እንደዚህ ያሉ መያዣዎች በ C ++ ደረጃ ውስጥ አልነበሩም። ስለዚህ ሁለቱንም ዓለማት አንድ ላይ ለማምጣት ፈጠራ መሆን ነበረብኝ። እኔ ለማስመሰል የራሱን የ Arduino.h ፋይል በመፍጠር ይህንን ፈታሁት። ይህ ፋይል በማስመሰል ውስጥ ሁሉንም ሕብረቁምፊዎች በ “#ገላጭ ሕብረቁምፊ ሕብረቁምፊ def” ትርጓሜ በኩል ይሽራል። ይህ የተለመደ መንገድ አይደለም ፣ ግን እሱ ይሠራል) ከአንዳንድ አነስተኛ አጠናቃሪ ካልቀየረ በስተቀር ሁሉም የ ESP ኮድ በእይታ ስቱዲዮ ሲ ++/CLI ውስጥ ከመሰብሰብ በላይ ነው።

LED ማትሪክስ

እኔ የጻፍኩት የመጀመሪያው ክፍል የ LED- ማትሪክስ ክፍል ነው። ይህ ክፍል የ WS2812 LEDs ቁጥጥር እና ካርታ ይይዛል።

ይህ ክፍል ሁለት ጊዜ ተፃፈ -አንድ ጊዜ ለ ESP8266 ተቆጣጣሪ (LEDMatrixArduino.cpp) እና በማስመሰል ውስጥ በቅጹ GUI ላይ ቅርጾችን የሚቆጣጠር ሌላ (LEDMatrixGUI.cpp)።

ይህ ክፍል አንድን ኤልኢዲ በአምዱ እና ረድፉ ለማዋቀር እና ለማፅዳት አንዳንድ መሠረታዊ ዘዴዎችን ይሰጣል።

በተጨማሪም የ setBrightness ተግባርን ይሰጣል። ኤልዲ ከተዋቀረ ይህ እሴት ግምት ውስጥ ይገባል። ስለዚህ ሁሉም የ LED-set ትዕዛዞች በሙሉ ብሩህነት ሊከናወኑ ይችላሉ። ለምሳሌ - ብሩህነት ወደ 50% ከተዋቀረ እና setLed () ተግባሩ በ RGBColor (255 ፣ 255 ፣ 255) ከተጠራ LED ን ወደ 127 ፣ 127 ፣ 127 ያዘጋጃል።

የ LED ፓነል

በ LED ማትሪክስ ክፍል አናት ላይ የ LED ፓነል ክፍልን አደረግሁ። ይህ ክፍል ለማንኛውም መተግበሪያ አንዳንድ ጠቃሚ ተግባራዊ ባህሪያትን ይሰጣል። ሁለት የማይነጣጠሉ ንብርብሮችን ይሰጣል። ይህ ለትግበራው ጠቃሚ ሊሆን ይችላል። ለምሳሌ በ tetris ጨዋታ ላይ - ንብርብር0 ከታች ላሉት ቋሚ ድንጋዮች እና ንብርብር 1 የወደቀውን ድንጋይ ለማሳየት ነው። ስለዚህ እያንዳንዱ ዑደት ድንጋዩ አንድ ፒክሰል ወደ ታች ይወርዳል ፣ ትግበራው ንብርብር 1 ን ማጽዳት እና ድንጋዩን በአዲሱ ቦታው ላይ መሳል ይችላል። ከታች ያሉትን ሁሉንም ቋሚ ድንጋዮች እንደገና ማደስ አስፈላጊ አይደለም።

በተጨማሪም ፓነሉ ይሰጣል

የህትመት ምስል - እንደ ፈገግታዎች ወይም የ WLAN ምልክት አሻራ ያሉ አንዳንድ አዶዎችን ለማተም ዲጂት - በአንድ አኃዝ ላይ አንድ አሃዝ ለማተም መደበኛ ቁጥር - በቅድመ -ቅጥያዎች ቁጥር ማተም ዜሮ -ቁጥር ቁጥር - ኢንቲጀር ቁጥርን ማተሚያ LineH - አግድም መስመር ከተወሰነ ርዝመት አሻራ መስመር - የተወሰነ ርዝመት ጋር አግድም መስመር

ደረጃ 4 - ሶፍትዌር - የትግበራ ፅንሰ -ሀሳብ

ሶፍትዌር - የትግበራ ጽንሰ -ሀሳብ
ሶፍትዌር - የትግበራ ጽንሰ -ሀሳብ

የፒክሰል ግድግዳ አጠቃላይ ጽንሰ -ሀሳብ የሚከተለው ነው-

  • እያንዳንዱ ትግበራ የራሱ ስም አለው
  • የመተግበሪያውን ስም ጨምሮ ለፒክሰል ዎል ዩአርኤል በመደወል አንድ መተግበሪያ ይጀምራል (ለምሳሌ ፦ 192.168.4.1/tris)
  • ዩአርኤሉ እንዲሁ ወደ መተግበሪያው የሚላኩ የ GET መለኪያዎች ሊኖሩት ይችላል
  • እያንዳንዱ መተግበሪያ በአሳሹ ውስጥ የሚታየውን ድር ጣቢያ ማድረስ አለበት።
  • ይህ ድር ጣቢያ ለፈጣን መስተጋብሮች ከመተግበሪያው የዌብ ኪስ ግንኙነትን እንደ አማራጭ ሊከፍት ይችላል
  • ወደ ድር ግንባሩ ተመልሶ ለመገናኘት መተግበሪያው ይህንን የድር መያዣ ግንኙነትን ሊጠቀም ይችላል።
  • ከድር በይነገጽ አጠገብ መተግበሪያው በተጨማሪ የግፊት አዝራር ክስተቶችን ከመቆጣጠሪያ ፓነል እና ከ NES መቆጣጠሪያ ያገኛል።

የትግበራ በይነገጽ

ለ PixelWall አዲስ መተግበሪያዎችን ለማዳበር ቀላል ለማድረግ ፣ ‹IPixelApp.h› ለተባሉ መተግበሪያዎች በይነገጽ ፈጠርኩ። ይህ በይነገጽ 8 ትርጓሜዎችን ይይዛል-

  • ምናባዊ ባዶነት መጀመሪያ () = 0;
  • ምናባዊ ባዶ ባዶ () = 0;
  • ምናባዊ ባዶነት loop () = 0;
  • ምናባዊ ባዶነት newWebsocketData (uint8_t * payload ፣ size_t lenght) = 0;
  • ምናባዊ WebsiteResponse_t getWebsiteResponse (String parameter) = 0;
  • ምናባዊ ባዶ ባዶ ክስተት () = 0;
  • ምናባዊ ባዶ ሰዓት ቆጣሪ () = 0;
  • ምናባዊ ሕብረቁምፊ getName () = 0;

ጀምር / ጨርስ - ሌላ ተግባር ስለተጀመረ ይህ ተግባር ተጠርቷል / ተጠናቀቀ

loop - ይህ ተግባር ከዋናው የፕሮግራም ዋና ዑደት ተብሎ ይጠራል። ይህ ጥሪ መደበኛ ያልሆነ እና ከማቋረጫ ውጭ ነው።

newWebsocketData - የድር ግንባር መረጃ ከላከ ይህ ተግባር ይባላል።

getWebsiteResponse - ይህ ለጥያቄው ምላሽ ሊሰጥበት የሚገባውን ድረ -ገጽ ለማግኘት በዋናው ፕሮግራም ተጠቅሟል።

buttonEvent - በመቆጣጠሪያ ፓነል ላይ ያለው ማንኛውም ቁልፍ ተጭኖ ወይም ከተለቀቀ ይህ ይባላል።

timerTick - ይህ ተግባር በሰዓት ቆጣሪ መቋረጥ የተነሳ እያንዳንዱ 10ms ይባላል። እሱ ለግዜ መሠረት ሆኖ ሊያገለግል ይችላል ፣ ግን ምንም ጊዜን የሚጥሉ ነገሮችን መያዝ የለበትም ፣ ምክንያቱም አቋራጭ አውድ ስለሆነ።

getName - ይህ ለዩአርኤሉ የመተግበሪያውን ስም መመለስ አለበት

ደረጃ 5 - ሶፍትዌር - ትግበራዎች

ሶፍትዌር - ትግበራዎች
ሶፍትዌር - ትግበራዎች
ሶፍትዌር - ትግበራዎች
ሶፍትዌር - ትግበራዎች
ሶፍትዌር - ትግበራዎች
ሶፍትዌር - ትግበራዎች
ሶፍትዌር - ትግበራዎች
ሶፍትዌር - ትግበራዎች

የሚከተሉት 7 ትግበራዎች በአሁኑ ስሪት ውስጥ ተተግብረዋል -

ነባሪ መተግበሪያ

ይህ የ PixelWall የአሁኑን WLAN ሁኔታ የሚያሳይ ልዩ መተግበሪያ ነው። ግድግዳው ከአሁኑ WLAN ጋር መገናኘት ከቻለ ከአውታረ መረቡ ያገኘውን የአይፒ አድራሻ ያሳያል።

የማይቻል ከሆነ (ምንም ssid አልተዋቀረም ወይም WLAN ከሌለ ወይም የይለፍ ቃሉ የተሳሳተ ከሆነ) የመዳረሻ ነጥብ ይከፍታል። በዚህ ሁኔታ ከ ESP8266: 192.168.4.1 በነባሪ የመዳረሻ ነጥብ IP በኩል ከ PixelWall ጋር መገናኘት ይችላሉ።

በ Webinterface ላይ ይህ መተግበሪያ 6 አዝራሮችን ያቀርባል። አዝራሩን በመጫን ተገቢውን ትግበራ መጀመር ይችላሉ።

የቅንብሮች መተግበሪያ

ይህ መተግበሪያ የ WLAN SSID ን እና የይለፍ ቃልን ለማዋቀር ይህ መተግበሪያ ነው። የእርስዎን WLAN ምስክርነቶች ብቻ ያስገቡ እና በሚቀጥለው የ PixelWill መጀመሪያ ላይ ከዚህ WLAN ጋር ለመገናኘት ይሞክራል።

ጨዋታዎች

በ PixelWall ውስጥ ፕሮግራም የተደረገባቸው ሶስት ክላሲክ ጨዋታዎች አሉ-

  • ቴትሪስ
  • እባብ
  • የጠፈር ወራሪዎች

ሁሉም ጨዋታዎች በድር በይነገጽ ወይም በ NES መቆጣጠሪያ በኩል ሊጫወቱ ይችላሉ።

የምስል መተግበሪያ

ይህ በ PixelWall ላይ ቀለሞችን የሚያሳይ መተግበሪያ ነው። የሚንቀሳቀስ ቀስተ ደመና መሆን ፣ የተለያዩ ቀለሞችን ማደብዘዝ ፣ የማይንቀሳቀስ ቀለምን ማሳየት ወይም የዘፈቀደ ቀለም ፒክሴሎችን ማሳየት እንዳለበት መምረጥ ይችላሉ።

Pixel It

በዚህ መተግበሪያ በ Webinterface ላይ በጣትዎ መታ በማድረግ እያንዳንዱን ፒክሴል ለየብቻ ማዘጋጀት ይችላሉ። ስለዚህ አንዳንድ ጥበባዊ ሥዕሎችን መሳል ይችላሉ:)

ደረጃ 6 በ Twitch ቅጥያ በኩል ይቆጣጠሩ

በ Twitch ቅጥያ በኩል ይቆጣጠሩ
በ Twitch ቅጥያ በኩል ይቆጣጠሩ

በ Twitch ላይ GetInTouch የሚባል ቅጥያ አለ። በዥረት ወቅት ተመልካቾች አርዱዲኖን እንዲቆጣጠሩ ይህ ቅጥያ የአርዱዲኖ ፕሮጄክቶችን በቀጥታ ስርጭትዎ ውስጥ ለማዋሃድ ያስችላል።

ለዚህ የአርዱዲኖ ቤተ -መጽሐፍት ለአርዱዲኖዎች የተፃፈ ነው። ግን እሱ እንዲሁ በ ESP8266 በተመጣጣኝ ሁኔታ እንደሚሰራ ተገለጠ።

በዥረቱ ውስጥ እሱን ለመጠቀም የሚከተሉት ደረጃዎች አስፈላጊ ናቸው

  • የ GetInTouch ቤተ -መጽሐፍትን በኮዱ ውስጥ ያዋህዱ (አጋዥ ስልጠናውን ይመልከቱ)
  • በዩኤስቢ/RS232 መቀየሪያ (ፒሲኤሉን ለማንፀባረቅ የሚያገለግል) ፒክሴሉን ከፒሲዎ ጋር ያገናኙ
  • GetInTouch መተግበሪያን ከድር ጣቢያ ይጫኑ
  • በ Twitch ሰርጥዎ ላይ GetInTouch Extension ን ይጫኑ (አጋዥ ስልጠናውን ይመልከቱ)

ደረጃ 7 - በኒንቲዶ NES ተቆጣጣሪ ቁጥጥር

ቁጥጥር በ ኔንቲዶ NES መቆጣጠሪያ
ቁጥጥር በ ኔንቲዶ NES መቆጣጠሪያ

ለተወሰነ ጊዜ ከተጠቀሙበት በኋላ ፣ በንክኪ ሞባይል ስልክ ላይ መጫወት በጣም ቀላል አይደለም። አዝራሩ አልያም አልሆነ በጣትዎ ላይ ግብረመልስ ስለሌለዎት ከጊዜ ወደ ጊዜ ቁልፎቹን ይናፍቁዎታል። በተጨማሪም አንዳንድ ጊዜ የዌብሶኬት ግንኙነት ለአጭር ጊዜ ሊፈስ ይችላል።

ስለዚህ የድሮውን የኒንቲዶን NES መቆጣጠሪያ ለመግዛት ወሰንኩ። ይህ ተቆጣጣሪ በጣም ቀላል በይነገጽ አለው። እሱ ከ 3 ፣ 3 ቪ ጋር የሚሄድ የ 4021 ፈረቃ ምዝገባ ብቻ ነው። ስለዚህ በቀጥታ ከ ESP8266 ጋር ሊገናኝ ይችላል።

በአዝራር () ተግባር በኩል ወደ አሂድ ትግበራ በተላለፈው ተቆጣጣሪው ላይ ሁሉም የአዝራር ክስተቶች።

የሚመከር: