विषयसूची:

पीओवी एनिमेशन के साथ आगमन लालटेन: 7 कदम
पीओवी एनिमेशन के साथ आगमन लालटेन: 7 कदम

वीडियो: पीओवी एनिमेशन के साथ आगमन लालटेन: 7 कदम

वीडियो: पीओवी एनिमेशन के साथ आगमन लालटेन: 7 कदम
वीडियो: POV: You Can See When People D!E ~Superpower Series 2024, जुलाई
Anonim
Image
Image

पर्सिस्टेंस ऑफ विजन (पीओवी) परियोजनाएं काफी समय से हैं, सरल और सस्ते DIY किट ऑनलाइन खरीद के लिए भी उपलब्ध हैं। पीओवी एक ऑप्टिकल इल्यूजन पर आधारित है जहां हम देखते हैं कि ऑब्जेक्ट के बाद भी रोशनी वाली वस्तुएं अब थोड़ी देर के लिए भी प्रकाशित नहीं होती हैं। पारंपरिक पीओवी परियोजनाओं में इस सिद्धांत पर आधारित स्थिर छवियां या अधिक से अधिक चलने वाली घड़ियां होती हैं। हालांकि, पर्याप्त क्लॉकस्पीड और स्मार्ट आरजीबी एलईडी के माइक्रोकंट्रोलर का उपयोग करके एनिमेशन को प्रोजेक्ट करने से कुछ भी नहीं रोकता है। यह विशेष एनीमेशन एडवेंट डेकोरेशन के लिए क्रिसमस स्लीट को खींचे गए हिरन का है जिसे वेब ब्राउज़र के साथ किसी भी वाईफाई सक्षम मोबाइल डिवाइस द्वारा दूर से नियंत्रित किया जा सकता है। लालटेन Arduino परिवार के Wemos ESP8266 D1 मिनी माइक्रोकंट्रोलर द्वारा संचालित है। एनिमेटेड 8-बिट रेनडियर स्लीट फ्रेम का श्रेय एक प्रतिभाशाली ग्राफिक कलाकार रिचर्ड फेन्यो को जाता है।

चरण 1: भागों की सूची

विधानसभा के कदम
विधानसभा के कदम

इस परियोजना के लिए आपको एक ऐसे मामले की आवश्यकता होगी जो इतना भारी हो कि घूर्णन करने वाली इकाई को बिना ढँके रखा जा सके। एक पुराना पीएसयू केस एकदम सही है, बस सावधान रहें कि कैपेसिटर को डिस्सेप्लर करने से पहले डिस्चार्ज कर दें। DC मोटर को पॉवर देने के लिए आपको किसी भी प्रकार के 5V-12V पॉवर सप्लाई अडैप्टर की भी आवश्यकता होगी। वास्तव में 500mA और उससे अधिक का कोई भी एम्परेज यह करेगा।

आवश्यक भागों को वेबशॉप लिंक और वर्तमान कीमतों के साथ नीचे सूचीबद्ध किया गया है।

  • 2 पीसीएस 18650 बैटरी, 4 अमरीकी डालर, 78
  • 2x18650 के लिए बैटरी धारक, 0 अमरीकी डालर, 63
  • Wemos D1 मिनी, USD 2, 14
  • ब्लैक स्ट्रॉ, USD 0, 10
  • इन्फ्रारेड रिफ्लेक्टिव सेंसर, USD 0, 38
  • 250V पावर रॉकर स्विच, USD 0, 10
  • टॉगल स्लाइड स्विच, USD 0, 02
  • 6-900rpm डीसी मोटर, यूएसडी 3, 99
  • Adafruit Neopixel WS2812 8-बिट, USD 1, 01

कुल लागत 15 अमेरिकी डॉलर से कम है, - लेकिन आपको सोल्डरिंग उपकरण और कौशल के साथ-साथ कुछ हाथ उपकरण, ड्रिलिंग, हॉट-गोंद की भी आवश्यकता होगी।

चरण 2: विधानसभा के चरण

इन चरणों का पालन करके इकाई को पूरी तरह से इकट्ठा किया जा सकता है।

  1. स्थिर आधार एक डीसी मोटर और एक स्विच के साथ बनाया गया है।
  2. Neopixels को मिलाया जाता है और स्ट्रॉ शाफ्ट से जोड़ा जाता है।
  3. रोटेटिंग रिग को माइक्रोकंट्रोलर, स्लाइड स्विच, इंफ्रा सेंसर और स्ट्रॉ शाफ्ट के साथ बनाया गया है।
  4. तारों को विद्युत भागों के कनेक्टर्स पर मिलाया जाता है
  5. Arduino कोड Wemos माइक्रोकंट्रोलर पर अपलोड किया गया है।

चरण 3: 1. डीसी मोटर के साथ स्थिर आधार

1. डीसी मोटर के साथ स्थिर आधार
1. डीसी मोटर के साथ स्थिर आधार
1. डीसी मोटर के साथ स्थिर आधार
1. डीसी मोटर के साथ स्थिर आधार
1. डीसी मोटर के साथ स्थिर आधार
1. डीसी मोटर के साथ स्थिर आधार
  1. केस पर एक छेद ड्रिल करें और डीसी मोटर को इस तरह ठीक करें कि शाफ्ट ऊपर की ओर इंगित करे।
  2. नीचे दिए गए वायरिंग आरेख के बाद रॉकर पावर स्विच और एक नियमित 5V-12V बिजली आपूर्ति एडाप्टर को मिलाएं।
  3. संदर्भित डीसी मोटर 12 वी पर लगभग 800 आरपीएम (रोटेशन प्रति मिनट) पर घूमती है, जिसके परिणामस्वरूप स्ट्रॉ शाफ्ट के वास्तविक पवन प्रतिरोध के आधार पर अंतिम सेटअप में लगभग 10 एफपीएस (फ्रेम प्रति सेकंड) होता है।
  4. पावर सप्लाई एडॉप्टर को आउटलेट (110 या 220V) से कनेक्ट करें।
  5. घुमाव चालू करें और डीसी मोटर की कार्यप्रणाली की जांच करें।

इसके बाद, घूर्णन रिग को आधार के डीसी मोटर शाफ्ट पर इकट्ठा और तय किया जाएगा।

चरण 4: 2. नियोपिक्सल अटैचमेंट

2. नियोपिक्सल अटैचमेंट
2. नियोपिक्सल अटैचमेंट
2. नियोपिक्सल अटैचमेंट
2. नियोपिक्सल अटैचमेंट
  1. जैसा कि चित्र में दिखाया गया है, पुआल के सिरे को दो विपरीत पक्षों में एक छोर पर लगभग 1.5 सेमी में काटें।
  2. फीता तीन लंबे तार स्ट्रॉ तक। ये Neopixel पिन को रिग पर Wemos पोर्ट पर कनेक्ट करेंगे।
  3. Neopixel पिन GND, 5V और D-IN पर तीन तारों को मिलाएं।
  4. नियोपिक्सल सोल्डरेड से तारों को साफ-सुथरा गर्म गोंद एलईडी बार के ठीक बीच में सभी तरह से समाप्त होता है।
  5. पुआल के कटे हुए पंखों को अलग करें और उन्हें एलईडी बार के केंद्र (एक तरफ तारों के ऊपर) पर सटीक समरूपता में गर्म गोंद दें।
  6. मैचिंग वेमोस पोर्ट तक पहुंचने के लिए तार स्ट्रॉ के अंदर से रिग तक चलते हैं।

चरण 5: 3. घूर्णन रिग की विधानसभा

3. घूर्णन रिग की सभा
3. घूर्णन रिग की सभा

डीसी मोटर शाफ्ट को फिक्स करने से पहले पूरे रिग को पूरी तरह से इकट्ठा किया जाना है। ऐसा इसलिए है क्योंकि फिक्सिंग स्पॉट को संतुलित करने की आवश्यकता है ताकि रोटेशन पूरी तरह से बिना किसी झंझट के केंद्रित हो।

  1. Wemos D1 मिनी माइक्रोकंट्रोलर को गर्म गोंद और बैटरी धारक के एक तरफ स्लाइड स्विच जैसा कि चित्र दिखाता है।
  2. बैटरी होल्डर के दूसरी तरफ इंफ्रा रिफ्लेक्शन सेंसर को गर्म करें।
  3. बैटरी को होल्डर में रखें।
  4. स्ट्रॉ के दूसरे सिरे को बैटरियों के ऊपर रखें और जकड़ें। एक छोटा पेंच या रबर की अंगूठी इसे करेगी। सुनिश्चित करें कि एक बार रिग 10 RPM पर घूमने लगे तो यह खो नहीं जाएगा।
  5. नीचे की तरफ गुरुत्वाकर्षण के पूरे रिग केंद्र का पता लगाएँ। इसे अपनी उंगली की नोक पर संतुलित करने से यह हो जाएगा।
  6. बैटरी होल्डर के निचले हिस्से में ठीक उसी जगह पर एक छोटा सा छेद करें।
  7. कुछ गर्म गोंद लगाएं और उस छेद में मोटर शाफ्ट को ठीक करें। सुनिश्चित करें कि गर्म गोंद मोटर बॉडी में नहीं जाता है। इसे तब तक स्थिर रखें जब तक गोंद सूख न जाए।
  8. श्वेत पत्र का एक छोटा सा टुकड़ा काटें और इसे स्थिर आधार पर इस तरह टेप करें कि अवरक्त परावर्तक सेंसर उस कागज के बिल्कुल पास घूम रहा हो। यह एनीमेशन के फ्रेम के ड्राइंग को हर घुमाव में सटीक स्थान पर ट्रिगर करेगा। चित्र इस प्रतिबिंब के टुकड़े को आधार के बाएं निचले कोने पर दिखाता है।

चरण 6: 4. विद्युत घटकों की वायरिंग

4. विद्युत घटकों की वायरिंग
4. विद्युत घटकों की वायरिंग

वायरिंग आरेख का अनुसरण करते हुए, विद्युत घटकों को निम्न चरणों में मिलाप करें। ध्यान दें कि Wemos D1 मिनी माइक्रोकंट्रोलर के एक ही पोर्ट को कई अलग-अलग तारों के साथ कई बार मिलाया जाएगा। यह कुछ अभ्यास लेता है, या वेमोस बंदरगाह पर टांका लगाने से पहले इन तारों को तैयारी में जोड़ता है।

  1. तीन तारों (GND, 5V और D-IN) को क्रमशः Wemos पोर्ट G, 5V और D3 पर मिलाया जाता है।
  2. इन्फ्रारेड रिफ्लेक्टिव सेंसर (VCC, GND, OUT) से दो तारों को क्रमशः Wemos पोर्ट 5V, G और D2 पर मिलाया जाता है।
  3. बैटरी होल्डर ग्राउंड (ब्लैक) वायर को Wemos पोर्ट G पर सोल्डर किया जाता है।
  4. बैटरी धारक सकारात्मक (लाल) तार को स्लाइड स्विच निकटतम पिन पर मिलाया जाता है।
  5. Wemos 5V पोर्ट को स्लाइड स्विच के दूसरे पिन पर टांका लगाया गया है।

चरण 7: 5. Arduino कोड

5. अरुडिनो कोड
5. अरुडिनो कोड

यह विशेष कोड पीओवी लालटेन के 24 बिट्स संस्करण के लिए है, जिसे वेब ब्राउज़र के साथ किसी भी मोबाइल डिवाइस द्वारा दूरस्थ रूप से नियंत्रित किया जा सकता है और इसमें वर्ल्ड मैप, मैट्रिक्स एनिमेशन इफेक्ट और रेनडियर स्लीट एनीमेशन जैसे दृश्य प्रभाव शामिल हैं। स्रोत कोड में पिक्सेल की संख्या, प्रभाव पैरामीटर, या वाईफाई रिमोट इंटरफ़ेस को अपनी आवश्यकताओं के अनुसार समायोजित करने के लिए स्वतंत्र महसूस करें।

// 24 बिट्स पीओवी लालटेन - 2019 पीटर सेर्गे

#शामिल ESP8266WiFiMulti.h

#WiFiClient.h शामिल करें #ESP8266WebServer.h शामिल करें #WebSocketsServer.h शामिल करें #Adafruit_NeoPixel.h शामिल करें

#डीबग 1 परिभाषित करें

स्ट्रिंग टेक्स्ट [3] = {"इंस्ट्रक्टेबल्स", "अर्डुइनो", "कॉन्टेस्ट"};

कास्ट 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 - सफेद};

कास्ट अहस्ताक्षरित चार दुनिया [२४] [४२] 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 } };

कास्ट अहस्ताक्षरित चार मिर्च [२४] [८+३१] 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 } };

कास्ट अहस्ताक्षरित चार एबीसी [8] [27 * 5] कार्यक्रम = {

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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 } };

कास्ट अहस्ताक्षरित चार सांता [४] [८] [४१] कार्यक्रम = {

{ { 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

#NEOPIXELS_PIN D3 परिभाषित करें #NEO_NUMPIXELS 24 परिभाषित करें

Adafruit_NeoPixel पिक्सेल = Adafruit_NeoPixel(NEO_NUMPIXELS, NEOPIXELS_PIN, NEO_GRB + NEO_KHZ800);

आईपीपता स्थानीयआईपीपता;

आईपीएड्रेस एपीआईपीपता; वाईफाई सर्वर सर्वर (80); WebSocketsServer webSocket = WebSocketsServer(81); uint8_t कैनवास [२४] [६५]; uint8_t सह = 0; uint8_t दृश्य = 0; uint8_t numScenes = 5; स्ट्रिंग दृश्य [6] = { "विश्व", "सांता", "काली मिर्च", "पाठ", "मैट्रिक्स"}; uint8_t घुमाएँ = 1; uint8_t numGreens = 0; // मैट्रिक्स गिरने वाली रेखाओं की संख्या uint8_t ग्रीन्स [६४] [२]; // मैट्रिक्स रैंडम पॉज़ x और y गिरने वाली रेखाओं का

व्यर्थ व्यवस्था() {

अगर (डीबग) {Serial.begin(9600); Serial.println ("प्रारंभ …"); } देरी(३०००);

ESP8266WiFiमल्टी वाईफाईमल्टी;

wifiMulti.addAP ("wifissid", "pwd"); wifiMulti.addAP ("mobilessid", "pwd"); wifiMulti.addAP ("लैपटॉप्सिड", "पीडब्ल्यूडी"); अगर (DEBUG) सीरियल.प्रिंट ("कनेक्टिंग स्टेशन से"); जबकि (wifiMulti.run() != WL_CONNECTED) {देरी (1000); अगर (डीबग) सीरियल.प्रिंट ("।"); } अगर (डीबग) सीरियल.प्रिंट्लन (""); अगर (डीबग) सीरियल.प्रिंट ("वाईफाई कनेक्टेड: एसएसआईडी ="); अगर (DEBUG) Serial.println (WiFi. SSID ()); लोकलआईपीड्रेस = वाईफाई.लोकलआईपी (); अगर (डीबग) सीरियल.प्रिंट ("स्थानीय स्टेशन आईपी पता:"); अगर (DEBUG) Serial.println(localIPaddress);

सर्वर। शुरू ();

अगर (DEBUG) Serial.println ("सर्वर (80) शुरू हुआ"); webSocket.begin (); webSocket.onEvent (webSocketEvent); अगर (DEBUG) Serial.println ("वेबसॉकेट (81) शुरू हुआ"); uint8_t कोलाई = 0; for (int i=0; i<24; i++) { for (int j=0; j<64; j++) {कैनवास[j] = coli++; कोलाई = कोलाई% 7; } कैनवास [६४] = ०; } पिनमोड (INFRATRIGGER_PIN, INPUT); अटैचइंटरप्ट (डिजिटलपिनटोइंटरप्ट (INFRATRIGGER_PIN), पेंट, राइजिंग); पिक्सल। शुरू (); पिक्सल.शो (); अगर (डीबग) { सीरियल.प्रिंट ("नियोपिक्सल शुरू हुआ, NUMPIXELS:"); Serial.println (pixels.numPixels ()); } }

शून्य webSocketEvent (uint8_t संख्या, WStype_t प्रकार, uint8_t * पेलोड, size_t लंबाई) {

अगर (टाइप == WStype_TEXT) {स्ट्रिंग req = स्ट्रिंग ((कॉन्स्ट चार *) पेलोड); अगर (डीबग) { सीरियल.प्रिंट ("81 अनुरोध:"); Serial.println (req); } processReq (req); } }

स्ट्रिंग rip2 (स्ट्रिंग एस) {

स्ट्रिंग रेस; इंट आई = 0; जबकि (एस ! = '/') मैं ++; मैं++; जबकि (एस ! = '/') मैं ++; मैं++; जबकि(s!='/' && s!=' ' && s!='\r' && s!='\n') res += s[i++]; वापसी रेस; }

शून्य प्रक्रियारेक (स्ट्रिंग अनुरोध) {

अगर (req.indexOf("/rotate") != -1) { रोटेट = 1; } और अगर (req.indexOf("/scene") != -1) { रोटेट = 0; स्ट्रिंग एससी = rip2 (req); अगर (isDigit(sc[0])) दृश्य = sc.toInt (); अन्य {दृश्य = 0; के लिए (int i=0; i

शून्य लूप () {

वेबसॉकेट.लूप (); वाईफाई क्लाइंट क्लाइंट = सर्वर उपलब्ध (); अगर (! ग्राहक) {वापसी; } स्ट्रिंग req = client.readStringUntil('\r'); अगर (डीबग) {सीरियल प्रिंट ("80 अनुरोध:"); Serial.println (req); } processReq (req);

क्लाइंट.फ्लश ();

स्ट्रिंग s = "HTTP/1.1 200 OK\r\nसामग्री-प्रकार: टेक्स्ट/एचटीएमएल; charset=UTF-8\r\nपहुंच-नियंत्रण-अनुमति-शीर्षलेख: सामग्री-प्रकार\r\nपहुंच-नियंत्रण-अनुमति दें-उत्पत्ति: *\r\nकनेक्शन: बंद करें\r\n\r\n"; s + = "लोकलआईपी:" + ipToString (लोकलआईपी एड्रेस) + ""; एस + = "एपीआईपी:" + आईपीटोस्ट्रिंग (एपीआईपीड्रेस) + ""; क्लाइंट.प्रिंट (ओं); देरी (100); क्लाइंट.स्टॉप (); }

शून्य पेंट () {

for (int i=0; i<65; i++) { for (int j=0; j<24; j++) { unsigned char ind = कैनवास[j]; pixel.setPixelColor(j, pixels. Color(palette[ind][0], पैलेट[ind][1], पैलेट[ind][2])); } पिक्सल.शो (); देरीमाइक्रोसेकंड(10); } सह = (सह + १)% ४०; अगर (घुमाएं) { अगर (सह == 0) {दृश्य = (दृश्य + 1)% numScenes; अगर (डीबग) {सीरियल प्रिंट ("सीन:"); सीरियल.प्रिंट्लन (दृश्य); } } अगर (सह == 0) लोड कैनवास (दृश्य [दृश्य]); } अगर (दृश्य [दृश्य]। इंडेक्सऑफ ("सांता")! = -1) {के लिए (int i=0; i<8; i++) for (int j=0; j=co && j

शून्य लोड कैनवास (स्ट्रिंग क्या) {

स्पष्ट कैनवास (); अगर (डीबग) {सीरियल.प्रिंट ("लोडकैनवास:"); Serial.println (क्या); } अगर (what.indexOf("TEXT") != -1) { for (int l=0; l<3; l++) for (int n=0; n=12 && j<51) कैनवास j] = pgm_read_byte_near (काली मिर्च + j-12); } और अगर (what.indexOf("WORLD") != -1) { for (int i=0; i<24; i++) for (int j=0; j=11 && j<53) कैनवस [जे] = pgm_read_byte_near (दुनिया + j-11); } }

शून्य स्पष्ट कैनवास () {

अगर (DEBUG) Serial.println ("clearCanvas"); के लिए (int i=0; i<24; i++) for (int j=0; j<65; j++) कैनवास [j] = 0; }

स्ट्रिंग ipToString (आईपीएड्रेस आईपी) {

स्ट्रिंग एस = ""; के लिए (int i=0; i<4; i++) s += i ? "।" + स्ट्रिंग (आईपी ): स्ट्रिंग (आईपी ); वापसी एस; }

सिफारिश की: