সুচিপত্র:
- ধাপ 1: অংশ তালিকা
- ধাপ 2: সমাবেশের ধাপ
- ধাপ 3: 1. ডিসি মোটর সহ স্টেশনারি বেস
- ধাপ 4: 2. নিওপিক্সেল সংযুক্তি
- ধাপ 5: 3. ঘূর্ণমান রিগ সমাবেশ
- ধাপ 6: 4. বৈদ্যুতিক উপাদানগুলির তারের
- ধাপ 7: 5. আরডুইনো কোড
ভিডিও: POV অ্যানিমেশন সহ আগমনী লণ্ঠন: 7 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:01
দৃ 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: সমাবেশের ধাপ
এই ধাপগুলি অনুসরণ করে ইউনিটটি সম্পূর্ণরূপে একত্রিত করা যেতে পারে।
- একটি ডিসি মোটর এবং একটি সুইচ দিয়ে স্থির বেস তৈরি করা হয়।
- Neopixels soldered এবং খড় খাদ সঙ্গে সংযুক্ত করা হয়।
- ঘূর্ণমান রিগ মাইক্রোকন্ট্রোলার, স্লাইড সুইচ, ইনফ্রা সেন্সর এবং স্ট্র শ্যাফ্ট দিয়ে তৈরি।
- তারের বৈদ্যুতিক যন্ত্রাংশের সংযোগকারীদের উপর ঝালাই করা হয়
- Arduino কোড Wemos মাইক্রোকন্ট্রোলারে আপলোড করা হয়।
ধাপ 3: 1. ডিসি মোটর সহ স্টেশনারি বেস
- ক্ষেত্রে একটি গর্ত ড্রিল এবং ডিসি মোটর ঠিক করুন যাতে খাদ উপরের দিকে নির্দেশ করে।
- রকার পাওয়ার সুইচ এবং একটি নিয়মিত 5V-12V পাওয়ার সাপ্লাই অ্যাডাপ্টার সোল্ডার নীচের তারের চিত্রের পরে।
- উল্লেখিত ডিসি মোটর 12V এ প্রায় 800 RPM (প্রতি মিনিটে ঘূর্ণন) ঘুরছে, যার ফলে চূড়ান্ত খাদে প্রকৃত বায়ু প্রতিরোধের উপর নির্ভর করে চূড়ান্ত সেটআপের মধ্যে প্রায় 10 FPS (প্রতি সেকেন্ডে ফ্রেম)।
- পাওয়ার সাপ্লাই অ্যাডাপ্টারটি আউটলেটে (110 বা 220V) সংযুক্ত করুন।
- রকার চালু করুন এবং ডিসি মোটরের কাজ পরীক্ষা করুন।
পরবর্তী, ঘোরানো রিগ একত্রিত করা হবে এবং বেসের ডিসি মোটর শ্যাফ্টের উপর স্থির করা হবে।
ধাপ 4: 2. নিওপিক্সেল সংযুক্তি
- ছবি দেখানো হিসাবে প্রায় 1.5 সেন্টিমিটার এক প্রান্তে দুটি বিপরীত দিকের খড়ের শেষটি কেটে নিন।
- খড় উপরে তিনটি দীর্ঘ তারের জরি। এগুলি রিগের উপর ওয়েমোস পোর্টে নিওপিক্সেল পিনগুলিকে সংযুক্ত করবে।
- নিওপিক্সেল পিন GND, 5V এবং D-IN এর উপর তিনটি তারের সোল্ডার করুন।
- গরম আঠালো Neopixels soldered থেকে তারের ঝরঝরে এবং পরিপাটি LED বার ঠিক মাঝখানে সব পথ শেষ।
- খড়ের কাটা ডানাগুলিকে আলাদা করে টানুন এবং গরম আঠালোগুলি সঠিক সমান্তরালভাবে LED বারের কেন্দ্রে (একপাশে তারের উপরে)।
- তারগুলো খড়ের ভিতর দিয়ে রিগ পর্যন্ত চলে যা মিলে যাওয়া ওয়েমোস বন্দরগুলিতে পৌঁছায়।
ধাপ 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 এ বিক্রি করা হয়।
- ব্যাটারি হোল্ডার গ্রাউন্ড (কালো) তারটি ওয়েমোস পোর্ট জি -তে বিক্রি করা হয়।
- ব্যাটারি হোল্ডার পজিটিভ (লাল) তারের স্লাইড সুইচ কাছাকাছি পিন উপর soldered হয়।
- Wemos 5V পোর্ট স্লাইড সুইচের অন্য পিনে সোল্ডার করা হয়।
ধাপ 7: 5. আরডুইনো কোড
এই বিশেষ কোডটি 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 ); ফিরে এস; }
প্রস্তাবিত:
ভিসুইনো সহ SSD1331 OLED ডিসপ্লে (SPI) এ বিটম্যাপ অ্যানিমেশন: 8 টি ধাপ
ভিসুইনো সহ SSD1331 OLED Display (SPI) এ বিটম্যাপ অ্যানিমেশন: এই টিউটোরিয়ালে আমরা Visuino দিয়ে SSD1331 OLED ডিসপ্লে (SPI) এ অ্যানিমেশনের সহজ আকারে একটি বিটম্যাপ ইমেজ প্রদর্শন করব এবং ঘুরে বেড়াব। ভিডিওটি দেখুন
ম্যাজিক লণ্ঠন: 6 টি ধাপ
ম্যাজিক লণ্ঠন: প্রজেক্টরের অগ্রদূত ক্রিস্টিয়ান হিউজেন্স জাদু লণ্ঠন তৈরি করেছিলেন, যা একটি অবতল আয়না ব্যবহার করে একটি প্রদীপের আলোকে যতটা সম্ভব প্রতিফলিত করে এবং কাচের একটি ছোট শীট দিয়ে প্রতিস্থাপন করে যার উপর ছবিটি প্রক্ষিপ্ত করা হয়েছিল, তিনি করেছিল
পরিধানযোগ্য আলো জ্যাক-ও-লণ্ঠন: 5 টি ধাপ (ছবি সহ)
পরিধানযোগ্য লাইট আপ জ্যাক-ও-লণ্ঠন: এখানে হ্যালোউইনের ঠিক আগে একটি দুর্দান্ত 3D মুদ্রিত প্রকল্প রয়েছে। নিচের ধাপগুলো অনুসরণ করুন, আপনার নিজেকে পরিধানযোগ্য লাইট আপ থ্রিডি প্রিন্টেড জ্যাক-ও-লণ্ঠন বানানোর জন্য, যা আপনি আপনার গলায় পরতে পারেন, অথবা হ্যালোতে আপনাকে পেতে আপনার কাজের ডেস্কে রাখতে পারেন
জ্যাক-ও-লণ্ঠনের লণ্ঠন: 3 টি ধাপ
জ্যাক-ও-লণ্ঠনের লণ্ঠন: এটি এমন একটি প্রকল্প যা আপনি এই ভয়ঙ্কর দিনগুলিতে বাচ্চাদের এবং পরিবারের সাথে বাড়িতে সহজেই করতে পারেন! এটি আপনার কুমড়ায় আলো যোগ করে
অ্যানিমেশন সহ POV গ্লোব: 6 টি ধাপ
অ্যানিমেশন সহ পিওভি গ্লোব: হাই মেকার্স, আজ আমি আপনাকে একটি নতুন প্রকল্প সম্পর্কে বলব। পিওভি গ্লোব। দৃষ্টি প্রতিবন্ধকতা. POV- এর একটি দ্রুত ভূমিকা বা দৃ of়তার দৃ :়তা: যে কোন AC ভোল্টেজের আলো আসলে 60hz বা 60 বার প্রতি সেকেন্ডের ফ্রিকোয়েন্সি তে জ্বলছে এবং বন্ধ হচ্ছে। আমাদের মস্তিষ্ক প্রতি