সুচিপত্র:

POV অ্যানিমেশন সহ আগমনী লণ্ঠন: 7 টি ধাপ
POV অ্যানিমেশন সহ আগমনী লণ্ঠন: 7 টি ধাপ

ভিডিও: POV অ্যানিমেশন সহ আগমনী লণ্ঠন: 7 টি ধাপ

ভিডিও: POV অ্যানিমেশন সহ আগমনী লণ্ঠন: 7 টি ধাপ
ভিডিও: In depth Concept - What is Heat ? আগুন কি ? অ্যানিমেশন সহ ব্যাখা । 2024, নভেম্বর
Anonim
Image
Image

দৃ Pers়তার দৃষ্টি (POV) প্রকল্পগুলি বেশ কিছুদিন ধরে রয়েছে, সহজ এবং সস্তা DIY কিটগুলি অনলাইনে কেনার জন্য উপলব্ধ। POV একটি অপটিক্যাল বিভ্রমের উপর ভিত্তি করে যেখানে আমরা আলোকিত বস্তুগুলি দেখার পর বস্তুটি আর আলোকিত হয় না এমনকি অল্প সময়ের জন্য হলেও। Ditionতিহ্যবাহী POV প্রকল্পগুলি এই নীতির উপর ভিত্তি করে স্থির চিত্রগুলি বা সর্বাধিক চলমান ঘড়িগুলি প্রদর্শন করে। যাইহোক, পর্যাপ্ত ক্লকস্পিড এবং স্মার্ট আরজিবি এলইডির মাইক্রোকন্ট্রোলার ব্যবহার করে অ্যানিমেশন প্রজেক্ট করতে কিছুই বাধা দেয় না। এই বিশেষ অ্যানিমেশনটি হল একটি রেইনডিয়ার টেনে আনা ক্রিসমাস স্লাইট অ্যাডভেন্ট ডেকোরেশনের জন্য যা ওয়েব ব্রাউজার সহ যেকোন ওয়াইফাই সক্ষম মোবাইল ডিভাইস দ্বারা দূর থেকে নিয়ন্ত্রিত হতে পারে। ফানুসটি Arduino পরিবারের Wemos ESP8266 D1 মিনি মাইক্রোকন্ট্রোলার দ্বারা চালিত। অ্যানিমেটেড 8-বিট রেইনডিয়ার স্লাইট ফ্রেমের ক্রেডিট একজন মেধাবী গ্রাফিক শিল্পী রিচার্ড ফেনিওকে দেওয়া হয়।

ধাপ 1: অংশ তালিকা

সমাবেশের ধাপ
সমাবেশের ধাপ

এই প্রকল্পের জন্য আপনার একটি কেস প্রয়োজন হবে যা ঘোরানো ইউনিটটি টিপ না করেই যথেষ্ট ভারী। একটি পুরানো পিএসইউ কেস নিখুঁত, কেবল ক্যাপাসিটারগুলিকে বিচ্ছিন্ন করার আগে স্রাব করতে সতর্ক থাকুন। ডিসি মোটরকে পাওয়ার জন্য আপনার যেকোনো ধরনের 5V-12V পাওয়ার সাপ্লাই অ্যাডাপ্টারের প্রয়োজন হবে। সত্যিই 500mA এবং এর উপরে থেকে যে কোন এম্পারেজ এটি করবে।

প্রয়োজনীয় অংশগুলি ওয়েবশপ লিঙ্ক এবং বর্তমান মূল্য সহ নীচে তালিকাভুক্ত করা হয়েছে।

  • 2pcs 18650 ব্যাটারি, USD 4, 78
  • ব্যাটারি হোল্ডার 2x18650, USD 0, 63 এর জন্য
  • Wemos D1 মিনি, USD 2, 14
  • কালো খড়, USD 0, 10
  • ইনফ্রারেড প্রতিফলিত সেন্সর, USD 0, 38
  • 250V পাওয়ার রকার সুইচ, USD 0, 10
  • টগল স্লাইড সুইচ, USD 0, 02
  • 6-900rpm ডিসি মোটর, USD 3, 99
  • Adafruit Neopixel WS2812 8-bit, USD 1, 01

সামগ্রিক খরচ 15 মার্কিন ডলারের কম, কিন্তু আপনার কিছু হাত সরঞ্জাম, ড্রিলিং, গরম -আঠালো, সোল্ডারিং সরঞ্জাম এবং দক্ষতার সাথেও প্রয়োজন হবে।

ধাপ 2: সমাবেশের ধাপ

এই ধাপগুলি অনুসরণ করে ইউনিটটি সম্পূর্ণরূপে একত্রিত করা যেতে পারে।

  1. একটি ডিসি মোটর এবং একটি সুইচ দিয়ে স্থির বেস তৈরি করা হয়।
  2. Neopixels soldered এবং খড় খাদ সঙ্গে সংযুক্ত করা হয়।
  3. ঘূর্ণমান রিগ মাইক্রোকন্ট্রোলার, স্লাইড সুইচ, ইনফ্রা সেন্সর এবং স্ট্র শ্যাফ্ট দিয়ে তৈরি।
  4. তারের বৈদ্যুতিক যন্ত্রাংশের সংযোগকারীদের উপর ঝালাই করা হয়
  5. Arduino কোড Wemos মাইক্রোকন্ট্রোলারে আপলোড করা হয়।

ধাপ 3: 1. ডিসি মোটর সহ স্টেশনারি বেস

1. ডিসি মোটর সহ স্টেশনারি বেস
1. ডিসি মোটর সহ স্টেশনারি বেস
1. ডিসি মোটর সহ স্টেশনারি বেস
1. ডিসি মোটর সহ স্টেশনারি বেস
1. ডিসি মোটর সহ স্টেশনারি বেস
1. ডিসি মোটর সহ স্টেশনারি বেস
  1. ক্ষেত্রে একটি গর্ত ড্রিল এবং ডিসি মোটর ঠিক করুন যাতে খাদ উপরের দিকে নির্দেশ করে।
  2. রকার পাওয়ার সুইচ এবং একটি নিয়মিত 5V-12V পাওয়ার সাপ্লাই অ্যাডাপ্টার সোল্ডার নীচের তারের চিত্রের পরে।
  3. উল্লেখিত ডিসি মোটর 12V এ প্রায় 800 RPM (প্রতি মিনিটে ঘূর্ণন) ঘুরছে, যার ফলে চূড়ান্ত খাদে প্রকৃত বায়ু প্রতিরোধের উপর নির্ভর করে চূড়ান্ত সেটআপের মধ্যে প্রায় 10 FPS (প্রতি সেকেন্ডে ফ্রেম)।
  4. পাওয়ার সাপ্লাই অ্যাডাপ্টারটি আউটলেটে (110 বা 220V) সংযুক্ত করুন।
  5. রকার চালু করুন এবং ডিসি মোটরের কাজ পরীক্ষা করুন।

পরবর্তী, ঘোরানো রিগ একত্রিত করা হবে এবং বেসের ডিসি মোটর শ্যাফ্টের উপর স্থির করা হবে।

ধাপ 4: 2. নিওপিক্সেল সংযুক্তি

2. Neopixel সংযুক্তি
2. Neopixel সংযুক্তি
2. Neopixel সংযুক্তি
2. Neopixel সংযুক্তি
  1. ছবি দেখানো হিসাবে প্রায় 1.5 সেন্টিমিটার এক প্রান্তে দুটি বিপরীত দিকের খড়ের শেষটি কেটে নিন।
  2. খড় উপরে তিনটি দীর্ঘ তারের জরি। এগুলি রিগের উপর ওয়েমোস পোর্টে নিওপিক্সেল পিনগুলিকে সংযুক্ত করবে।
  3. নিওপিক্সেল পিন GND, 5V এবং D-IN এর উপর তিনটি তারের সোল্ডার করুন।
  4. গরম আঠালো Neopixels soldered থেকে তারের ঝরঝরে এবং পরিপাটি LED বার ঠিক মাঝখানে সব পথ শেষ।
  5. খড়ের কাটা ডানাগুলিকে আলাদা করে টানুন এবং গরম আঠালোগুলি সঠিক সমান্তরালভাবে LED বারের কেন্দ্রে (একপাশে তারের উপরে)।
  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. ব্যাটারি হোল্ডার গ্রাউন্ড (কালো) তারটি ওয়েমোস পোর্ট জি -তে বিক্রি করা হয়।
  4. ব্যাটারি হোল্ডার পজিটিভ (লাল) তারের স্লাইড সুইচ কাছাকাছি পিন উপর soldered হয়।
  5. Wemos 5V পোর্ট স্লাইড সুইচের অন্য পিনে সোল্ডার করা হয়।

ধাপ 7: 5. আরডুইনো কোড

5. Arduino কোড
5. Arduino কোড

এই বিশেষ কোডটি POV ফানুস এর ২ b বিট সংস্করণের জন্য, ওয়েব ব্রাউজার সহ যেকোন মোবাইল ডিভাইস দ্বারা দূরবর্তীভাবে নিয়ন্ত্রিত হতে পারে এবং বিশ্ব মানচিত্র, ম্যাট্রিক্স অ্যানিমেশন ইফেক্ট, এবং রেইনডিয়ার স্লাইট অ্যানিমেশনের মত ভিজ্যুয়াল ইফেক্টের বৈশিষ্ট্য রয়েছে। সোর্স কোডে আপনার প্রয়োজন অনুসারে পিক্সেলের সংখ্যা, ইফেক্ট প্যারামিটার বা ওয়াইফাই রিমোট ইন্টারফেস সামঞ্জস্য করুন।

// 24 বিট POV লণ্ঠন - 2019 পিটার Csurgay

#অন্তর্ভুক্ত ESP8266WiFiMulti.h

#অন্তর্ভুক্ত WiFiClient.h #অন্তর্ভুক্ত ESP8266WebServer.h #WebSocketsServer.h #অন্তর্ভুক্ত Adafruit_NeoPixel.h

#ডিবাগ সংজ্ঞায়িত করুন 1

স্ট্রিং টেক্সট [3] = {"INSTRUCTABLES", "ARDUINO", "CONTEST"};

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 unsigned char world [24] [42] প্রোগ্রাম =

{ { 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] প্রোগ্রাম =

{ { 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 unsigned char abc [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 } };

const unsigned char santa [4] [8] [41] প্রোগ্রাম = {

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

IPAddress localIPaddress;

IPAddress apIPaddress; ওয়াইফাই সার্ভার সার্ভার (80); WebSocketsServer webSocket = WebSocketsServer (81); uint8_t ক্যানভাস [24] [65]; uint8_t co = 0; uint8_t দৃশ্য = 0; uint8_t numScenes = 5; স্ট্রিং দৃশ্য [6] = {"WORLD", "SANTA", "PEPPER", "TEXT", "MATRIX"}; uint8_t ঘুরান = 1; uint8_t numGreens = 0; // পতিত রেখার ম্যাট্রিক্স সংখ্যা uint8_t সবুজ [64] [2]; // পতনের রেখার ম্যাট্রিক্স এলোমেলো পজ x এবং y

অকার্যকর সেটআপ() {

যদি (DEBUG) {Serial.begin (9600); Serial.println ("Start…"); } বিলম্ব (3000);

ESP8266WiFiMulti wifiMulti;

wifiMulti.addAP ("wifissid", "pwd"); wifiMulti.addAP ("mobilessid", "pwd"); wifiMulti.addAP ("laptopssid", "pwd"); যদি (DEBUG) Serial.print ("সংযোগকারী স্টেশন থেকে"); যখন (wifiMulti.run ()! = WL_CONNECTED) {বিলম্ব (1000); যদি (DEBUG) Serial.print ("।"); } যদি (DEBUG) Serial.println (""); যদি (DEBUG) Serial.print ("WiFi সংযুক্ত: SSID ="); যদি (DEBUG) Serial.println (WiFi. SSID ()); localIPaddress = WiFi.localIP (); যদি (DEBUG) Serial.print ("লোকাল স্টেশন আইপি ঠিকানা:"); যদি (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 ++) {for (int j = 0; j <64; j ++) {ক্যানভাস [j] = কোলি ++; কোলি = কোলি % 7; } ক্যানভাস [64] = 0; } pinMode (INFRATRIGGER_PIN, INPUT); attachInterrupt (digitalPinToInterrupt (INFRATRIGGER_PIN), পেইন্ট, RISING); পিক্সেল শুরু (); পিক্সেল শো (); যদি (DEBUG) {Serial.print ("Neopixel শুরু হয়েছে, NUMPIXELS:"); Serial.println (pixels.numPixels ()); }}

void webSocketEvent (uint8_t num, WStype_t type, uint8_t * payload, size_t length) {

যদি (type == WStype_TEXT) {String req = String ((const char *) payload); যদি (DEBUG) {Serial.print ("81 Req:"); Serial.println (req); } processReq (req); }}

স্ট্রিং রিপ 2 (স্ট্রিং গুলি) {

স্ট্রিং res; int i = 0; while (s ! = '/') i ++; আমি ++; while (s ! = '/') i ++; আমি ++; যখন (গুলি !; রিটার্ন রেজ; }

void processReq (স্ট্রিং req) {

যদি (req.indexOf ("/rotate")! = -1) {rotate = 1; } অন্যথায় যদি (req.indexOf ("/scene")! = -1) {rotate = 0; স্ট্রিং sc = rip2 (req); যদি (isDigit (sc [0])) দৃশ্য = sc.toInt (); অন্য {দৃশ্য = 0; জন্য (int i = 0; i

অকার্যকর লুপ () {

webSocket.loop (); WiFiClient client = server.available (); if (! client) {return; } স্ট্রিং req = client.readStringUntil ('\ r'); যদি (DEBUG) {Serial.print ("80 Req:"); Serial.println (req); } processReq (req);

client.flush ();

স্ট্রিং s = "HTTP/1.1 200 OK / r / n কনটেন্ট-টাইপ: text/html; charset = UTF-8 / r / n Access-Control-Allow-headers: Content-Type / r / n Access-Control-Allow-Origin: *\ 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 ++) {for (int j = 0; j <24; j ++) {স্বাক্ষরহীন চার ইন্ড = ক্যানভাস [জে] ; pixels.setPixelColor (j, pixels. Color (palette [ind] [0], palette [ind] [1], palette [ind] [2])); } pixels.show (); বিলম্ব মাইক্রোসেকেন্ড (10); } co = (co + 1) % 40; if (rotate) {if (co == 0) {scene = (scene+1) % numScenes; যদি (DEBUG) {Serial.print ("Scene:"); Serial.println (দৃশ্য); }} যদি (co == 0) loadCanvas (দৃশ্য [দৃশ্য]); } যদি (দৃশ্য [দৃশ্য]।

অকার্যকর লোডক্যানভাস (স্ট্রিং কি) {

clearCanvas (); যদি (DEBUG) {Serial.print ("loadCanvas:"); Serial.println (কি); } if (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) ক্যানভাস [j] = pgm_read_byte_near (world +j-11); }}

void clearCanvas () {

যদি (DEBUG) Serial.println ("clearCanvas"); (int i = 0; i <24; i ++) for (int j = 0; j <65; j ++) ক্যানভাস [j] = 0; }

স্ট্রিং ipToString (IPAddress ip) {

স্ট্রিং s = ""; জন্য (int i = 0; i <4; i ++) s+= i? "।" + স্ট্রিং (ip ): স্ট্রিং (ip ); ফিরে এস; }

প্রস্তাবিত: