সুচিপত্র:
- সরবরাহ
- ধাপ 1: আপনি যা পেয়েছেন তা পরীক্ষা করুন
- ধাপ 2: কিছু সোল্ডারিং
- ধাপ 3: সংযোগ
- ধাপ 4: হালকা প্রোগ্রাম
- ধাপ 5: কোড
- ধাপ 6: PWM সম্পর্কে
ভিডিও: ঝলকানো মোমবাতি সেতু: 6 টি ধাপ (ছবি সহ)
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:00
এই নির্দেশাবলী দেখায় কিভাবে স্ট্যাটিক আলোর সাথে একটি সাধারণ মোমবাতি সেতুটিকে ঝলকানো লাইট, ঝলকানি, তরঙ্গের প্যাটার্ন এবং কিসের অন্তহীন বৈচিত্র্যের সাথে একটি সুন্দর জ্বলজ্বলে মেজাজ আলোতে পরিণত করতে হয়। আমি ক্রিসমাস বিক্রির পর থেকে একটি মোমবাতি সেতু কিনেছিলাম € টাকায়। এটিতে 7 টি লাইট এবং কিছু 33 V 3 W ওয়াল অ্যাডাপ্টার রয়েছে। এটি একটি উজ্জ্বল এবং উষ্ণ সাদা রঙের সাথে উজ্জ্বল এবং এই প্রকল্পের জন্য নিখুঁত হবে, যেখানে আমি মোমবাতিগুলিকে ঝলসানোর জন্য একটি আরডুইনো রাখব। সবচেয়ে জনপ্রিয় Arduino হল Arduino Uno। এই প্রকল্পে, আমি একটি Arduino মেগা 2560 ব্যবহার করব।
আমি 30 V পাওয়ার সাপ্লাই খনন করতে যাচ্ছি এবং বিদ্যুৎ সরবরাহ হিসাবে মোবাইল ফোনের জন্য একটি সাধারণ 5 V পাওয়ার ব্যাংক ব্যবহার করব।
পাওয়ার ব্যাঙ্ক সম্বন্ধে একটি ভাল বিষয় হল যে তাদের একটি অভ্যন্তরীণ সার্কিট রয়েছে, যা ব্যাটারিকে 3.7 V থেকে 5 V তে রূপান্তরিত করে। কারণ প্রক্রিয়াটি কিছু শক্তি ব্যবহার করে, পাওয়ার ব্যাঙ্কটি যদি এটি ব্যবহার না করা হয় তবে নিজেই বন্ধ হয়ে যায়। যদি Arduino ভিত্তিক DIY গ্যাজেটগুলির জন্য পাওয়ার ব্যাংক ব্যবহার করা হয়, তবে গ্যাজেটটি কেবল বিদ্যুৎ সাশ্রয়ী ঘুমের মধ্যে রাখতে পারে না এবং কয়েক মিনিট পরে আবার শুরু করতে পারে। এটি পাওয়ার ব্যাংক বন্ধ করে দেবে। এই ঝলকানো মোমবাতি সেতুর ঘুমের মোড নেই। এটি পাওয়ার ব্যাঙ্ককে সচল রেখে ক্রমাগত বিদ্যুৎ ব্যবহার করে, যতক্ষণ না বিদ্যুতের তারটি বন্ধ করা হয়।
ভিডিওটি মোমবাতি সেতুকে স্ট্যাটিক মোডে এবং সম্পূর্ণ ঝলকানি দেখায়। সম্পূর্ণ ঝলকানি সত্যিই চোখের জন্য বেশ বিরক্তিকর, যখন ভিডিওটি এটিকে কিছুটা মসৃণ করে। হার্ডওয়্যার ঠিক করার পরে, তারগুলি কাটা, নতুন সংযোগগুলি সোল্ডার করা এবং কিছু উপাদান যুক্ত করা সহ, সমস্ত পছন্দসই আলোর নিদর্শনগুলি Arduino এর জন্য কোড লিখে তৈরি করা হয়। আমি এই নির্দেশযোগ্য অন্তর্ভুক্ত প্যাটার্ন হয়:
- বাস্তব মোমবাতি অনুকরণ করে 4 টি ভিন্ন ঝলকানি আলো
- 2 টি ভিন্ন ঝলকানি (অন্যথায় স্ট্যাটিক লাইটের এলোমেলো ঝলকানি)
- 2 বিভিন্ন তরঙ্গ নিদর্শন
- সহজ স্ট্যাটিক আলো
একটি ধাক্কা বোতামের মাধ্যমে প্যাটার্নগুলি স্যুইচ করা হয়, একক ইউজার ইন্টারফেস উপাদান। একজন যত বেশি প্যাটার্ন চায় এবং যত বেশি অ্যাডজাস্ট্যাবিলিটি চায়, তত বেশি বোতাম এবং বোঁটা যুক্ত করতে হবে। কিন্তু সৌন্দর্য সরলতার মধ্যে নিহিত। নির্বাচনযোগ্য প্যাটার্নের সংখ্যা নিচে রাখুন। কোডিং এবং পরীক্ষার সময় সেরা সেটিংস চয়ন করুন, হার্ডওয়্যারে প্রচুর নিয়ন্ত্রণ যোগ না করে।
সরবরাহ
- 7 টি বাল্ব সহ 1 টি LED মোমবাতি সেতু। নিশ্চিত করুন যে এটি একটি কম ভোল্টেজ ডিসি মডেল, হয় ব্যাটারি দিয়ে অথবা একটি ওয়াল মাউন্ট পাওয়ার সোর্স দিয়ে, যা মারাত্মক 110 - 240 V AC কে কিছু 6 - 30 V DC রূপান্তর করে। সুতরাং মোমবাতি সেতু হ্যাক করা সম্পূর্ণ নিরাপদ।
- 1 Arduino মেগা (অন্য কোন মাইক্রোকন্ট্রোলার করবে, শুধু নিশ্চিত করুন যে আপনি এটি প্রোগ্রাম করতে পারেন)
- 1 প্রোটোটাইপিং ব্রেডবোর্ড
- জাম্পার তার এবং অন্যান্য তারের
- সোল্ডারিং টুল
- মাল্টিমিটার
- 7 প্রতিরোধক, 120
- 1 টি পুশ বোতাম (আমি দেখাবো কিভাবে আপনি একটি Arduino এ অন্তর্নির্মিত বোতামটি ব্যবহার করতে পারেন)
- 7 টি ট্রানজিস্টরের জন্য একটি ডার্লিংটন ট্রানজিস্টর আইসি, ULN2803AP করবে (যদি আপনি একটি Arduino Uno বা Meaga ব্যবহার করেন, তাহলে আপনার সত্যিই এটির প্রয়োজন নেই)
- একটি 5 V পাওয়ার ব্যাংক মোবাইল ফোনের জন্য
ধাপ 1: আপনি যা পেয়েছেন তা পরীক্ষা করুন
প্রতিটি এলইডি কোন ভোল্টেজ চালায় এবং কতটা কারেন্ট প্রবাহিত হয় তা খুঁজে বের করুন।
- মোমবাতি সেতুর নীচে খুলুন। একটি মোমবাতিতে যাওয়া দুটি তারের সন্ধান করুন।
- তামার তারগুলি না কেটে তামার তারগুলি প্রকাশ করে এমন তারগুলি থেকে কিছু অন্তরণ বন্ধ করুন।
- লাইট চালু করুন (শিথিল করুন, এটি মাত্র কয়েক ভোল্ট) এবং প্রকাশিত তামার তারের উপর ভোল্টেজ পরিমাপ করুন।
- পরিমাপের পয়েন্টগুলির মধ্যে একটিতে তারটি কাটুন (এই সময়ে অবশ্যই লাইট বন্ধ হয়ে যায়), উভয় প্রান্তে কিছু অন্তরণ (3 - 4 মিমি) বন্ধ করুন। বর্তমানের মাধ্যমে পরিমাপ করুন। আপনি যা করবেন তা হল আপনি আপনার মাল্টিমিটারের সাথে কাটা তারটিকে পুনরায় সংযুক্ত করুন, আপনার মাল্টিমিটারের মাধ্যমে সমস্ত বর্তমান প্রবাহকে অনুমতি দিন, যা এখন আপনাকে বর্তমানের পরিমাণ বলে।
আমার পড়া
একটি মোমবাতির উপর ভোল্টেজ (ধাপ 3): 3.1 V
উল্লেখ্য, মোমবাতি সেতুর শক্তির উৎস ছিল 33 V. সুতরাং সাত গুণ 3.1 V মাত্র 21.7 V। যদি আমি সেই মোমবাতির ভোল্টেজ পরিমাপ করতাম, তবে এটি অবশ্যই 11 V হতে হবে।
মোমবাতি জ্বালানোর সময় কারেন্ট প্রবাহিত হয় (ধাপ 4): 19 এমএ
আমি একটি 5 V 2 A ব্যাটারি প্যাক দিয়ে সবকিছু পাওয়ার জন্য যাচ্ছি। মোমবাতির জন্য, আমাকে ভোল্টেজ 5 V থেকে 3 V এ নামাতে হবে।
2 V / 0.019 A = 105
ক্ষমতা অপচয় হচ্ছে:
2 V * 19 mA = 38 mW
তা নগণ্য। আরো অনেক কিছু প্রতিরোধক নিজেই উড়িয়ে দিতে পারে। তবুও, 105 Ω প্রতিরোধক ছাড়াই আমি LED ফুঁ দিতে পারি। আমার 100 Ω এবং 120 Ω প্রতিরোধক আছে। আমি 120 with দিয়ে যাই। এটি আরও সুরক্ষা দেয়।
3 টি দিয়ে সমস্ত 7 টি মোমবাতি পরীক্ষা করা একটি উজ্জ্বল আলো দিয়েছে, কেবল একটি মোমবাতি ছাড়া, যার মধ্যে খুব কম আলো ছিল, যার মধ্যে মাত্র 0.8 এমএ ছিল। এই অতিরিক্ত প্রতিরোধক সঙ্গে আমার মোমবাতি ছিল। দেখা গেল যে অন্যান্য মোমবাতিগুলির কোনও প্রতিরোধক ছিল না। ঝাড়বাতিতে ব্যবহৃত LED লাইটগুলি কেবল 3 V এর জন্য বোঝানো হয়েছে! অতিরিক্ত প্রতিরোধক সহ মোমবাতিটি হালকা সহিংসতা ব্যবহার করে খুলতে হয়েছিল, কিন্তু কিছুই ভাঙেনি। প্লাস্টিকের মোমবাতির বাল্বের ভিতরে ক্ষুদ্র এলইডি -র ঠিক নিচে রেসিস্টর পাওয়া গেল। আমাকে এটিকে সরিয়ে ফেলতে হয়েছিল এবং তারগুলি পুনরায় বিক্রি করতে হয়েছিল। এটি কিছুটা অগোছালো ছিল, যেহেতু সোল্ডারিং লোহা কিছু গরম আঠালো গরম করে, যা সমাবেশের জন্য ব্যবহৃত হয়েছিল।
তাই এখন আমি জানি যে যেই পাওয়ার সোর্স আমি ব্যবহার করি, ভোল্টেজ যাই হোক না কেন, আমাকে ভোল্টেজটি 3 V এ নামিয়ে আনতে হবে যার মাধ্যমে 19 mA যেতে পারে।
যদি আমি এলইডি প্রযুক্তির সাথে আরও পরিচিত হতাম, আমি ব্যবহৃত LED এর ধরন চিনতে পারতাম এবং আমি জানতাম যে এটি 3 V প্রয়োজন।
ধাপ 2: কিছু সোল্ডারিং
এই ধাপে আমি 5 টি মোমবাতি থেকে একটি তারের সাথে সমস্ত ইতিবাচক (+) তারের সাথে সংযোগ স্থাপন করি। তারপর আমি প্রতিটি মোমবাতির জন্য একটি পৃথক নেতিবাচক (-) তারের যোগ করি। একটি LED আলো কেবল তখনই জ্বলে ওঠে যখন '+' এবং '-' ডানদিকে যায়। যেহেতু আপনার প্রতিটি মোমবাতি থেকে কেবল দুটি অভিন্ন তারের শেষ আছে, তাই আপনাকে পরীক্ষা করতে হবে কোনটি '+' এবং কোনটি '-'। এর জন্য আপনার একটি 3 V শক্তির উৎস প্রয়োজন। আমার দুটি এএএ ব্যাটারী সহ একটি ছোট ব্যাটারি প্যাকেজ ছিল। একটি 3 V কয়েন ব্যাটারি পরীক্ষার জন্যও দারুণ কাজ করে।
আরডুইনো এবং সেতুর মধ্যে চালানোর জন্য মোমবাতি সেতুর 8 টি তারের প্রয়োজন। যদি আপনি 8 টি উত্তাপযুক্ত তারের সাথে একটি তারের খুঁজে পান তবে এটি দুর্দান্ত হবে। একটি তারের 120 এমএ ধারণ করতে হবে, বাকিগুলি কেবলমাত্র 20 এমএ বহন করবে। আমি 4 টি ডাবল ওয়্যার কেবল ব্যবহার করতে বেছে নিয়েছি, যা আমার কাছে ঘটেছে।
প্রথম ছবিটি দেখায় যে কিভাবে আমি মোমবাতি থেকে সমস্ত '+' তারের সংযোগের জন্য একটি সাধারণ তার তৈরি করেছি। প্রতিটি মোমবাতির জন্য সাধারণ তারের কিছু অন্তরণ বন্ধ করুন। প্রতিটি জয়েন্টের জন্য সঙ্কুচিত ইনসুলেশন টিউব (ছবিতে হলুদ স্ট্রিপ) যোগ করুন এবং এটি সাধারণ তারের সঠিক স্থানে রাখুন। প্রতিটি মোমবাতি থেকে তার জয়েন্টে '+' তারের সোল্ডার করুন, সঙ্কুচিত নল দিয়ে জয়েন্টটি coverেকে দিন এবং সঙ্কুচিত করুন। অবশ্যই, সহজ আঠালো টেপ ঠিক আছে, খুব, সবকিছু শেষ পর্যন্ত আচ্ছাদিত করা হবে।
দ্বিতীয় চিত্রটি প্রতিটি মোমবাতির জন্য '-' তারের দেখায়। সাধারণ '+' তারটি সরাসরি Arduino এর 5 V পিনে যায় (অথবা সম্ভবত রুটিবোর্ডের মাধ্যমে)। প্রতিটি '-' তারটি ট্রানজিস্টর আইসি (আবার, সম্ভবত রুটিবোর্ডের মাধ্যমে) এর নিজস্ব পিনে যায়।
একটি Arduino প্রায়ই একটি প্রোটোটাইপিং বোর্ড বলা হয়। একটি রুটিবোর্ড এমন কিছু যা আপনি প্রোটোটাইপগুলিতে ব্যবহার করেন। আমি এই নির্দেশে যা বর্ণনা করি তা হল একটি প্রোটোটাইপ। সুন্দর প্লাস্টিকের ক্ষেত্রে লুকানো সবকিছু দিয়ে আমি এটিকে একটি চকচকে চকচকে পণ্য হিসাবে বিকশিত করব না। এটিকে প্রোটোটাইপ থেকে পরবর্তী স্তরে নিয়ে যাওয়ার অর্থ হল একটি প্রিন্টেড সার্কিট বোর্ড এবং সোল্ডার্ড কম্পোনেন্ট দিয়ে ব্রেডবোর্ডকে প্রতিস্থাপন করা এবং এমনকি আরডুইনোকে কেবল একটি সাধারণ মাইক্রোকন্ট্রোলার চিপ দিয়ে প্রতিস্থাপন করা (আসলে এই ধরনের চিপই হচ্ছে আরডুইনোর মস্তিষ্ক)। এবং একটি প্লাস্টিকের ক্ষেত্রে বা হ্যাক করা মোমবাতি সেতুর ভিতরে সবকিছু ফিট থাকা।
ধাপ 3: সংযোগ
Arduinos সম্পর্কে, এই পৃষ্ঠা থেকে নেওয়া:
- ইনপুট/আউটপুট পিন প্রতি মোট সর্বোচ্চ বর্তমান: 40mA
- সমস্ত ইনপুট/আউটপুট পিনের মধ্যে স্রোতের সমষ্টি: 200mA
আমার মোমবাতিগুলি প্রতিটি 19 এমএ আঁকবে, যখন 3 V দ্বারা চালিত হবে। তাদের মধ্যে সাতটি আছে, যা 133 mA করে। তাই আমি তাদের সরাসরি আউটপুট পিন থেকে শক্তি দিতে পারতাম। যাইহোক, আমার কিছু অতিরিক্ত ডার্লিংটন ট্রানজিস্টর আইসি আছে। তাই ভাবলাম, কেন নয়। আমার সার্কিট জিনিসটা সঠিক ভাবে করে: ডাটা পিন শুধুমাত্র সিগন্যালের জন্য, পাওয়ারের জন্য নয়। পরিবর্তে আমি LED লাইট পাওয়ার জন্য Arduino এ 5 V পিন ব্যবহার করি। যখন পরীক্ষা চলছে, আমার ল্যাপটপটি আরডুইনোতে সংযুক্ত আছে। সবকিছুই ল্যাপটপ ইউএসবি থেকে চালিত, যা 5 V দেয়। Arduino Mega এর নিজস্ব একটি ফিউজ আছে, যা কম্পিউটারকে সুরক্ষিত করার জন্য 500 mA তে ফুঁ দেয়। আমার মোমবাতি সর্বাধিক 133 mA আঁকে। Arduino সম্ভবত অনেক কম। ল্যাপটপ দ্বারা চালিত হলে সবকিছু ঠিকঠাক চলে, তাই আরডুইনো ইউএসবি পোর্টের সাথে সংযুক্ত একটি 5 ভি ব্যাটারি প্যাক ব্যবহার করা ঠিক।
ডেটা পিন D3 - D9 IC ULN2803APGCN এ যান। LEDs 3 V তে কাজ করে। আইসির একটি চ্যানেলের সাথে, যা অবশেষে আইসিতে একটি ডার্লিংটন ট্রানজিস্টরের মাধ্যমে সার্কিটটিকে মাটিতে সংযুক্ত করে।
কিছু ব্যবহারকারীর ক্রিয়া সক্ষম করতে সার্কিটে একটি পুশ বাটন যুক্ত করা হয়। এইভাবে মোমবাতি সেতুতে কিছু ব্যবহারকারী নির্বাচনযোগ্য প্রোগ্রাম থাকতে পারে।
সার্কিটের পুশ বোতামটি RESET এবং GND এর সাথে সংযুক্ত। বিল্ট ইন রিসেট বোতামটি ঠিক এই কাজটিই করে। যেহেতু আমি একটি প্লাস্টিকের ক্ষেত্রে সবকিছু আবদ্ধ করি না, তাই প্রোগ্রামটি নিয়ন্ত্রণের জন্য আমি আরডুইনোতে রিসেট বোতামটি ব্যবহার করছি। ছবি অনুযায়ী একটি বোতাম যুক্ত করা ঠিক বোর্ড রিসেট বাটনের মতো কাজ করবে। প্রোগ্রামটি শেষবার প্রোগ্রাম চালানোর সময় কী হালকা প্রোগ্রাম ব্যবহার করা হয়েছিল তা মনে রেখে কাজ করে। সুতরাং, প্রতিটি রিসেট পরবর্তী হালকা প্রোগ্রামে অগ্রসর হবে।
ফটোগুলি দেখায় যে কিভাবে নতুন তারগুলি ব্রিজ থেকে বেরিয়ে আসে, কিভাবে আমি ট্রানজিস্টর আইসি এবং প্রতিরোধকগুলিকে ব্রেডবোর্ডে রাখি এবং কিভাবে জাম্পার তারগুলি আরডুইনো মেগাতে সংযুক্ত হয়। আমি 4 টি পুরুষ-পুরুষ জাম্পার তারকে 8 টি অর্ধেক তারের মধ্যে কেটেছি, যা আমি মোমবাতি সেতু থেকে বেরিয়ে আসা 8 টি তারের কাছে বিক্রি করেছি। এইভাবে আমি কেবল তারগুলিকে রুটিবোর্ডে আটকে রাখতে পারি।
ট্রানজিস্টর ছাড়া বিকল্প
আগের ধাপে, আমি মোমবাতিগুলির জন্য একটি সাধারণ '+' তার তৈরি করেছি এবং পৃথক '-' তারগুলি, যা ট্রানজিস্টর আইসি দিয়ে মাটিতে যায়। যখন একটি ডেটা পিন উঁচু হয়ে যায়, তখন সংশ্লিষ্ট '-' তার তার ট্রানজিস্টর এবং LED লাইটের মাধ্যমে গ্রাউন্ড হয়ে যায়।
Arduino এর ডেটা পিনের সাথে সরাসরি '-' তারের সংযোগ করাও কাজ করবে, কিন্তু সবসময় মনে রাখবেন যে ডেটা পিনগুলি কতটা বর্তমান হতে পারে! এই পদ্ধতির জন্য আমার প্রোগ্রামে পরিবর্তন প্রয়োজন। মোমবাতিগুলি চালু করতে ডেটা পিনগুলি কম যেতে হবে। আমার প্রোগ্রাম যেমন আছে তেমন ব্যবহার করতে, আপনাকে মোমবাতিতে '+' এবং '-' স্যুইচ করতে হবে। মোমবাতির জন্য একটি সাধারণ '-' তার আছে, যা আরডুইনোতে GND- এ যায়। এবং মোমবাতির '+' তারের এবং Arduino এর একটি ডেটা পিনের মধ্যে পৃথক তারগুলি চলে।
ধাপ 4: হালকা প্রোগ্রাম
আমার প্রোগ্রাম, যা আমি পরবর্তী ধাপে উপস্থাপন করি, 9 টি হালকা প্রোগ্রামের মধ্য দিয়ে যায়। বোতাম টিপলে এক সেকেন্ডের জন্য লাইট ব্ল্যাক হয়ে যাবে, তারপর নিচের লাইট প্রোগ্রাম শুরু হবে। প্রোগ্রামগুলি নিম্নরূপ:
- প্রবল ঝাঁকুনি। মোমবাতিগুলো এলোমেলোভাবে জ্বলজ্বল করে। এটি খুব বিরক্তিকর দেখায় যখন আপনি তাদের কাছ থেকে দূর থেকে দেখেন, কিন্তু দূর থেকে এবং সম্ভবত একটি হিমশীতল অ্যাটিক জানালার পিছনে ভাল দেখায়। যদিও, আপনার প্রতিবেশী ফায়ার ব্রিগেডকে কল করতে পারে।
- নরম ঝলকানি। খুব ভালো লাগছে। খসড়াবিহীন ঘরে আসল মোমবাতির মতো।
- পরিবর্তনশীল ঝলকানি। মোমবাতিগুলি 30 সেকেন্ডের ব্যবধানে শক্তিশালী এবং নরম ঝলকানির মধ্যে মসৃণভাবে পরিবর্তিত হয়।
- পরিবর্তনশীল ঝলকানি। #3 এর মত, কিন্তু প্রতিটি মোমবাতি 30 সেকেন্ড এবং 60 সেকেন্ডের মধ্যে তার নিজস্ব গতিতে পরিবর্তিত হয়।
- দ্রুত জ্বলজ্বলে। মোমবাতিগুলি একটি স্থির ম্লান স্তরে জ্বলজ্বল করে এবং এলোমেলোভাবে জ্বলজ্বল করে। গড়ে প্রতি সেকেন্ডে এক পলক থাকে।
- আস্তে আস্তে পলক। #5 এর মত, কিন্তু অনেক ধীর হারে।
- মাঝের উপরের মোমবাতি থেকে নিচের দিকে দ্রুত তরঙ্গ।
- মাঝের উপরের মোমবাতি থেকে নিচের দিকে ধীর তরঙ্গ।
- স্থির উজ্জ্বল আলো। আমি এই অন্তর্ভুক্ত ছিল, মূল ফাংশন পরিত্রাণ পেতে চান না।
ধাপ 5: কোড
/*
ফ্লিকারিং ক্যান্ডেল ব্রিজ */ // একটি রিসেট অপারেশন _attribute _ ((সেকশন ("। Noinit"))) স্বাক্ষরবিহীন ইন্ট মোডের মাধ্যমে স্টেট // ধরে রাখার জন্য মোড ভেরিয়েবল ঘোষণা করুন; // যখন একটি রিসেট করার পর প্রোগ্রাম শুরু হয়, তখন মেমরির এই অংশটি আরম্ভ করা হয় না, তবে রিসেট করার আগে এটির মান // ধারণ করে। প্রথমবার // প্রোগ্রাম চালানো হলে, এটি একটি এলোমেলো মান ধারণ করে। / * * মোমবাতি শ্রেণীর জন্য প্রয়োজনীয় সব কিছু * একটি ঝলকানো মোমবাতির জন্য একটি হালকা স্তর গণনার জন্য রয়েছে। */ বর্গ মোমবাতি {ব্যক্তিগত: দীর্ঘ maxtime; দীর্ঘ মিনিট; দীর্ঘ ম্যাক্সলাইট; দীর্ঘ minlite; দীর্ঘ meanlite; দীর্ঘ মূল সময়; দীর্ঘ সময়কাল; দীর্ঘ অরিগম্যাক্সলাইট; দীর্ঘ অরিজিনলাইট; দীর্ঘ অরিজিনালাইট; দীর্ঘ ডেল্টাম্যাক্সটাইম; দীর্ঘ সময়সীমা; দীর্ঘ ডেল্টাম্যাক্সলাইট; দীর্ঘ ডেল্টামিনলাইট; দীর্ঘ deltameanlite; দীর্ঘ লফরেট; দীর্ঘ সমান; দীর্ঘ শুরু; দীর্ঘ লক্ষ্য; ভাসমান ফ্যাক্টর; দীর্ঘ লক্ষ্য সময়; দীর্ঘ শুরুর সময়; দীর্ঘ সময়কাল; অকার্যকর নতুন লক্ষ্য (অকার্যকর); দীর্ঘ এক লক্ষ্য (অকার্যকর); জনসাধারণ: মোমবাতি (দীর্ঘ মাদুর, দীর্ঘ মিট, দীর্ঘ মাল, দীর্ঘ মিল, দীর্ঘ মেল, দীর্ঘ ইও); দীর্ঘ স্তর (শূন্য); অকার্যকর initlfo (দীর্ঘ deltamat, দীর্ঘ deltamit, দীর্ঘ deltamal, দীর্ঘ deltamil, দীর্ঘ deltamean, দীর্ঘ হার); অকার্যকর setlfo (অকার্যকর); }; মোমবাতি:: মোমবাতি (লম্বা মাদুর, লং মিট, লং মাল, লং মিল, লং মেল, লং ইও): ম্যাক্সটাইম (ম্যাট), মিন্টাইম (এমআইটি), ম্যাক্সলাইট (ম্যাল), মিনলাইট (মিল), মেনলাইট (মেল), এমনকি (eo), Origmaxtime (mat), origmintime (mit), origmaxlite (mal), origminlite (mil), origmeanlite (mel) {target = meanlite; নতুন লক্ষ্য (); } / * * levelnow () মোমবাতির এই মুহূর্তে থাকা হালকা স্তরটি ফেরত দেয়। * ফাংশনটি একটি নতুন এলোমেলো আলোর স্তর সংজ্ঞায়িত করার যত্ন নেয় এবং * সেই স্তরে পৌঁছতে সময় লাগবে। পরিবর্তন রৈখিক নয়, * কিন্তু একটি সিগময়েড বক্ররেখা অনুসরণ করে। যখন এটি একটি নতুন * স্তর সংজ্ঞায়িত করার সময় নয়, ফাংশনটি কেবল হালকা স্তর প্রদান করে। */ দীর্ঘ মোমবাতি:: levelnow (void) {long help, now; ভাসা t1, t2; এখন = মিলিস (); if (now> = targettime) {help = target; নতুন লক্ষ্য (); সাহায্য ফেরত; } অন্যথায় {// help = target * (millis () - starttime) / deltatime + start * (targettime - millis ()) / deltatime; t1 = float (targettime - now) / deltatime; t2 = 1. - t1; // এটি সিগময়েড গণনার সাহায্য = t1*t1*t1*start + t1*t1*t2*start*3 + t1*t2*t2*target*3 + t2*t2*t2*target; সাহায্য ফেরত; }} অকার্যকর মোমবাতি:: নতুন টার্গেট (অকার্যকর) {দীর্ঘ যোগফল; যোগফল = 0; জন্য (দীর্ঘ i = 0; আমি <সমান; আমি ++) যোগ+= onetarget (); শুরু = লক্ষ্য; লক্ষ্য = যোগ / সমান; শুরুর সময় = মিলিস (); targettime = শুরুর সময় + এলোমেলো (মিনিটটাইম, ম্যাক্সটাইম); deltatime = targettime - starttime; } দীর্ঘ মোমবাতি:: onetarget (অকার্যকর) {যদি (এলোমেলো (0, 10) lastcheck + 100) {lastcheck = now; / * * অ্যালগো জ্বলজ্বলে "আফটার রেট মিলিসেকেন্ড": * রেট / 2 মিলিসেকেন্ড পরে চেক করা শুরু করুন * যদি হার 10000 ms হয়, 5000 ms এর সময় মুদ্রা * 50 বার উল্টে যায়। * 1/50 = 0.02 * যদি এলোমেলো (10000) স্টার্টটাইম + রেট / 2) {যদি (এলোমেলো (হার) টার্গেটটাইম) রিটার্ন লোলাইট; প্রত্যাবর্তন (শুরু - লোলাইট) * (টার্গেটটাইম - এখন) / (টার্গেটটাইম - স্টার্টটাইম) + লোলাইট; } void twinkler:: twink (void) {starttime = millis (); টার্গেটটাইম = এলোমেলো (মিনিটটাইম, ম্যাক্সটাইম) + স্টার্টটাইম; শুরু = এলোমেলো (মিনিলাইট, ম্যাক্সলাইট); } অকার্যকর সেটআপ () {int নেতৃত্বে; // ম্যাজিক মোড ভেরিয়েবল পড়ুন, যা বলা উচিত // শেষবার কোন আলো প্রোগ্রামটি চালানো হয়েছিল, এটি বৃদ্ধি করুন // এবং ওভারফ্লো হলে শূন্যে রিসেট করুন। মোড ++; মোড %= 9; // এটি মূল্য যাই হোক না কেন যত্ন নেয় // প্রথমবার Arduino // এই প্রোগ্রামটি চালায়। / * * গুরুত্বপূর্ণ নোট * ============== এখানে আমি পিন 3 থেকে 9 থেকে * আউটপুট মোডে সেট করেছি। একটি Arduino Mega2560 এ, এই পিন আউটপুট * সুন্দরভাবে PWM সংকেত। আপনার যদি অন্য কোন Arduino থাকে, তাহলে চেক করুন * কোন পিনগুলি (এবং কতগুলি) আপনি ব্যবহার করতে পারেন। সফটওয়্যার PWM ব্যবহার করতে আপনি সবসময় * কোডটি পুনরায় লিখতে পারেন, যদি আপনার Arduino * পর্যাপ্ত হার্ডওয়্যার PWM পিন প্রদান করতে না পারে। * */ পিনমোড (3, আউটপুট); পিনমোড (4, আউটপুট); পিনমোড (5, আউটপুট); পিনমোড (6, আউটপুট); পিনমোড (7, আউটপুট); পিনমোড (8, আউটপুট); পিনমোড (9, আউটপুট); পিনমোড (LED_BUILTIN, আউটপুট); analogWrite (LED_BUILTIN, 0); // শুধু Arduino মোমবাতি *পারে [7] উপর বিরক্তিকর লাল নেতৃত্বে বন্ধ; // ঝলকানো মোমবাতিগুলি ব্যবহার করার জন্য প্রস্তুত হন, আপনি সেগুলি ব্যবহার করুন বা না করুন *twinkler *twink [7]; // জ্বলজ্বলে মোমবাতি ব্যবহার করার জন্য প্রস্তুতি নিন … যদি (মোড == 8) {জন্য (int i = 3; i <10; i ++) analogWrite (i, 255); while (সত্য); // প্রতিবার এই প্রোগ্রামটি চালানোর সময়, এটি // এই ধরণের অন্তহীন লুপে চলে যায়, যতক্ষণ না রিসেট // বোতাম টিপুন। } যদি (মোড <2) // ঝলকানি {দীর্ঘ maxtime_; দীর্ঘ মিনিট_; দীর্ঘ ম্যাক্সলাইট_; দীর্ঘ minlite_; দীর্ঘ meanlite_; দীর্ঘ সমান_; যদি (মোড == 0) {maxtime_ = 250; mintime_ = 50; maxlite_ = 256; minlite_ = 0; meanlite_ = 128; এমনকি_ = 1; } যদি (মোড == 1) {maxtime_ = 400; mintime_ = 150; maxlite_ = 256; minlite_ = 100; meanlite_ = 200; এমনকি_ = 1; } জন্য (int i = 0; i <7; i ++) {can = new candle (maxtime_, mintime_, maxlite_, minlite_, meanlite_, even_); } while (true) // মোমবাতি জ্বালানোর জন্য অন্তহীন লুপ {for (int i = 0; i levelnow ()); }} if (মোড <4) // lfo ঝলকানি যোগ করা হয়েছে, 50, 36, 30000);}} যদি (মোড == 3) // মোমবাতির জন্য lfo: s পরিবর্তিত হয় {জন্য (int i = 0; i initlfo (75, 50, 0, 50, 36, 20000); করতে পারেন [1]-> initlfo (75, 50, 0, 50, 36, 25000); পারেন 75, 50, 0, 50, 36, 35000); পারেন [4]-> initlfo (75, 40, 0, 50, 36, 40000); পারেন [5]-> initlfo (75, 30, 0, 50, 26, 45000); can [6]-> initlfo (75, 20, 0, 50, 16, 50000); can [7]-> initlfo (75, 10, 0, 50, 6, 55000);} যখন (সত্য) // একটি lfo {long lastclock = 0; সঙ্গে (int i = 0; i levelnow ()); যদি (millis ()> lastclock + 4000) {lastclock = millis (); (int i = 0; i setlfo ();}}} if (mode <6) // twinkling candles {int speedo; if (mode == 4) speedo = 6000; else speedo = 22000; for (int i = 0; i <7; i ++) twink = নতুন টুইঙ্কলার (300, 295, 255, 250, স্পিডো);)); }} // তরঙ্গ। // এই বিভাগটি কেবল কোঁকড়া বন্ধনী দিয়ে শুরু হয় // যাতে কোন পরস্পরবিরোধী পরিবর্তনশীল নাম নেই তা নিশ্চিত করা যায়। // বন্ধনীগুলির জন্য অন্য কোন প্রয়োজন নেই, চেক করার প্রয়োজন নেই // মোডের মান।{int lolite = 2; int hilite = 255; int মানে; int ampl; ভাসা fasedelta = 2.5; ভাসমান ফেজ; int elong; ভাসমান ফ্যাক্টর; দীর্ঘ সময়ের; গড় = (লোলাইট + হিলাইট) / 2; ampl = হিলাইট - মানে; যদি (মোড == 6) সময় = 1500; অন্য সময় = 3500; ফ্যাক্টর = 6.28318530718 / সময়কাল; while (true) {fase = phactor * (millis () % period); elong = mean + ampl * sin (fase); analogWrite (7, elong); analogWrite (9, elong); ফেজ = ফ্যাক্টর * ((মিলিস () + পিরিয়ড / 4) % পিরিয়ড); elong = mean + ampl * sin (fase); analogWrite (3, elong); analogWrite (8, elong); ফেজ = ফ্যাক্টর * ((মিলিস () + পিরিয়ড / 2) % পিরিয়ড); elong = mean + ampl * sin (fase); analogWrite (4, elong); analogWrite (5, elong); ফেজ = ফ্যাক্টর * ((মিলিস () + 3 * পিরিয়ড / 4) % পিরিয়ড); elong = mean + ampl * sin (fase); analogWrite (6, elong); } // মোমবাতির তারগুলিকে আরডুইনোতে সংযুক্ত করার সময়, // আমি তাদের মিশ্রিত করেছিলাম এবং সেগুলি কখনই ক্রমে পাইনি। // তরঙ্গ নিদর্শন তৈরির জন্য অর্ডারটি গুরুত্বপূর্ণ, // তাই আমি আমার জন্য এই ছোট্ট টেবিলটি লিখেছি: // // সেতুর মধ্যে মোমবাতি#: 2 3 5 4 7 6 1 // Arduino এ ডেটা পিন: 3 4 5 6 7 8 9}} অকার্যকর লুপ () {// যেহেতু প্রতিটি হালকা প্রোগ্রাম তার নিজস্ব অসীম লুপ, // আমি শুরু () বিভাগে // সব লুপ লিখেছিলাম এবং এই লুপ () বিভাগের জন্য কিছুই রাখিনি। }
ধাপ 6: PWM সম্পর্কে
3 ভি দিয়ে চালিত হলে লেডগুলি উজ্জ্বল হয়। শুধুমাত্র 1.5 ভি ব্যবহার করে তারা মোটেও জ্বলবে না। এলইডি লাইটগুলি ম্লান ভোল্টেজের সাথে সুন্দরভাবে বিবর্ণ হয় না, যেমন ভাস্বর আলো। পরিবর্তে তাদের পূর্ণ ভোল্টেজ দিয়ে চালু করতে হবে, তারপর বন্ধ করে দিতে হবে। যখন এটি প্রতি সেকেন্ডে 50 বার ঘটে, তারা 50 % উজ্জ্বলতার সাথে সুন্দরভাবে উজ্জ্বল হয়, কমবেশি। যদি তাদের শুধুমাত্র 5 এমএস এবং 15 এমএস বন্ধ থাকার অনুমতি দেওয়া হয় তবে তারা 25 % উজ্জ্বলতার সাথে উজ্জ্বল হতে পারে। এই কৌশলটিই LED আলোকে অস্পষ্ট করে তোলে। এই কৌশলটিকে পালস প্রস্থ মডুলেশন বা PWM বলা হয়। Arduino এর মত একটি মাইক্রোকন্ট্রোলারের সাধারণত ডাটা পিন থাকে, যা সিগন্যাল অন/অফ করতে পারে। কিছু ডেটা পিন PWM এর জন্য সক্ষমতা তৈরি করেছে। কিন্তু যদি পিডব্লিউএম -এ নির্মিত যথেষ্ট পিন না থাকে, তবে "সফটওয়্যার পিডব্লিউএম পিন" তৈরি করতে সাধারণত ডেডিকেটেড প্রোগ্রামিং লাইব্রেরি ব্যবহার করা সম্ভব।
আমার প্রকল্পে, আমি একটি Arduino Mega2560 ব্যবহার করেছি, যার পিন 3 - 9 এ হার্ডওয়্যার PWM আছে। যদি আপনি একটি Arduino UNO ব্যবহার করেন, তাহলে আপনার মাত্র ছয় PWM পিন আছে সেক্ষেত্রে, যদি আপনার 7 তম (বা তারও বেশি) মোমবাতির প্রয়োজন হয়, আমি ব্রেট হ্যাগম্যানের সফটওয়্যার PWM লাইব্রেরির সুপারিশ করতে পারি, যা আপনি এখানে পেতে পারেন।
প্রস্তাবিত:
ছোট LED ঝলকানো চিত্র: 6 টি ধাপ
ক্ষুদ্র LED ঝলকানো চিত্র: আপনি সহজেই arduino বা 555 টাইমার দিয়ে LED ঝলকান। কিন্তু আপনি এই ধরনের আইসি ছাড়া একটি ঝলকানি সার্কিট তৈরি করতে পারেন। এটি বিচ্ছিন্ন অংশ থেকে তৈরি একটি সহজ ঝলকানি চিত্র
বৈদ্যুতিন ব্যাজ LED ঝলকানো রোবট ব্যাজ - সোল্ডারিং কিট: 11 টি ধাপ
ইলেকট্রনিক ব্যাজ LED ব্লিঙ্কিং রোবট ব্যাজ - সোল্ডারিং কিট: এই নিবন্ধটি গর্বের সাথে PCBWAY দ্বারা স্পনসর করা হয়েছে। আপনার নিজের জন্য এটি ব্যবহার করে দেখুন এবং PCBWAY তে মাত্র 5 ডলারে 10 PCBs পান খুব ভালো মানের সাথে, ধন্যবাদ PCBWAY। আমি যে Robadge#1 এর জন্য তৈরি করেছি
মোমবাতি চালিত বৈদ্যুতিক মোমবাতি: 8 টি ধাপ (ছবি সহ)
মোমবাতি চালিত বৈদ্যুতিক মোমবাতি: হারিকেন স্যান্ডি সম্পর্কে সংবাদ রিপোর্ট দেখার পর এবং নিউইয়র্ক এবং নিউ জার্সিতে আমার পরিবার এবং বন্ধুরা যে কষ্টের মধ্য দিয়ে যাচ্ছিল তা শোনার পরে, এটি আমার নিজের জরুরি প্রস্তুতি সম্পর্কে চিন্তা করে। সান ফ্রান্সিসকো - সর্বোপরি - খুব উপরে বসে আছে
অস্থাবর কাঠের সেতু: 8 টি ধাপ
অস্থাবর কাঠের সেতু: পটভূমির তথ্য আমরা JI (মিশিগান-সাংহাই জিয়াও টং ইউনিভার্সিটি জয়েন্ট ইনস্টিটিউটের সংক্ষিপ্ত রূপ) থেকে টিম ট্রিনিটি, যা D০০ ডংচুয়ান রোড, মিনহং জেলা, সাংহাই, চীন এ অবস্থিত। JI ভবিষ্যতের প্রকৌশলীদের চাষ করে
ঝলকানো LED মোমবাতি: 10 টি ধাপ
ঝলকানি LED মোমবাতি: একটি ডলারের দোকান নিন " ঝলকানি " LED মোমবাতি, একটি AVR ATtiny13 এবং একটি ছোট কোড যোগ করুন, এবং আপনি একটি LED মোমবাতি পাবেন যা প্রায় বাস্তব দেখায়