विषयसूची:
- चरण 1: भागों की सूची
- चरण 2: विधानसभा के चरण
- चरण 3: 1. डीसी मोटर के साथ स्थिर आधार
- चरण 4: 2. नियोपिक्सल अटैचमेंट
- चरण 5: 3. घूर्णन रिग की विधानसभा
- चरण 6: 4. विद्युत घटकों की वायरिंग
- चरण 7: 5. Arduino कोड
वीडियो: पीओवी एनिमेशन के साथ आगमन लालटेन: 7 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:21
पर्सिस्टेंस ऑफ विजन (पीओवी) परियोजनाएं काफी समय से हैं, सरल और सस्ते 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: विधानसभा के चरण
इन चरणों का पालन करके इकाई को पूरी तरह से इकट्ठा किया जा सकता है।
- स्थिर आधार एक डीसी मोटर और एक स्विच के साथ बनाया गया है।
- Neopixels को मिलाया जाता है और स्ट्रॉ शाफ्ट से जोड़ा जाता है।
- रोटेटिंग रिग को माइक्रोकंट्रोलर, स्लाइड स्विच, इंफ्रा सेंसर और स्ट्रॉ शाफ्ट के साथ बनाया गया है।
- तारों को विद्युत भागों के कनेक्टर्स पर मिलाया जाता है
- Arduino कोड Wemos माइक्रोकंट्रोलर पर अपलोड किया गया है।
चरण 3: 1. डीसी मोटर के साथ स्थिर आधार
- केस पर एक छेद ड्रिल करें और डीसी मोटर को इस तरह ठीक करें कि शाफ्ट ऊपर की ओर इंगित करे।
- नीचे दिए गए वायरिंग आरेख के बाद रॉकर पावर स्विच और एक नियमित 5V-12V बिजली आपूर्ति एडाप्टर को मिलाएं।
- संदर्भित डीसी मोटर 12 वी पर लगभग 800 आरपीएम (रोटेशन प्रति मिनट) पर घूमती है, जिसके परिणामस्वरूप स्ट्रॉ शाफ्ट के वास्तविक पवन प्रतिरोध के आधार पर अंतिम सेटअप में लगभग 10 एफपीएस (फ्रेम प्रति सेकंड) होता है।
- पावर सप्लाई एडॉप्टर को आउटलेट (110 या 220V) से कनेक्ट करें।
- घुमाव चालू करें और डीसी मोटर की कार्यप्रणाली की जांच करें।
इसके बाद, घूर्णन रिग को आधार के डीसी मोटर शाफ्ट पर इकट्ठा और तय किया जाएगा।
चरण 4: 2. नियोपिक्सल अटैचमेंट
- जैसा कि चित्र में दिखाया गया है, पुआल के सिरे को दो विपरीत पक्षों में एक छोर पर लगभग 1.5 सेमी में काटें।
- फीता तीन लंबे तार स्ट्रॉ तक। ये Neopixel पिन को रिग पर Wemos पोर्ट पर कनेक्ट करेंगे।
- Neopixel पिन GND, 5V और D-IN पर तीन तारों को मिलाएं।
- नियोपिक्सल सोल्डरेड से तारों को साफ-सुथरा गर्म गोंद एलईडी बार के ठीक बीच में सभी तरह से समाप्त होता है।
- पुआल के कटे हुए पंखों को अलग करें और उन्हें एलईडी बार के केंद्र (एक तरफ तारों के ऊपर) पर सटीक समरूपता में गर्म गोंद दें।
- मैचिंग वेमोस पोर्ट तक पहुंचने के लिए तार स्ट्रॉ के अंदर से रिग तक चलते हैं।
चरण 5: 3. घूर्णन रिग की विधानसभा
डीसी मोटर शाफ्ट को फिक्स करने से पहले पूरे रिग को पूरी तरह से इकट्ठा किया जाना है। ऐसा इसलिए है क्योंकि फिक्सिंग स्पॉट को संतुलित करने की आवश्यकता है ताकि रोटेशन पूरी तरह से बिना किसी झंझट के केंद्रित हो।
- Wemos D1 मिनी माइक्रोकंट्रोलर को गर्म गोंद और बैटरी धारक के एक तरफ स्लाइड स्विच जैसा कि चित्र दिखाता है।
- बैटरी होल्डर के दूसरी तरफ इंफ्रा रिफ्लेक्शन सेंसर को गर्म करें।
- बैटरी को होल्डर में रखें।
- स्ट्रॉ के दूसरे सिरे को बैटरियों के ऊपर रखें और जकड़ें। एक छोटा पेंच या रबर की अंगूठी इसे करेगी। सुनिश्चित करें कि एक बार रिग 10 RPM पर घूमने लगे तो यह खो नहीं जाएगा।
- नीचे की तरफ गुरुत्वाकर्षण के पूरे रिग केंद्र का पता लगाएँ। इसे अपनी उंगली की नोक पर संतुलित करने से यह हो जाएगा।
- बैटरी होल्डर के निचले हिस्से में ठीक उसी जगह पर एक छोटा सा छेद करें।
- कुछ गर्म गोंद लगाएं और उस छेद में मोटर शाफ्ट को ठीक करें। सुनिश्चित करें कि गर्म गोंद मोटर बॉडी में नहीं जाता है। इसे तब तक स्थिर रखें जब तक गोंद सूख न जाए।
- श्वेत पत्र का एक छोटा सा टुकड़ा काटें और इसे स्थिर आधार पर इस तरह टेप करें कि अवरक्त परावर्तक सेंसर उस कागज के बिल्कुल पास घूम रहा हो। यह एनीमेशन के फ्रेम के ड्राइंग को हर घुमाव में सटीक स्थान पर ट्रिगर करेगा। चित्र इस प्रतिबिंब के टुकड़े को आधार के बाएं निचले कोने पर दिखाता है।
चरण 6: 4. विद्युत घटकों की वायरिंग
वायरिंग आरेख का अनुसरण करते हुए, विद्युत घटकों को निम्न चरणों में मिलाप करें। ध्यान दें कि Wemos D1 मिनी माइक्रोकंट्रोलर के एक ही पोर्ट को कई अलग-अलग तारों के साथ कई बार मिलाया जाएगा। यह कुछ अभ्यास लेता है, या वेमोस बंदरगाह पर टांका लगाने से पहले इन तारों को तैयारी में जोड़ता है।
- तीन तारों (GND, 5V और D-IN) को क्रमशः Wemos पोर्ट G, 5V और D3 पर मिलाया जाता है।
- इन्फ्रारेड रिफ्लेक्टिव सेंसर (VCC, GND, OUT) से दो तारों को क्रमशः Wemos पोर्ट 5V, G और D2 पर मिलाया जाता है।
- बैटरी होल्डर ग्राउंड (ब्लैक) वायर को Wemos पोर्ट G पर सोल्डर किया जाता है।
- बैटरी धारक सकारात्मक (लाल) तार को स्लाइड स्विच निकटतम पिन पर मिलाया जाता है।
- Wemos 5V पोर्ट को स्लाइड स्विच के दूसरे पिन पर टांका लगाया गया है।
चरण 7: 5. Arduino कोड
यह विशेष कोड पीओवी लालटेन के 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 ? "।" + स्ट्रिंग (आईपी ): स्ट्रिंग (आईपी ); वापसी एस; }
सिफारिश की:
जैक-ओ-लालटेन का लालटेन: 3 कदम
जैक-ओ-लालटेन का लालटेन: यह एक ऐसा प्रोजेक्ट है जिसे आप इन डरावने दिनों में बच्चों और परिवार के साथ घर पर आसानी से कर सकते हैं! इसमें आपके कद्दू में प्रकाश जोड़ना शामिल है (यह वास्तविक या कृत्रिम हो सकता है) ताकि आप सचमुच जैक-ओ-लालटेन का लालटेन प्राप्त कर सकें
PUBG थीम सॉन्ग+अरुडिनो के साथ एनिमेशन!: 13 कदम (चित्रों के साथ)
PUBG थीम सॉन्ग+एनीमेशन विद Arduino !: नमस्ते और इस मजेदार इंस्ट्रक्शनल में आपका स्वागत है! मुझे आशा है कि आप सभी अच्छे हैं और स्वस्थ रह रहे हैं। यह छोटा लेकिन अद्भुत प्रोजेक्ट PUBG थीम सॉन्ग बजाने और यहां तक कि arduino का उपयोग करके कुछ गेम एनिमेशन बनाने के बारे में है। उपयोग किए जाने वाले घटक बहुत ही ई
ब्लूटूथ ऐप के साथ आरजीबी एलईडी क्यूब + एनिमेशन निर्माता: 14 कदम (चित्रों के साथ)
ब्लूटूथ ऐप + एनिमेशन क्रिएटर के साथ आरजीबी एलईडी क्यूब: यह एक निर्देश योग्य है कि एक Arduino नैनो का उपयोग करके ब्लूटूथ ऐप द्वारा नियंत्रित 6x6x6 आरजीबी एलईडी (कॉमन एनोड्स) क्यूब कैसे बनाया जाए। संपूर्ण बिल्ड आसानी से 4x4x4 या 8x8x8 क्यूब के अनुकूल है। यह परियोजना ग्रेटस्कॉट से प्रेरित है। मैंने निर्णय लिया
पीओवी ग्लोब एनिमेशन के साथ: 6 कदम
एनिमेशन के साथ पीओवी ग्लोब: हाय मेकर्स, आज मैं आपको एक नए प्रोजेक्ट के बारे में बताऊंगा। पीओवी ग्लोब। दृष्टि के हठ। पीओवी या दृष्टि की दृढ़ता के लिए एक त्वरित परिचय: कोई भी एसी वोल्टेज प्रकाश वास्तव में 60 हर्ट्ज या प्रति सेकंड 60 बार की आवृत्ति पर चालू और बंद हो रहा है। हमारा दिमाग प्रति
बस आगमन के लिए परिवेशी प्रदर्शन: 6 कदम (चित्रों के साथ)
बस आगमन के लिए परिवेशी प्रदर्शन: हालांकि जानकारी देखने के लिए स्क्रीन लोकप्रिय हो सकती हैं, लेकिन वे निश्चित रूप से जानकारी का उपभोग करने का एकमात्र साधन नहीं हैं। हमारे आस-पास की जानकारी की कल्पना करने के कई अवसर हैं और इस परियोजना के साथ, हम हैक करना चाहते हैं