সুচিপত্র:

শিল্পের জন্য গতিশীল LED আলো নিয়ন্ত্রক: 16 টি ধাপ (ছবি সহ)
শিল্পের জন্য গতিশীল LED আলো নিয়ন্ত্রক: 16 টি ধাপ (ছবি সহ)

ভিডিও: শিল্পের জন্য গতিশীল LED আলো নিয়ন্ত্রক: 16 টি ধাপ (ছবি সহ)

ভিডিও: শিল্পের জন্য গতিশীল LED আলো নিয়ন্ত্রক: 16 টি ধাপ (ছবি সহ)
ভিডিও: কিতাবুল ফেরাউয়ানা 1935 পৃষ্ঠা-বহু আগের পুরানো কিতাব-কুফরি ও ইসলামিক যন্ত্র-মন্ত্র-তন্ত্র 2024, জুলাই
Anonim
Image
Image

ভূমিকা:

আলোকসজ্জা চাক্ষুষ শিল্পের একটি গুরুত্বপূর্ণ দিক। এবং যদি আলো সময়ের সাথে পরিবর্তিত হতে পারে তবে এটি শিল্পের একটি উল্লেখযোগ্য মাত্রা হয়ে উঠতে পারে। এই প্রজেক্টটি একটি লাইট শোতে যোগ দিয়ে শুরু হয়েছিল এবং কিভাবে আলো একটি বস্তুর রঙ সম্পূর্ণভাবে পরিবর্তন করতে পারে তা অনুভব করে। আমরা আলো ফ্যাব্রিক আর্ট এই অন্বেষণ শুরু। এখন পর্যন্ত আমরা একটি পেইন্টিং এবং একটি ফটোগ্রাফ সহ 8 টুকরো জন্য গতিশীল আলো তৈরি করেছি। আলোর প্রভাবগুলি অন্তর্ভুক্ত করেছে: ভোর এবং সূর্যাস্তের অনুকরণ, একটি তরল পৃষ্ঠের মধ্য দিয়ে পানির নীচে আলো, মেঘে বজ্রপাত এবং শিল্পকর্মের অনুভূত রং এবং মেজাজকে নাটকীয়ভাবে পরিবর্তন করা। এই প্রভাবগুলির ভিডিওগুলি নীচের প্রোগ্রামিং ধাপে অন্তর্ভুক্ত করা হয়েছে।

এই নির্দেশযোগ্য একটি নিয়ামক তৈরি করে যা সময়ের সাথে পৃথকভাবে ঠিকানাযোগ্য LEDs এর একটি স্ট্রিং এর উজ্জ্বলতা এবং রঙ সেট করে। এটিতে আলোর একটি অংশের ম্যানুয়ালি টিউনিং (উজ্জ্বলতা এবং রঙ নির্ধারণ) এর জন্য একটি alচ্ছিক ইনপুট সার্কিট অন্তর্ভুক্ত রয়েছে। আপনি পথের মধ্যে আবিষ্কার করা অনেক সমস্যা এবং উন্নতি সম্পর্কেও জানতে পারবেন।

আমরা ছায়া বাক্স এবং ফ্রেম তৈরির জন্য একটি সংশ্লিষ্ট নির্দেশনাও লিখেছি। এটি দেখুন:

আপাতত আমরা ইলেকট্রনিক্স এবং প্রোগ্রামিং এর দিকে মনোনিবেশ করব।

ধাপ 1: উপকরণ:

  • WS2812 LEDs এর স্ট্রিং
  • Arduino Pro Mini 328 - 5V/16 MHz
  • FTDI বন্ধু ইউএসবি ইন্টারফেস
  • FTDI https://www.adafruit.com/product/260 এর জন্য USB A থেকে MiniB কেবল
  • 4700 Capf ক্যাপাসিটর
  • 5v পাওয়ার সাপ্লাই 5.5 x 2.1 সংযোগকারী
  • পাওয়ার সকেট 5.5 x 2.1
  • টার্মিনাল ব্লক
  • প্রোটোটাইপ সার্কিট বোর্ড
  • বাটন
  • Potentiometer
  • নির্দেশক LED
  • প্রতিরোধক
  • ফিতা কেবল
  • হেডার পুরুষ
  • হেডার মহিলা

ধাপ 2: সম্পদ:

  • আরডুইনো; ইন্টারেক্টিভ ডেভেলপমেন্ট এনভায়রনমেন্ট (IDE)
  • Adafruit NeoPixel লাইব্রেরি
  • NeoPixel টিউটোরিয়াল
  • Strandtest উদাহরণ প্রোগ্রাম
  • FastLED লাইব্রেরি
  • FastLED লিঙ্ক এবং ডকুমেন্টেশন
  • FastLED ফোরাম
  • আমাদের আলোর স্কেচ

ধাপ 3: কন্ট্রোলার ওভারভিউ:

কন্ট্রোলার ওভারভিউ
কন্ট্রোলার ওভারভিউ
কন্ট্রোলার ওভারভিউ
কন্ট্রোলার ওভারভিউ

পরিকল্পিত বেশ সহজ দেখায় এবং এটি। আমরা একটি ছবির ফ্রেমে এম্বেড করার জন্য আমাদের কন্ট্রোলার তৈরি করেছি। চিত্রিত সার্কিটের মাত্রা 2.25”x 1.3” x 0.5”। Ribচ্ছিক টিউনারটি একটি পৃথক সার্কিট বোর্ডে একটি ফিতা কেবল সংযোগকারী সহ নির্মিত হয়েছিল। এই ছবিগুলি আমাদের সমাপ্ত প্রকল্প দেখায়।

আমরা আমাদের নিয়ামককে ছবির ফ্রেমে ফিট করতে চাই তাই আমরা তার ছোট আকার, খরচ এবং 5v আউটপুটের জন্য Arduino pro mini 5v বেছে নিয়েছি। আপনার প্রয়োজন 5v বিদ্যুৎ সরবরাহের আকার আপনার প্রকল্পে কতগুলি LEDs এবং তাদের সর্বাধিক উজ্জ্বলতার উপর নির্ভর করবে। আমাদের প্রকল্পগুলি 3 টি এমপি এর কম দৌড়েছে এবং কিছু 1 এমপি এরও কম ছিল। বিভিন্ন ধরণের ঠিকানাযুক্ত রঙের এলইডি রয়েছে। আমরা তাদের "NeoPixel" পণ্যগুলির মধ্যে একটি হিসাবে Adafruit দ্বারা বিক্রি WS2812 দিয়ে শুরু করেছি। এটি আমাদের জন্য কাজ করেছে এবং আমরা অন্যান্য LEDs অনুসন্ধান করি নি। আমাদের বেশিরভাগ প্রকল্পে 60 মিটার স্ট্রিপ LED ব্যবহার করা হয়েছে। এখন পর্যন্ত আমাদের প্রকল্পগুলি 145 এলইডি পর্যন্ত বিস্তৃত।

চ্ছিক টিউনার:

আমরা একটি ছোট ইনপুট সার্কিট "টিউনার" তৈরি করেছি যাতে আমরা প্রতিটি সমন্বয়ের জন্য প্রোগ্রামটি সংশোধন এবং আপলোড না করে সহজেই আলোর অংশগুলি সামঞ্জস্য করতে পারি। এটি আছে: একটি আউটপুট LED যা ইনপুট মোড ফ্ল্যাশ করে; একটি বাটন যা ইনপুট মোড পরিবর্তন করে; এবং একটি নক যা সামঞ্জস্য করা যায়। Arduino তারপর একটি সংযুক্ত কম্পিউটারে মান আউটপুট করতে পারে।

ধাপ 4: বিল্ডিং কন্ট্রোলার:

বিল্ডিং কন্ট্রোলার
বিল্ডিং কন্ট্রোলার

উপাদান তালিকায় তারের, হিটশ্রিঙ্ক টিউবিং এবং আপনার প্রয়োজন হতে পারে এমন অন্যান্য সরবরাহ নেই। এলইডিগুলিতে 5 ভি এবং গ্রাউন্ড সার্কিটের জন্য আমি আপনাকে 26 গেজ বা ভারী আটকে থাকা তারের ব্যবহার করার পরামর্শ দিই। আমরা 26 গেজ ব্যবহার করেছি। এছাড়াও তারের উপর সিলিকন অন্তরণ ভাল কারণ এটি যেখানে আপনি সোল্ডারিং এর কাছাকাছি গলে না এবং এটি আরও নমনীয়। আমি দেখেছি উপাদানগুলির মধ্যে একটু বেশি জায়গা রেখে জালিয়াতি করা অনেক সহজ। উদাহরণস্বরূপ, ধাপ #6 এ চিত্রিত নিয়ামকটি পাওয়ার সকেট (কালো) এবং টার্মিনাল ব্লকের (নীল) হাউজিংয়ের মধ্যে স্থানটি প্রায় 1 ইঞ্চি। আমাদের মাউন্ট কভার কাঠ ব্যহ্যাবরণ দুই স্তর।

এই ধাপের ছবিটি alচ্ছিক টিউনারের জন্য ছয়টি যোগাযোগের মহিলা হেডারের ওয়্যারিং দেখায়। লাল এবং সবুজ তারের মধ্যে অব্যবহৃত যোগাযোগ বিপরীত সংযোগ রোধ করার জন্য টুথপিকের একটি টুকরা দিয়ে প্লাগ করা হয়।

ধাপ 5:

ছবি
ছবি
ছবি
ছবি
ছবি
ছবি

এখন, এটি একসাথে রাখা যাক যাতে এটি ছায়া বাক্স ফ্রেমে ফিট করে। ফ্রেমটি 3/4 "পুরু তাই আমাদের একটি নিয়ামক উচ্চতার সীমা 1/2"। ওয়ার্পিং সীমাবদ্ধ করার জন্য আমরা একে অপরের সাথে লম্বা শস্যের সাথে দুই টুকরো ব্যহ্যাবরণ শক্ত করে লেগে মাউন্ট প্লেট তৈরি করেছি। উপাদানগুলি সাজানো হয়েছে যাতে পাওয়ার জ্যাক ফ্রেমের কেন্দ্রে থাকবে। পাওয়ার জ্যাকের জন্য গর্তটি একটি জুয়েলার্সের করাত দিয়ে কেটে ফিট করা হয়েছিল। উপাদানগুলি মাউন্ট করার আগে একসঙ্গে তারযুক্ত করা হয়। সকেটটি ইপক্সির সাথে আঠালো। ডাবল পার্শ্বযুক্ত স্থায়ী ফেনা মাউন্ট স্কোয়ার স্ক্রু টার্মিনাল এবং arduino অধীনে ব্যবহার করা হয়। ক্যাপাসিটরের পাশাপাশি আরডুইনোকে ধরে রাখার জন্য গরম দ্রবীভূত আঠালো ব্যবহার করা হয়।

ধাপ 6: Buildingচ্ছিক টিউনার নির্মাণ:

বিল্ডিং ptionচ্ছিক টিউনার
বিল্ডিং ptionচ্ছিক টিউনার
বিল্ডিং ptionচ্ছিক টিউনার
বিল্ডিং ptionচ্ছিক টিউনার
বিল্ডিং ptionচ্ছিক টিউনার
বিল্ডিং ptionচ্ছিক টিউনার

আমরা একটি ছোট ইনপুট সার্কিট "টিউনার" তৈরি করেছি যাতে আমরা প্রতিটি সমন্বয়ের জন্য প্রোগ্রামটি সংশোধন এবং আপলোড না করে সহজেই আলোর অংশগুলি সামঞ্জস্য করতে পারি। এটি আছে: একটি আউটপুট LED যা ইনপুট মোডকে ফ্ল্যাশ করে; একটি বাটন যা ইনপুট মোড পরিবর্তন করে; এবং একটি নক যা সামঞ্জস্য করা যায়। Arduino তারপর একটি সংযুক্ত কম্পিউটারে মান আউটপুট করতে পারে।

এই ছবিগুলি টিউনারের বানোয়াট দেখায়। আমি পিছনে "গরিলা" টেপ দিয়ে coveredেকে দিলাম। যা ফিতা তারের স্থিতিশীল এবং একটি সুন্দর হ্যান্ডেল তৈরি করে।

ধাপ 7: প্রোগ্রামিং কন্ট্রোলার ওভারভিউ:

এটি সত্যিই প্রকল্পের কঠিন অংশ। আশা করি আপনি আমাদের কিছু কোড এবং পদ্ধতি ব্যবহার করতে সক্ষম হবেন।

অ্যাডাফ্রুট এবং ফাস্টএলইডি দুটি দুর্দান্ত লাইব্রেরি প্রকাশ করেছে যা আরডুইনোসকে অনেক ধরণের ঠিকানাযুক্ত এলইডি নিয়ন্ত্রণ করতে সক্ষম করে। আমরা এই দুটি লাইব্রেরি বিভিন্ন প্রকল্পে ব্যবহার করি। আমরা আপনাকে পরামর্শ দিচ্ছি যে আপনি এই লাইব্রেরির কিছু সম্পদ উপাদান পড়ুন এবং তাদের কিছু উদাহরণ প্রোগ্রাম অন্বেষণ করুন।

আমাদের প্রোগ্রামগুলির গিথুব সংগ্রহস্থল উপরের "সম্পদ" -এ তালিকাভুক্ত। মনে রাখবেন আমরা Arduino প্রোগ্রামিং এ দক্ষ থেকে অনেক দূরে তাই উন্নতির জন্য অনেক জায়গা আছে। সমস্যাগুলি নির্দেশ করুন এবং উন্নতিতে অবদান রাখুন।

ধাপ 8: প্রোগ্রামিং কন্ট্রোলারের উদাহরণ লহরী:

জেনি হল্টের "রিপল" ছিল আমাদের প্রথম সাফল্য। এই টুকরা একটি ছায়া বাক্স ফ্রেমে একটি ফ্যাব্রিক শিল্প মাছ। আলো নিচ থেকে নিম্ন স্তরের নীল। এবং উপর থেকে, উজ্জ্বল সাদা আলোর তিনটি শ্যাফ্ট ডান থেকে বামে চলে যাচ্ছে যেন পানির পৃষ্ঠে তরঙ্গ সরিয়ে প্রতিবিম্বিত হয়। এটি একটি সহজ ধারণা এবং প্রোগ্রামটি "টিউনার" ইনপুট ব্যবহার করে না। এটি অ্যাডাফ্রুট লাইব্রেরি সহ শুরু হয় এবং আউটপুট কন্ট্রোল পিন এবং এলইডি সংখ্যা সংজ্ঞায়িত করে। পরবর্তীতে আমরা সিরিয়াল কমিউনিকেশন এবং এলইডি স্ট্রিপের এককালীন সেটআপ করি। তারপরে আমরা বেশ কয়েকটি অভ্যন্তরীণ ভেরিয়েবলকে সংজ্ঞায়িত করি, যেমন, রিফ্রেশের মধ্যে বিলম্ব, আলোর একটি খাদের বৈশিষ্ট্য (সময়ের সাথে তার উজ্জ্বলতা এবং তার গতি), তারপর আলোর প্রতিটি শাখার জন্য ভেরিয়েবলগুলি বর্ণনা করুন।

"চেঞ্জব্রাইট ()" ফাংশনটি "আক্রমণের" সময় আলোর শ্যাফ্টের উজ্জ্বলতা বাড়াবে, "টিকিয়ে রাখার" সময় ধরে এটিকে ধ্রুবক ধরে রাখবে, তারপর "ক্ষয়" সময়ের উপর বিবর্ণ হয়ে যাবে।

"রিপল ()" ফাংশনটি প্রতিটি সময় বৃদ্ধির সময় আলোর তিনটি শ্যাফ্টের জন্য ডাকা হয়। অস্থায়ী উজ্জ্বলতা গণনা করা হয় সময়ের সাথে ধ্রুবক ক্ষয় হলে সর্বাধিক উজ্জ্বলতা থেকে ম্লান হওয়ার উপর ভিত্তি করে। তারপর প্রারম্ভিক অবস্থানের বামে প্রতিটি LED এর জন্য উজ্জ্বলতা গণনা করা হয়। আমরা আলোর একটি তরঙ্গ বাম দিকে চলার কথা কল্পনা করতে পারি। বাম দিকে প্রতিটি এলইডি লম্বা উজ্জ্বলতা সময় বক্ররেখার আগের বিন্দুতে রয়েছে। যখন এই তরঙ্গটি সমস্ত LEDs এর জন্য শূন্য উজ্জ্বলতা থাকে তখন সম্পন্ন পতাকাটি 1 তে সেট করা হয়।

প্রধান লুপ LEDs বন্ধ করে শুরু হয়। তারপর তিনটি ppেউয়ের প্রত্যেকটির জন্য এটি রিপল ফাংশনকে কল করে এবং তার সময় কাউন্টার বৃদ্ধি করে। যদি সম্পন্ন পতাকা সেট করা হয় তবে এটি তরঙ্গ শুরু করে। অবশেষে মূল লুপ নীচের অংশে একটি ফ্যাকাশে নীল আলো সেট করে।

ধাপ 9: প্রোগ্রামিং কন্ট্রোলারের উদাহরণ ভোর থেকে সন্ধ্যা:

Image
Image

জেনি হোল্টের "ডন টু ডাস্ক" এর পরবর্তী প্রকল্প, এইবার শরতের রঙের পাতাযুক্ত একটি গাছের আরেকটি ফ্যাব্রিক আর্ট পিস। আলোকসজ্জা হল দিনের সিমুলেশন যা ভোর থেকে শুরু করে বাম দিকে উজ্জ্বল মধ্য-দিনের দিকে অগ্রসর হয় এবং তারপরে লাল সূর্যাস্তের রং এবং রাতের দিকে অগ্রসর হয়। এখানে চ্যালেঞ্জ হল 66 এলইডি স্ট্রিপের উপর সময়ের সাথে রঙ এবং উজ্জ্বলতা বদলানোর বিবরণকে সহজতর করা। অন্য চ্যালেঞ্জ হল হালকা পরিবর্তনকে মসৃণভাবে পরিবর্তন করা। আমরা সত্যিই কম আলোতে আলোতে লক্ষণীয় স্থানান্তরের সাথে লড়াই করেছি। আমি ফাস্টএলডি লাইব্রেরি ব্যবহার করে মসৃণ আলোর রূপান্তর করার চেষ্টা করেছি কিন্তু সফল হয়নি। এই প্রোগ্রামের বর্ণনা কম বিস্তারিত হবে। আবার আমরা Adafruit এর NeoPixel লাইব্রেরি ব্যবহার করেছি।

আমরা উপরের বাম কোণে আমাদের এলইডি স্ট্রিপগুলি শুরু করার একটি সম্মেলনে গিয়েছিলাম। এটি এই টুকরোতে এলইডি লোকেশনকে কিছুটা বিশ্রী করে তোলে। ফ্রেমের চারপাশে 86 টি LED আছে। ভোরটি বাম দিকে আলো দেয় যা 62 থেকে 85 পর্যন্ত যায়। তারপর উপরের বাম থেকে নীচে ডানদিকে 0 থেকে 43 হয়।

এই প্রোগ্রামে "টিউনার" ইনপুট সার্কিট ব্যবহার করার ক্ষমতা অন্তর্ভুক্ত নয়।

এই প্রোগ্রাম ঝলকানি কমাতে সময় dithering ব্যবহার করে। আমরা প্রতি পঞ্চম এলইডি আপডেট করি তারপর একের পর এক শিফটে আসি এবং প্রতি পঞ্চম এলইডি আপডেট করি এবং যতক্ষণ না সেগুলি সব আপডেট হয় ততক্ষণ পুনরাবৃত্তি করি। এই কারণে আমরা LED স্ট্রিং এর দৈর্ঘ্যকে প্রকৃতপক্ষে একটু বেশি সংজ্ঞায়িত করি।

এখন এখানে আমরা কিভাবে আলোর প্যাটার্নের বিবরণকে সরল করেছি। আমরা নীচের বাম থেকে নীচের ডানদিকে ফ্রেমের চারপাশে 12 টি রেফারেন্স LED অবস্থান চিহ্নিত করেছি। তারপর আমরা এই রেফারেন্স LED এর জন্য লাল, সবুজ এবং নীল (RGB) LED তীব্রতা সংজ্ঞায়িত করেছি ভোর থেকে সন্ধ্যা পর্যন্ত 12 ব্রেক পয়েন্ট পর্যন্ত। প্রতিটি ব্রেক পয়েন্টের জন্য 4 বাইট আছে, শেষ ব্রেক পয়েন্টের পর থেকে সময়ের সংখ্যা গণনা করা হয়, এবং প্রতিটি আরজিবি রঙের জন্য এক বাইটের মান। এই অ্যারে মূল্যবান মেমরির 576 বাইট নেয়।

রেফারেন্স এলইডির মধ্যে অবস্থিত এলইডিগুলির মান খুঁজে পেতে আমরা এখন ব্রেকপয়েন্ট এবং আবার লিনিয়ার ইন্টারপোলেশনের মধ্যে মান খুঁজে পেতে লিনিয়ার ইন্টারপোলেশন ব্যবহার করি। ইন্টারপোলেশন ভালভাবে কাজ করার জন্য আমাদের কিছু ফ্লোটিং পয়েন্ট ইন্টারমিডিয়েট ভ্যালু ব্যবহার করতে হবে। ভোর থেকে সন্ধ্যা পর্যন্ত সময়কাল 120 অর্ধ সেকেন্ড সময়সীমার মধ্যে বিভক্ত।

ধাপ 10: প্রোগ্রামিং কন্ট্রোলারের উদাহরণ রেইন ফরেস্ট:

আমি যে পরবর্তী প্রকল্পটি বর্ণনা করব তা হল জুলি-অ্যান গ্যাসপার এর "রেইন ফরেস্ট"। এটি একটি বৃহত্তর ফ্যাব্রিক আর্ট পিস যার গভীরতা অনেক। এখানে আমরা প্রায় 4.4”গভীর একটি ছায়া বাক্স ব্যবহার করেছি। আলোর ধারণা হল পটভূমির আলোর মাত্রা যা নিচের দিকে ঝাপসা হয়ে উপরের পাতার মধ্য দিয়ে মাঝে মাঝে ঝলমল করে। এখানে ধারণাটি লম্বার অনুরূপ কিন্তু আলোর শ্যাফ্টগুলি নড়ে না। এবং তরঙ্গের বিপরীতে যেখানে উজ্জ্বলতা মসৃণভাবে পরিবর্তিত হয়, এখানে ঝলকানি উজ্জ্বলতা ওঠানামা করতে হবে। আমরা একটি 40 বাইট অ্যারে তৈরি করেছি যার নাম flicker_b2। আমরা দেখেছি ভিজ্যুয়াল ইফেক্ট ঠিক ছিল যদি আমরা সব ফ্লিকার লোকেশনে একই প্যাটার্ন ব্যবহার করতাম। আমরা ৫ টি ফ্লিকার লোকেশন স্থাপন করেছি। ভিজ্যুয়াল এফেক্ট পর্যালোচনা করার সময় আমরা দেখতে পেলাম যে একটি ফ্লিকার অন্যদের তুলনায় অনেক বেশি বিস্তৃত হওয়া দরকার। আমরা fill_gradient_RGB () ফাংশনটি ব্যবহার করেছি যা প্রায় 20 টি LED এর উপরে ঝলকানি প্রসারিত করতে। প্রতিটি ঝাঁকুনি স্বাধীন এবং এলোমেলোভাবে শুরু হয়। প্রতিটি ঝাঁকুনির সম্ভাবনা সেট করা যেতে পারে।

পটভূমির রঙ সেট করা এবং পুনরুদ্ধার করা প্রয়োজন যখন ফ্লিকার ব্যাকগ্রাউন্ডের চেয়ে উজ্জ্বল হয় না।

এই অংশের জন্য আমরা FastLED লাইব্রেরি ব্যবহার করেছি। এই প্রোগ্রামে #ডিফাইন টিউনিং টিউনিং বোর্ড প্লাগ ইন করা আছে কিনা তা নির্দেশ করার জন্য ব্যবহার করা হয়, টিউনার বোর্ড প্লাগ ইন না থাকলে এটি 0 হতে হবে। কম্পাইলার শুধুমাত্র প্রোগ্রাম সেগমেন্টগুলি অন্তর্ভুক্ত করে যা "টিউনার" ব্যবহার করে যখন এই ভেরিয়েবলটি 1 হয়।

ধাপ 11: প্রোগ্রামিং কন্ট্রোলার উদাহরণ ঝড়:

আরেকটি প্রকল্প ছিল মাইক বেকের "স্টর্ম" নামে একটি ছবি আলোকিত করা। ছবিটি ঝড়ের মেঘ। আমরা FastLED লাইব্রেরি ব্যবহার করি এবং টিউনিং ক্ষমতা অন্তর্ভুক্ত করি না। এখানকার আলোর ধারণা হল মেঘের চারপাশে তিনটি পয়েন্টে এলোমেলোভাবে বজ্রপাতের সাথে কিছু পটভূমি আলো। প্রতিটি স্থানে ফ্ল্যাশ তিনটি LEDs দ্বারা সৃষ্ট হয়। এই এলইডিগুলির মধ্যে স্থান প্রতিটি অবস্থানের জন্য আলাদা। এই তিনটি LEDs এর উজ্জ্বলতা তিনটি 30 বাইট অ্যারে দ্বারা সংজ্ঞায়িত করা হয়। তিনটি অ্যারেতে উজ্জ্বলতা ক্রম তিনটি এলইডি জুড়ে ভিন্নতা এবং আপাত গতিশীলতা দেয়। অনুভূত চলাচলের দিক এবং সামগ্রিক উজ্জ্বলতা প্রতিটি অবস্থানের জন্য নির্বাচিত হয়। প্রতিটি স্থানে ফ্ল্যাশের সময়কাল উজ্জ্বলতার মান আপডেট করার মধ্যে সময়ের বিলম্ব দ্বারা সমন্বয় করা হয়। বজ্রপাতের মধ্যে 0.2 থেকে 10.4 সেকেন্ডের মধ্যে এলোমেলো সময় বিলম্ব হয়। তিনটি স্ট্রাইক লোকেশনের মধ্যে কোনটি এলোমেলো, মেঘের শীর্ষে 19% সুযোগ, নিচের ডানদিকে 45% সুযোগ এবং বাম পাশে 36% সুযোগ।

ধাপ 12: প্রোগ্রামিং কন্ট্রোলারের উদাহরণ ম্যাকা এবং নর্ডিক ট্রি:

ডানা নিউম্যানের "ম্যাকাও" এবং জেনি হল্টের "নর্ডিক ট্রি" টুকরোর অনুভূত রঙ পরিবর্তন করতে আলোর রঙ ব্যবহার করে। এবং ডানার একটি বড় ম্যাকো পেইন্টিংয়ের ক্ষেত্রে পাখির মেজাজ পাখির চারপাশের আলোর রঙের উপর নির্ভর করে আনন্দদায়ক থেকে ভয়ঙ্কর হয়ে যায়। এই দুটি প্রোগ্রাম প্রায় অভিন্ন। আমরা অ্যাডাফ্রুট নিওপিক্সেল লাইব্রেরি ব্যবহার করি এবং টিউনিং বোর্ডের ক্ষমতা এই প্রোগ্রামগুলিতে রয়েছে। এই প্রোগ্রামগুলি Adafruit_NeoPixel/example/Strandtest.ino তে থিয়েটার চেসরেনবো () ফাংশন থেকে গ্রহণ করা হয়েছে (7/29/2015 ডাউনলোড করা হয়েছে)

আলোর একটি অপেক্ষাকৃত ধ্রুবক উজ্জ্বলতা অনুষ্ঠিত হয় যখন আলোর রঙ পরিবর্তিত হয় রঙের রঙের চাকার মাধ্যমে। রঙ চাকার চারপাশে অগ্রগতি 100% লাল দিয়ে শুরু করে এবং সবুজ বাড়ানোর সময় ক্রমবর্ধমানভাবে লাল হ্রাস করে তৈরি করা হয়। একবার সবুজ 100% হলে এটি নীল বৃদ্ধি করার সময় হ্রাস পায়। এবং অবশেষে যেমন নীল হ্রাস পায় এবং লাল বৃদ্ধি পায় আপনি পূর্ণ বৃত্তে আসেন।

এটি প্রাথমিক রঙের দুটি ব্যবহার করে আলো সরবরাহ করে এবং একটিকে ছেড়ে দেয়। আমরা যখন এই আলোর রঙের চাকার মধ্য দিয়ে চক্র চালাচ্ছি কোন সময়ে শিল্পকলার কোন রং সরবরাহকৃত আলোতে অনুপস্থিত থাকবে। অনুভূত রঙের ফলস্বরূপ পরিবর্তন বেশ নাটকীয় হতে পারে এবং শিল্প প্রকাশের একটি অংশ হয়ে ওঠে। তাই যদি আলোতে লাল উপস্থিত না থাকে তবে পেইন্টিংয়ের কোন লাল অন্ধকার দেখাবে। যখন আলো খাঁটি লাল হয় তখন লাল সত্যিই জ্বলজ্বল করে এবং অন্যান্য রং নিutedশব্দ হয়।

ধাপ 13: প্রোগ্রামিং কন্ট্রোলারের উদাহরণ কপারহেড:

জেনি হোল্টের "কপারহেড" বাইরের অনুভূতি বাড়ানোর জন্য এবং সাপের সুস্পষ্টতার মধ্যে বৈচিত্র্যের জন্য আলোর বৈচিত্র ব্যবহার করে। ব্যাকগ্রাউন্ড আলোর উপরে প্রোগ্রামিং লেয়ার আলোর wavesেউ।

এই প্রোগ্রামের জন্য আমরা আমাদের টিউনার সার্কিটের সাথে বিকাশের জন্য FastLED লাইব্রেরি ব্যবহার করেছি।

পটভূমির রঙ ফ্রেমের চারপাশে 10 পয়েন্টে সেট করা হয় এবং ফাংশন fill_gradient () রঙের মধ্যে মসৃণভাবে স্থানান্তর করতে ব্যবহৃত হয়।

একটি দেখার চক্রের শুরুতে ব্যাকগ্রাউন্ড ম্লান হয়ে যায় এবং কালের সাথে একটি কোসাইন বক্ররেখা এবং setBrightness () ফাংশন ব্যবহার করে রঙ নীল হয়ে যায়।

বিলম্বের পর আলোর তিনটি wavesেউ উপরের ডানদিক থেকে নিচের বাম দিকে অগ্রসর হয়। প্রথম তরঙ্গটি সবচেয়ে উজ্জ্বল এবং নিম্নলিখিত তরঙ্গগুলি ম্লান হয়ে যাচ্ছে। প্রথম তরঙ্গও ধীর গতিতে চলে।

ধাপ 14: প্রোগ্রামিং কন্ট্রোলারের উদাহরণ ব্ল্যাক ডুডল:

Image
Image

জেনি হোল্টের "ব্ল্যাক ডুডল" ব্ল্যাক ভিনাইল থেকে প্রতিফলন অনুসন্ধান করে।

এই প্রোগ্রামটি FastLED লাইব্রেরি ব্যবহার করে এবং টিউনিং সার্কিট থেকে ইনপুট নিতে পারে।

আলোতে ফ্রেমের চারপাশে এলোমেলো পয়েন্ট থেকে 5 টি পর্যন্ত যুগপৎ আলো প্রদর্শিত হয়। প্রতিটি ডিসপ্লে সময়ের সাথে একই 60 উজ্জ্বলতার মানগুলির মাধ্যমে অগ্রসর হয়। প্রতিটি ডিসপ্লেতে 7 টি সংলগ্ন এলইডি রয়েছে যার প্রান্তের দিকে উজ্জ্বলতা হ্রাস পাচ্ছে। প্রতিটি ডিসপ্লে শুরু হওয়ার আগে একটি এলোমেলো বিলম্ব হয়। ডিসপ্লের অবস্থান এলোমেলো কিন্তু একটি সক্রিয় ডিসপ্লের কাছাকাছি অবস্থানগুলি বাধাগ্রস্ত।

পটভূমি হল ফ্রেমের চারপাশে ছড়িয়ে থাকা রঙের রংধনু। এই পটভূমি রংধনু ধীরে ধীরে ঘুরে যায় এবং এলোমেলোভাবে দিক উল্টে দেয়।

এই বর্ণনাগুলি একটি ওভারভিউ এবং প্রোগ্রামগুলি পড়ার সহায়ক। আমরা আশা করি আপনি এই আলোর প্রভাবগুলির মধ্যে কিছু আপনার প্রকল্পের মধ্যে অন্তর্ভুক্ত করার জন্য যথেষ্ট আকর্ষণীয় পাবেন। Github.com- এর একটি লিঙ্ক যেখানে প্রোগ্রামগুলি সংরক্ষণ করা হয় ধাপ 2 রিসোর্সে।

ধাপ 15: টিউনিং ফাংশন প্রোগ্রামিং:

রেইনফরেস্ট প্রোগ্রামে আমরা "#ডিফাইন টিউনিং 1" এর মাধ্যমে টিউনিং ফাংশনটি চালু করতে পারি এবং এর ফিতা কেবল ব্যবহার করে টিউনিং ইনপুট বোর্ড সংযুক্ত করতে পারি। আমাদের এমন প্যারামিটারও সেট করতে হবে যার জন্য LED টিউনিং দ্বারা প্রভাবিত হবে। উদাহরণস্বরূপ 61 থেকে 73 অবস্থানে এলইডি সামঞ্জস্য করা যাক। আমরা #ডিফাইন START_TUNE 61 এবং #ডিফাইন END_TUNE 73 ব্যবহার করি। আপনার বাকি স্কেচ LEDs টিউনিং পরিসরে সেট করা উচিত নয় অথবা আপনি আপনার সমন্বয় দেখতে পারবেন না। এখন স্কেচ চালান এবং সিরিয়াল মনিটর প্রদর্শন করুন। প্রোগ্রামের টিউনিং অংশে 4 টি অবস্থা রয়েছে [হিউ, স্যাচুরেশন, ভ্যালু এবং ব্রাইটনেস]। হিউ হল রঙের চাকা 0 = লাল এবং 255 অতীতের নীল থেকে প্রায় লাল। বর্তমান অবস্থাটি সিরিয়াল মনিটরে মুদ্রিত হওয়া উচিত এবং টিউনিং বোর্ডে LED নির্দেশকটি রাজ্যকে নির্দেশ করতে জ্বলজ্বল করবে (এক ঝলক হল হিউ; দুটি ঝলক হল স্যাচুরেশন এবং আরও অনেক কিছু)। মান হল আলোর তীব্রতা এবং উজ্জ্বলতা একটি হ্রাসকারী উপাদান যা সমস্ত LEDs তীব্রতার মানগুলিতে প্রয়োগ করা হয়। তাই পূর্ণ উজ্জ্বলতার জন্য মান = 255 এবং উজ্জ্বলতা = 255 সেট করুন। অবস্থা পরিবর্তন করতে বোতাম টিপুন। যখন আপনি রাজ্যে থাকবেন আপনি সামঞ্জস্য করতে চান গাঁটটি ঘুরান। INHIBIT_LEVEL এর চেয়ে বেশি না হওয়া পর্যন্ত প্রোগ্রামটি নককে উপেক্ষা করে।এটি অন্য রাজ্যের মান পরিবর্তন করা এড়িয়ে যায় যখন আপনি তাদের মাধ্যমে চক্র করেন। উদাহরণস্বরূপ আপনি হিউ দিয়ে শুরু করতে পারেন এবং আপনার পছন্দসই রঙটি পেতে পারেন, তারপরে মান পরিবর্তন করুন এবং আপনার উজ্জ্বলতা খুঁজে পেতে সামঞ্জস্য করুন।

Macaw এবং Nordic_Tree স্কেচ টিউনিং অন্তর্ভুক্ত কিন্তু ফাংশন একটু ভিন্ন। এই স্কেচগুলিতে কেবল দুটি মোড রয়েছে। একটি উজ্জ্বলতার জন্য এবং একটি রঙ চাকার অবস্থানের জন্য। এই উদাহরণগুলির সাহায্যে আপনি দেখতে পারেন কিভাবে টিউনিং ফাংশনগুলিকে কাস্টমাইজ করতে হয় যাতে আপনি আলো নিয়ন্ত্রণের বেশিরভাগ প্যারামিটারের সাথে কাজ করতে পারেন।

সংগ্রহস্থলে অন্তর্ভুক্ত একটি স্কেচ 'টিউনিং' যা রেইনফরেস্ট থেকে টিউনিং ফাংশন নেয়। এই স্কেচটি শুধুমাত্র টিউনিং ফাংশন যাতে আপনি অন্বেষণ করতে পারেন এবং স্কেচ কীভাবে কাজ করে তা আরও সহজে অনুসরণ করতে পারেন। আমরা এই স্কেচটি একটি টেস্ট লাইটিং ফ্রেম নিয়ন্ত্রণ করতে ব্যবহার করি যা আমরা দ্রুত একটি আর্ট পিসের উপরে রাখতে পারি এবং আলোর প্রভাবগুলি অন্বেষণ করতে পারি। পরে আমরা কাস্টম লাইটিং কন্ট্রোলার তৈরির জন্য টিউনিং তথ্য ব্যবহার করব।

আশা করি আপনি এই নির্দেশনাটি আপনার প্রকল্পের কাজ করতে সহায়ক বলে মনে করেন।

ধাপ 16: গল্পের বাকি অংশ:

এটি এই প্রকল্পের দুটি নির্দেশাবলীর মধ্যে একটি। আপনি যদি ইতিমধ্যেই না পেয়ে থাকেন, তাহলে সঙ্গী নির্দেশিকা দেখুন:

প্রস্তাবিত: