ዝርዝር ሁኔታ:

አድቬንቸር መብራት ከ POV እነማ ጋር: 7 ደረጃዎች
አድቬንቸር መብራት ከ POV እነማ ጋር: 7 ደረጃዎች

ቪዲዮ: አድቬንቸር መብራት ከ POV እነማ ጋር: 7 ደረጃዎች

ቪዲዮ: አድቬንቸር መብራት ከ POV እነማ ጋር: 7 ደረጃዎች
ቪዲዮ: Ashllxyy vs Fahad77 | ደረጃ የተሰጠው የሮኬት ሊግ ግምገማ 2024, ህዳር
Anonim
Image
Image

የእይታ (POV) ፕሮጀክቶች ጽናት ለተወሰነ ጊዜ ያህል ነው ፣ ቀላል እና ርካሽ የ DIY ኪትዎች በመስመር ላይ ግዢ እንኳን ይገኛሉ። POV እቃው ለአጭር ጊዜም ቢሆን ካልበራ በኋላ የበራሉ ነገሮችን በምናይበት በኦፕቲካል ቅusionት ላይ የተመሠረተ ነው። ባህላዊ የ POV ፕሮጄክቶች በዚህ መርህ ላይ የተመሠረቱ ምስሎችን ወይም ቢበዛ ሰዓቶችን ያካሂዳሉ። ሆኖም ፣ በቂ የሰዓት ፍጥነት እና ስማርት አርጂቢ ኤልኢዲዎችን ማይክሮ መቆጣጠሪያዎችን በመጠቀም እነማዎችን ከፕሮጀክት ምንም አይከለክልም። ይህ ልዩ አኒሜሽን ከድር አሳሽ ጋር በማንኛውም WiFi የነቃ ተንቀሳቃሽ መሣሪያ በርቀት ሊቆጣጠረው ለሚችል አድቬንሽን ማስጌጫ የገና አጋዘን የሚጎተት አጋዘን ነው። መብራቱ በአርዱዲኖ ቤተሰብ በዌሞስ ESP8266 D1 Mini microcontroller የተጎላበተ ነው። ለአኒሜሽን 8-ቢት የአጋዘን ስላይድ ክፈፎች ክሬዲት ወደ ተሰጥኦ ግራፊክ አርቲስት ሪቻርድ ፌንዮ ይሄዳል።

ደረጃ 1: ክፍሎች ዝርዝር

የጉባ Assemblyው ደረጃዎች
የጉባ Assemblyው ደረጃዎች

የማሽከርከሪያውን ክፍል ሳይጠግኑ በቦታው ለማቆየት ለዚህ ከባድ የሆነ ፕሮጀክት ለዚህ ጉዳይ ያስፈልግዎታል። አንድ የድሮ የ PSU መያዣ ፍጹም ነው ፣ ከማፍረስዎ በፊት capacitors እንዲለቀቁ ይጠንቀቁ። እንዲሁም ለዲሲ ሞተሩ ኃይል ማንኛውንም ዓይነት 5V-12V የኃይል አቅርቦት አስማሚ ያስፈልግዎታል። በእውነቱ ከ 500mA እና ከዚያ በላይ የሆነ ማንኛውም አምፔር ያደርገዋል።

የሚፈለጉት ክፍሎች ከዌብ ሾፕ አገናኞች እና ከአሁኑ ዋጋዎች ጋር ተዘርዝረዋል።

  • 2pcs 18650 ባትሪ ፣ የአሜሪካ ዶላር 4 ፣ 78
  • የባትሪ መያዣ ለ 2x18650 ፣ USD 0 ፣ 63
  • ወሞስ ዲ 1 ሚኒ ፣ 2 ፣ 14 ዶላር
  • ጥቁር ገለባ ፣ 0 ፣ 10 ዶላር
  • ኢንፍራሬድ አንጸባራቂ ዳሳሽ ፣ 0 ፣ 38 ዶላር
  • 250V Power Rocker Switch, USD 0, 10
  • የስላይድ መቀየሪያን ይቀያይሩ ፣ 0 ፣ 02 ዶላር
  • 6-900rpm የዲሲ ሞተር ፣ 3 ፣ 99 ዶላር
  • Adafruit Neopixel WS2812 8-bit, USD 1, 01

አጠቃላይ ወጪው ከ USD 15 ያነሰ ነው ፣ ግን እርስዎ ደግሞ አንዳንድ የእጅ መሣሪያዎች ፣ ቁፋሮ ፣ ሙቅ -ሙጫ ፣ ከመሸጫ መሣሪያዎች እና ክህሎቶች ጋር ያስፈልግዎታል።

ደረጃ 2 - የጉባ Steው ደረጃዎች

እነዚህን ደረጃዎች በመከተል ክፍሉ ሙሉ በሙሉ ሊሰበሰብ ይችላል።

  1. የማይንቀሳቀስ መሠረት በዲሲ ሞተር እና በመቀየሪያ ተገንብቷል።
  2. ኒዮፒክስሎች ተሽጠው ከገለባ ዘንግ ጋር ተያይዘዋል።
  3. የማሽከርከሪያ ማሽነሪ የተገነባው በማይክሮ መቆጣጠሪያ ፣ በተንሸራታች ማብሪያ ፣ በኢንፍራ ዳሳሽ እና በገለባ ዘንግ ነው።
  4. ሽቦዎች በኤሌክትሪክ ክፍሎች አያያorsች ላይ ይሸጣሉ
  5. የአርዱዲኖ ኮድ ወደ ዌሞስ ማይክሮ መቆጣጠሪያ ተሰቅሏል።

ደረጃ 3: 1. የማይንቀሳቀስ መሠረት ከዲሲ ሞተር ጋር

1. የማይንቀሳቀስ መሠረት ከዲሲ ሞተር ጋር
1. የማይንቀሳቀስ መሠረት ከዲሲ ሞተር ጋር
1. የማይንቀሳቀስ መሠረት ከዲሲ ሞተር ጋር
1. የማይንቀሳቀስ መሠረት ከዲሲ ሞተር ጋር
1. የማይንቀሳቀስ መሠረት ከዲሲ ሞተር ጋር
1. የማይንቀሳቀስ መሠረት ከዲሲ ሞተር ጋር
  1. በጉዳዩ ላይ አንድ ቀዳዳ ይከርክሙ እና ዘንግ ወደ ላይ የሚያመላክት የዲሲ ሞተርን ያስተካክሉ።
  2. ከዚህ በታች ያለውን የሽቦ ዲያግራም በመከተል የሮክ ኃይል ማብሪያ / ማጥፊያውን እና መደበኛ 5V-12V የኃይል አቅርቦት አስማሚውን ያሽጡ።
  3. የተጠቀሰው የዲሲ ሞተር በ 12 ቮ በ 800 RPM (በደቂቃዎች መሽከርከሪያዎች) ላይ ይሽከረከራል ፣ ይህም በመጨረሻው ቅንብር ውስጥ በ 10 FPS (ፍሬሞች በሰከንድ) ወደ ገለባው ዘንግ በትክክለኛው የንፋስ መቋቋም ላይ የተመሠረተ ነው።
  4. የኃይል አቅርቦቱን አስማሚ ወደ መውጫው (110 ወይም 220V) ያገናኙ።
  5. በሮኬቱ ላይ ያብሩ እና የዲሲ ሞተሩን ሥራ ይፈትሹ።

በመቀጠልም ፣ የሚሽከረከረው ጠመዝማዛ ተሰብስቦ በመሠረቱ በዲሲ ሞተር ዘንግ ላይ ይቀመጣል።

ደረጃ 4: 2. ኒዮፒክስል አባሪ

2. ኒዮፒክስል አባሪ
2. ኒዮፒክስል አባሪ
2. ኒዮፒክስል አባሪ
2. ኒዮፒክስል አባሪ
  1. ሥዕሉ እንደሚያሳየው በአንደኛው ጫፍ በ 1.5 ሴንቲ ሜትር ውስጥ በሁለት ተቃራኒ ጎኖች ውስጥ የገለባውን ጫፍ ይቁረጡ።
  2. ሌዝ ሶስት ረዘም ያለ ገለባ ያበዛል። እነዚህ የኒዮፒክሴል ፒኖችን በሬሞ ላይ ወደ ዌሞስ ወደቦች ያገናኛሉ።
  3. ሶስቱን ሽቦዎች በኒኦፒክስል ፒን GND ፣ 5V እና D-IN ላይ ያሽጡ።
  4. ትኩስ ማጣበቂያ ሽቦዎቹ ከኒዮፒክስሎች የተሸጡ ንፁህ እና ሥርዓታማ የ LED አሞሌ ትክክለኛውን መካከለኛ እስከሚጨርስ ድረስ።
  5. ገለባውን የተቆረጡትን ክንፎች ይሳቡ እና በ LED አሞሌ መሃል ላይ (በአንደኛው በኩል ባለው ሽቦዎች አናት ላይ) በትክክለኛ ሚዛናዊነት ሙጫ ያድርጓቸው።
  6. ተጓዳኝ የዌሞስ ወደቦች ለመድረስ ሽቦዎቹ በገለባው ውስጥ እስከ ጭረት ውስጥ ይሮጣሉ።

ደረጃ 5: 3. የሚሽከረከር ሪግ ስብሰባ

3. የማሽከርከር ሪግ ስብሰባ
3. የማሽከርከር ሪግ ስብሰባ

በዲሲው የሞተር ዘንግ ላይ ከመስተካከሉ በፊት ጠቅላላው መሣሪያ ሙሉ በሙሉ መሰብሰብ አለበት። ያ ነው ምክንያቱም ማዞሩ ያለ ምንም ማወዛወዝ ፍጹም ማዕከላዊ እንዲሆን የማስተካከያው ቦታ ሚዛናዊ መሆን አለበት።

  1. ሥዕሉ እንደሚያሳየው የዊሞስ ዲ 1 ሚኒ ማይክሮ መቆጣጠሪያ እና የስላይድ መቀየሪያ ወደ ባትሪ መያዣው አንድ ጎን ትኩስ ሙጫ።
  2. የባትሪ መያዣውን በሌላኛው በኩል የኢንፍራ ነጸብራቅ ዳሳሹን በሙቅ ያጣብቅ።
  3. ባትሪዎቹን በመያዣው ውስጥ ያስቀምጡ።
  4. በባትሪዎቹ አናት ላይ የገለባውን ሌላኛው ጫፍ ያስቀምጡ እና ያያይዙት። ትንሽ ጠመዝማዛ ወይም የጎማ ቀለበት ያደርገዋል። መሣሪያው በ 10 RPM መሽከርከር ከጀመረ በኋላ እንደማይጠፋ እርግጠኛ ይሁኑ።
  5. ከታችኛው በኩል ያለውን አጠቃላይ የስበት ማዕከልን የስበት ማዕከል ይፈልጉ። በጣትዎ ጫፍ ላይ ማመጣጠን ያደርገዋል።
  6. በባትሪ መያዣው ታችኛው ክፍል ላይ በትክክለኛው ቦታ ላይ ትንሽ ቀዳዳ ያድርጉ።
  7. አንዳንድ ትኩስ ሙጫ ይተግብሩ እና የሞተሩን ዘንግ ወደዚያ ቀዳዳ ያስተካክሉት። ትኩስ ሙጫው ወደ ሞተሩ አካል ውስጥ አለመግባቱን ያረጋግጡ። ሙጫው እስኪደርቅ ድረስ በቋሚነት ያቆዩት።
  8. አንድ ትንሽ ነጭ ወረቀት ቆርጠህ በመነሻው መሠረት ላይ ቴፕ አድርግ ፣ ይህም የኢንፍራሬድ አንጸባራቂ ዳሳሽ በዚያ ወረቀት አቅራቢያ እየዞረ ነው። ይህ በእያንዳንዱ አዙሪት ውስጥ የእነማውን ክፈፎች ስዕል በትክክለኛው ቦታ ላይ ያስነሳል። ሥዕሉ ከመሠረቱ በግራ ታችኛው ጥግ ላይ ይህንን ነጸብራቅ ቁራጭ ያሳያል።

ደረጃ 6: 4. የኤሌክትሪክ ክፍሎች ሽቦዎች

4. የኤሌክትሪክ ክፍሎች ሽቦዎች
4. የኤሌክትሪክ ክፍሎች ሽቦዎች

የሽቦውን ዲያግራም በመከተል በሚቀጥሉት ደረጃዎች የኤሌክትሪክ ክፍሎችን ይሽጡ። የዌሞስ ዲ 1 ሚኒ ማይክሮ መቆጣጠሪያ ተመሳሳይ ወደብ በበርካታ የተለያዩ ሽቦዎች ብዙ ጊዜ እንደሚሸጥ ልብ ይበሉ። ያ አንዳንድ ልምዶችን ይጠይቃል ፣ ወይም ወደ ዌሞስ ወደብ ከመሸጡ በፊት እነዚህን ሽቦዎች በዝግጅት ያገናኙ።

  1. ሶስት ገመዶች (GND ፣ 5V እና D-IN) በቅደም ተከተል በዌሞስ ወደቦች G ፣ 5V እና D3 ላይ ይሸጣሉ።
  2. ከኢንፍራሬድ አንጸባራቂ ዳሳሽ (ቪሲሲ ፣ ጂኤንዲ ፣ ኦውት) ሁለት ሽቦዎች በቅደም ተከተል በቪሞስ ወደቦች 5 ቪ ፣ ጂ እና ዲ 2 ላይ ይሸጣሉ።
  3. የባትሪ መያዣ መሬት (ጥቁር) ሽቦ በዌሞስ ወደብ ጂ ላይ ይሸጣል።
  4. የባትሪ መያዣው አዎንታዊ (ቀይ) ሽቦ በተንሸራታች ማብሪያ / ማጥፊያ / ማብሪያ / ማጥፊያ አቅራቢያ ባለው ፒን ላይ ይሸጣል።
  5. የዌሞስ 5 ቪ ወደብ በሌላኛው የስላይድ መቀየሪያ ፒን ላይ ይሸጣል።

ደረጃ 7: 5. የአርዲኖ ኮድ

5. የአርዱዲኖ ኮድ
5. የአርዱዲኖ ኮድ

ይህ ልዩ ኮድ ለ 24 ቢት የ POV ላንተር ስሪት ነው ፣ በድር አሳሾች በማንኛውም የሞባይል መሳሪያዎች በርቀት ሊቆጣጠር እና እንደ የዓለም ካርታ ፣ ማትሪክስ አኒሜሽን ተፅእኖ እና የሬይንደር ስላይት አኒሜሽን የመሳሰሉ የእይታ ውጤቶችን ያሳያል። በመነሻ ኮድ ውስጥ የፒክሰሎች ብዛት ፣ የውጤት መለኪያዎች ወይም የ WiFi የርቀት በይነገጽ ፍላጎቶችዎን ለማስተካከል ነፃነት ይሰማዎ።

// 24 ቢት POV ላንተር - 2019 ፒተር ክሱርጋይ

#ESP8266WiFiMulti.h ን ያካትቱ

#WiFiClient.h #ESP8266WebServer.h ን ያካትቱ።

#ደበቡን 1 ይግለጹ

ሕብረቁምፊ ጽሑፍ [3] = {"መመሪያዎች" ፣ “ARDUINO” ፣ “ውድድር”};

const uint8_t ቤተ -ስዕል [8] [3] = {

{0, 0, 0} ፣ // 0 - ግልጽ {0, 0, 127} ፣ // 1 - ሰማያዊ {127 ፣ 0, 0} ፣ // 2 - ቀይ {127 ፣ 127 ፣ 0} ፣ // 3 - ቢጫ {0 ፣ 127 ፣ 0} ፣ // 4 - አረንጓዴ {127 ፣ 24 ፣ 0} ፣ // 5 - ብርቱካናማ {127 ፣ 0 ፣ 127} ፣ // 6 - ማጌንታ {127 ፣ 127 ፣ 127} // 7 - ነጭ};

const ያልተፈረመ ቻር ዓለም [24] [42] PROGMEM =

{ { 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0 }, { 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0 }, { 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 }, { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 }, { 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 }, { 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0 }, { 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0 }, { 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 }, { 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0 }, { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0 }, { 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 }, { 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0 }, { 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0 }, { 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } };

const ያልተፈረመ ቻር በርበሬ [24] [8+31] PROGMEM =

{ { 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 1, 1, 1, 1, 1, 1, 0, 0, 4, 4, 4, 0, 0, 4, 4, 4, 4, 0, 4, 4, 4, 0, 0, 4, 4, 4, 0, 0, 4, 4, 4, 4, 0, 4, 4, 4, 0, 0 }, { 0, 1, 1, 1, 1, 1, 1, 0, 0, 4, 0, 0, 4, 0, 4, 0, 0, 0, 0, 4, 0, 0, 4, 0, 4, 0, 0, 4, 0, 4, 0, 0, 0, 0, 4, 0, 0, 4, 0 }, { 1, 1, 0, 1, 1, 0, 1, 1, 0, 4, 0, 0, 4, 0, 4, 4, 4, 0, 0, 4, 0, 0, 4, 0, 4, 0, 0, 4, 0, 4, 4, 4, 0, 0, 4, 0, 0, 4, 0 }, { 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, 4, 4, 0, 0, 4, 0, 0, 0, 0, 4, 4, 4, 0, 0, 4, 4, 4, 0, 0, 4, 0, 0, 0, 0, 4, 4, 4, 0, 0 }, { 0, 1, 1, 0, 0, 1, 1, 0, 0, 4, 0, 0, 0, 0, 4, 4, 4, 4, 0, 4, 0, 0, 0, 0, 4, 0, 0, 0, 0, 4, 4, 4, 4, 0, 4, 0, 0, 4, 0 }, { 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 }, { 0, 4, 0, 0, 4, 0, 4, 0, 0, 4, 0, 4, 4, 4, 0, 0, 4, 4, 4, 0, 0, 0, 4, 4, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { 0, 4, 0, 0, 4, 0, 4, 0, 0, 4, 0, 4, 0, 0, 4, 0, 4, 0, 0, 4, 0, 4, 0, 0, 4, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0 }, { 0, 4, 4, 4, 4, 0, 4, 0, 0, 4, 0, 4, 0, 0, 4, 0, 4, 4, 4, 0, 0, 4, 4, 4, 4, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0 }, { 0, 4, 0, 0, 4, 0, 4, 0, 0, 4, 0, 4, 4, 4, 0, 0, 4, 0, 0, 4, 0, 4, 0, 0, 4, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0 }, { 0, 4, 0, 0, 4, 0, 0, 4, 4, 0, 0, 4, 0, 0, 4, 0, 4, 4, 4, 0, 0, 4, 0, 0, 4, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 1, 1, 1, 1, 1, 1, 0, 0, 4, 4, 4, 0, 0, 4, 4, 4, 4, 0, 4, 4, 4, 0, 0, 4, 4, 4, 0, 0, 4, 4, 4, 4, 0, 4, 4, 4, 0, 0 }, { 0, 1, 1, 1, 1, 1, 1, 0, 0, 4, 0, 0, 4, 0, 4, 0, 0, 0, 0, 4, 0, 0, 4, 0, 4, 0, 0, 4, 0, 4, 0, 0, 0, 0, 4, 0, 0, 4, 0 }, { 1, 1, 0, 1, 1, 0, 1, 1, 0, 4, 0, 0, 4, 0, 4, 4, 4, 0, 0, 4, 0, 0, 4, 0, 4, 0, 0, 4, 0, 4, 4, 4, 0, 0, 4, 0, 0, 4, 0 }, { 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, 4, 4, 0, 0, 4, 0, 0, 0, 0, 4, 4, 4, 0, 0, 4, 4, 4, 0, 0, 4, 0, 0, 0, 0, 4, 4, 4, 0, 0 }, { 0, 1, 1, 0, 0, 1, 1, 0, 0, 4, 0, 0, 0, 0, 4, 4, 4, 4, 0, 4, 0, 0, 0, 0, 4, 0, 0, 0, 0, 4, 4, 4, 4, 0, 4, 0, 0, 4, 0 }, { 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } };

const ያልተፈረመ ቻር abc [8] [27*5] PROGMEM = {

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0 }, { 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 }, { 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0 }, { 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 }, { 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } };

const ያልተፈረመ char santa [4] [8] [41] PROGMEM = {

{ { 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0 }, { 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 }, { 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 1, 1, 2, 0 }, { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0 }, { 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0 }, { 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0 }, { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }, { { 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0 }, { 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 }, { 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 1, 1, 2, 0 }, { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0 }, { 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0 }, { 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0 }, { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }, { { 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0 }, { 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0 }, { 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0 }, { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0 }, { 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0 }, { 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0 }, { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0 }, { 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 }, { 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 2, 0, 1, 0, 0, 0, 0, 0, 1, 1, 2, 0 }, { 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0 }, { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0 }, { 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0 }, { 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0 }, { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0 } } };

#INFRATRIGGER_PIN D2 ን ይግለጹ

#ገላጭ ኒዮፒክስል_ፒን ዲ 3 #ገላጭ ኒኦ_NUMPIXELS 24

Adafruit_NeoPixel pixels = Adafruit_NeoPixel (NEO_NUMPIXELS ፣ NEOPIXELS_PIN ፣ NEO_GRB + NEO_KHZ800) ፤

IPAddress localIPaddress;

IPAddress apIPaddress; የ WiFi አገልጋይ አገልጋይ (80); WebSocketsServer webSocket = WebSocketsServer (81); uint8_t ሸራ [24] [65]; uint8_t co = 0; uint8_t ትዕይንት = 0; uint8_t numScenes = 5; ሕብረቁምፊ ትዕይንቶች [6] = {"ዓለም" ፣ “ሳንታ” ፣ “ፔፐር” ፣ “ጽሑፍ” ፣ “ማትሪክስ”}; uint8_t ማሽከርከር = 1; uint8_t numGreens = 0; // MATRIX ቁጥር የወደቁ መስመሮች uint8_t አረንጓዴዎች [64] [2]; // የወደቁ መስመሮች MATRIX የዘፈቀደ POS x እና y

ባዶነት ማዋቀር () {

ከሆነ (DEBUG) {Serial.begin (9600); Serial.println ("ጀምር …"); } መዘግየት (3000);

ESP8266WiFiMulti wifiMulti;

wifiMulti.addAP ("wifissid", "pwd"); wifiMulti.addAP ("mobilessid", "pwd"); wifiMulti.addAP (“ላፕቶፕሲድ” ፣ “pwd”); (DEBUG) Serial.print ("ጣቢያ ማገናኘት") ከሆነ; ሳለ (wifiMulti.run ()! = WL_CONNECTED) {መዘግየት (1000); ከሆነ (DEBUG) Serial.print ("."); } ከሆነ (ማረም) Serial.println (""); (DEBUG) Serial.print ("WiFi ተገናኝቷል: SSID ="); ከሆነ (DEBUG) Serial.println (WiFi. SSID ()); localIPaddress = WiFi.localIP (); (DEBUG) Serial.print ("የአካባቢ ጣቢያ IP አድራሻ:"); ከሆነ (DEBUG) Serial.println (localIPaddress);

server.begin ();

(DEBUG) Serial.println ("አገልጋይ (80) ተጀምሯል")); webSocket.begin (); webSocket.onEvent (webSocketEvent); (DEBUG) Serial.println ("WebSocket (81) ተጀምሯል")); uint8_t coli = 0; ለ (int i = 0; i <24; i ++) {ለ (int j = 0; j <64; j ++) {canvas [j] = coli ++; ኮላይ = ኮላይ % 7; } ሸራ [64] = 0; } pinMode (INFRATRIGGER_PIN ፣ ማስገቢያ); አባሪ ማቋረጫ (digitalPinToInterrupt (INFRATRIGGER_PIN) ፣ ቀለም ፣ RISING); pixels.begin (); pixels.show (); ከሆነ (ማረም) {Serial.print ("Neopixel ተጀምሯል ፣ NUMPIXELS:"); Serial.println (pixels.numPixels ()); }}

ባዶ ድር WebSocketEvent (uint8_t num ፣ WStype_t ዓይነት ፣ uint8_t * የክፍያ ጭነት ፣ የመጠን_t ርዝመት) {

ከሆነ (ዓይነት == WStype_TEXT) {String req = String ((const char *) payload); ከሆነ (ማረም) {Serial.print ("81 Req:"); Serial.println (req); } processReq (req); }}

ሕብረቁምፊ rip2 (String s) {

ሕብረቁምፊ ሪስ; int i = 0; ሳለ (ዎች ! = '/') i ++; i ++; ሳለ (ዎች ! = '/') i ++; i ++; (s ! = '/' && s ! = '&& s ! =' / r '&& s ! =' / n ') res+= s [i ++]; ሪስ ሪስ; }

ባዶ ሂደት Reeq (ሕብረቁምፊ req) {

ከሆነ (req.indexOf ("/rotate")! = -1) {rotate = 1; } ሌላ ከሆነ (req.indexOf ("/ትዕይንት")! = -1) {rotate = 0; ሕብረቁምፊ sc = rip2 (req); ከሆነ (isDigit (sc [0])) ትዕይንት = sc.toInt (); ሌላ {ትዕይንት = 0; ለ (int i = 0; i

ባዶነት loop () {

webSocket.loop (); የ WiFiClient ደንበኛ = አገልጋይ. ይገኛል (); ከሆነ (! ደንበኛ) {ተመለስ; } ሕብረቁምፊ req = client.readStringUntil ('\ r'); ከሆነ (ማረም) {Serial.print ("80 Req:"); Serial.println (req); } processReq (req);

client.flush ();

ሕብረቁምፊ s = "HTTP/1.1 200 እሺ / r / n የይዘት-ዓይነት ጽሑፍ/html; charset = UTF-8 / r / n የመዳረሻ-ቁጥጥር-ፍቀድ-ራስጌዎች-የይዘት-አይነት / r / n የመዳረሻ-መቆጣጠሪያ-ፍቀድ-አመጣጥ ፦ *\ r / n ግንኙነት ፦ ዝጋ / r / n / r / n "; s + = "localIP:" + ipToString (localIPaddress) + ""; s + = "apIP:" + ipToString (apIPaddress) + ""; client.print (ዎች); መዘግየት (100); client.stop (); }

ባዶ ቀለም () {

ለ (int i = 0; i <65; i ++) {ለ (int j = 0; j <24; j ++) {unsigned char ind = canvas [j] ; pixels. } pixels.show (); መዘግየት ማይክሮ ሰከንድ (10); } co = (co + 1) % 40; ከሆነ (አሽከርክር) {ከሆነ (co == 0) {ትዕይንት = (ትዕይንት+1) % numScenes; ከሆነ (ማረም) {Serial.print (“ትዕይንት:”); Serial.println (ትዕይንት); }} ከሆነ (co == 0) loadCanvas (ትዕይንቶች [ትዕይንት]); } ከሆነ (ትዕይንቶች [ትዕይንት].indexOf ("ሳንታ")! = -1) {ለ (int i = 0; i <8; i ++) ለ (int j = 0; j = co && j

ባዶ ጭነት ካንቫስ (ምን ሕብረቁምፊ) {

clearCanvas (); ከሆነ (ማረም) {Serial.print (“loadCanvas:”); Serial.println (ምን); } ከሆነ (what.indexOf ("TEXT")! = -1) {ለ (int l = 0; l <3; l ++) ለ (int n = 0; n = 12 && j <51) ሸራ [j] = pgm_read_byte_near (በርበሬ +j-12); } ሌላ ከሆነ (ምን.indexOf ("ዓለም")! = -1) {ለ (int i = 0; i <24; i ++) ለ (int j = 0; j = 11 && j <53) ሸራ [j] = pgm_read_byte_near (ዓለም +j-11); }}

ባዶ ባዶ ClearCanvas () {

ከሆነ (DEBUG) Serial.println ("clearCanvas"); ለ (int i = 0; i <24; i ++) ለ (int j = 0; j <65; j ++) ሸራ [j] = 0; }

ሕብረቁምፊ ipToString (IPAddress ip) {

ሕብረቁምፊ s = ""; ለ (int i = 0; i <4; i ++) s+= i? "." + ሕብረቁምፊ (ip ): ሕብረቁምፊ (ip ); መመለስ s; }

የሚመከር: