সুচিপত্র:
- ধাপ 1: নির্মাণ পরিকল্পনা:
- ধাপ 2: হস্তনির্মিত ছায়া
- ধাপ 3: হস্তনির্মিত ছায়া
- ধাপ 4: বৈদ্যুতিক সার্কিট:
- ধাপ 5: কোড:
- ধাপ 6: পনিপ্রগ-পোড়া বুটলোডারের সাথে এটি স্বতন্ত্র করুন
- ধাপ 7: সুতরাং এটি আমার আরডুইনো মুডল্যাম্প
ভিডিও: হাতে তৈরি আরডুইনো-চালিত আরজিবি মুডল্যাম্প: 7 টি ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:03
এই নির্দেশযোগ্যটি 5 টি ভাগে বিভক্ত:- নির্মাণ পরিকল্পনা (ধাপ 1)- হস্তনির্মিত ছায়া (ধাপ 2+3)- ATmega8 নিয়ামক (ধাপ 4) দিয়ে 3W LEDs চালানোর জন্য ইলেকট্রনিক সার্কিট- কোড (ধাপ 5)- কিভাবে এটি পেতে হয় একা একা (PonyProg দিয়ে Arduino বুটলোডার ফ্ল্যাশ করুন এবং স্কেচ বার্ন করুন) (ধাপ 6) শীঘ্রই আসছে Vid: কিছু ছাপ
de.youtube.com/watch?v=apZ9NpaUG84 Pic1: The Moodlamp Pic2: A mighty 3W LED
ধাপ 1: নির্মাণ পরিকল্পনা:
আমি কাগজের একটি পাতায় একটি ধারণা করতে ভালোবাসি প্রথম শীটে আপনি কিছু প্রাথমিক ধারণা দেখতে পান। আমি নিচের ডানদিকের নকশা বেছে নিয়েছি। দ্বিতীয় পৃষ্ঠায় নির্মাণের জন্য কিছু বিবরণ দেখানো হয়েছে। পরিমাপ প্রতিবারের মতো পরীক্ষামূলক, কিন্তু আমার জন্য ঠিক আছে;-) আমার হার্ডওয়্যারের চিন্তা ছিল:- আমি কি সামগ্রীগুলি পরিচালনা করতে পারি?- আলো জ্বলবে? ছায়ার মধ্য দিয়ে? - এটা কি অনুপাতে থাকা উচিত? - নিয়মিত উজ্জ্বলতার সাথে সাদা
ধাপ 2: হস্তনির্মিত ছায়া
উপকরণ সংগ্রহ করা: ছায়া: আমি দোকানে 30 মিলি প্লাস্টিকের একটি 3 ফুট x 3 ফুট শীট খুঁজে পেয়েছি (Pic1-3) এটি কাটার জন্য একটি ধারালো ছুরি ব্যবহার করুন। একটি মসৃণ সিলিন্ডার পান আমি ডান ছিদ্র (Pic7-8) তুরপুন পরে সব একসঙ্গে screwed। এটি সুন্দরভাবে দেখায় এবং পেতে এবং হ্যান্ডেল করা সহজ।.শ্যাফট থেকে খুব বেশি শেড না পাওয়ার জন্য, আমি উপরে একটি M8 বাদাম (Pic12) দিয়ে ওয়েল্ডিং রড থেকে একটু খাঁচা তৈরি করি। ছোট স্ক্রু এবং বাদাম একটু চতুর ছিল, কিন্তু 30 মিনিট পরে আমি এটি সম্পন্ন করেছি।
ধাপ 3: হস্তনির্মিত ছায়া
বেস: ডিস্কগুলিকে মসৃণ এবং গোলাকার করার জন্য লেথে চেক করা হয়েছিল। পরবর্তীতে, আমি এটিকে একটি মেহগনি কাঠের দাগ দিয়ে দাগ দিয়েছিলাম যাতে পাইনটি ভাল দেখায়। এরপর কি?!? আমি একই ব্যবহার করে একটি বেস তৈরি করার সিদ্ধান্ত নিয়েছি ছায়া হিসাবে হিমায়িত প্লাস্টিক, এবং এটি একটি RGB microLED (Pic5) সঙ্গে ব্যাকলাইট। knobs: আমি মেহগনি একটি টুকরা থেকে বোতাম এবং বাদাম একটি offcut থেকে knobs তৈরি
ধাপ 4: বৈদ্যুতিক সার্কিট:
প্রথম ছবিতে আপনি আমার পরিকল্পিত দেখতে পান। এবং এখানে আরেকটি ভিডিও: https://de.youtube.com/watch? V = xkiYzQAYf_A & NR = 1
ধাপ 5: কোড:
ছবিগুলিতে আপনি Arduino এর সাথে আমার প্রক্রিয়াটি দেখুন। প্রথমে আমি আমার নিজের তৈরি প্রোটোশিল্ড, একটি ব্যাটারি প্যাক এবং কিছু ধরণের এলইডি দিয়ে চেষ্টা করেছি। আমি কিছু মাস আগে টডেকার্টের "স্পুকি প্রজেক্টস" এবং "বায়োনিক আর্ডুইনো" দিয়ে শুরু করেছি। https://todbot.com/blog/spookyarduino/ আমার কোড তার প্রজেক্ট কোডের একটি চতুর সমন্বয়। "RGBMoodlight", "RGBPotMixer" এবং কিছু এক্সটেনশন। তিন এনালগ-ইন এবং একটি ডিজিটাল-ইন মোড সুইচ (ধন্যবাদ জু। বিরতি-রুটিনের জন্য:)। LEDs সংযুক্ত আছে D9, D10 এবং D11 যা PulseWithModulation সমর্থন করে। যদি আপনি চান, আমি স্কেচ প্রকাশ করতে পারি, কিন্তু এটি সত্যিই এই দুটি দুর্দান্ত কোডের একটি খালি সংমিশ্রণ। এখানে আমার প্রদীপের মূল কোড এটি একটু অগোছালো দেখায়, কারণ এটি ছিল আমার প্রোগ্রামিং এর খুব প্রাথমিক পর্যায়…
ক্লে শির্কির "dimmingLEDs" এর উপর ভিত্তি করে আমার "মুডল্যাম্প" এর কোড
*নেজো সেপ্টেম্বর ২০০8
- ইন্টারাপ্ট-মোড-সুইচ সহ মুডল্যাম্পের জন্য চূড়ান্ত কোড, আরজিবি-ফেইডিং এবং আরজিবি রঙ পরিবর্তনের জন্য এনালগ স্পিড-ডায়াল।
- ডিমিং-ফাংশন শুধুমাত্র সাদা রঙের জন্য কাজ করে
*নেজো অক্টোবর ২০০8
- মুডল্যাম্পের জন্য সাউন্ড-এক্সটেনশন:
- একটি ছোট LM368 Amp, একটি রিসিফায়ার এবং একটি RC-low-pass-filter সহ একটি কনডেন্সার মাইক্রোফোন
- আরেকটি এনালগ ইনপুট দিয়ে আমি RGBPotMixer- ফাংশনটি ব্যবহার করে মাইক-সিগন্যাল পেয়ে রঙ পরিবর্তন করি।
* * * PWM ব্যবহার করে ক্রস-ফেইডিং 3 LEDs, লাল, সবুজ এবং নীল, অথবা একটি ত্রি-রঙের LED এর জন্য কোড
- প্রোগ্রাম ধীরে ধীরে লাল থেকে সবুজ, সবুজ থেকে নীল এবং নীল থেকে লাল হয়ে যায়
- ডিবাগিং কোডটি Arduino 0004 অনুমান করে, কারণ এটি নতুন Serial.begin ()-স্টাইল ফাংশন ব্যবহার করে
- মূলত ক্লে শির্কির "dimmingLEDs"
*
- RGB ফেইড স্পীড পরিবর্তনের জন্য পিন A0 এ AnalogRead সক্ষম করা হয়েছে
- হিউআরজিবি রঙ পরিবর্তনের জন্য পিন এ 2 তে অ্যানালগ রিড সক্ষম করা হয়েছে
* * */#অন্তর্ভুক্ত // Outputint ledPin = 13; // ডিবাগিংয়ের জন্য controlPin redPin = 9; // লাল LED, ডিজিটাল পিন 9int greenPin = 10 এর সাথে সংযুক্ত; // সবুজ LED, ডিজিটাল পিন 10int bluePin = 11 এর সাথে সংযুক্ত; // নীল LED, ডিজিটাল পিন 11int dimredPin = 3 এর সাথে সংযুক্ত; // এনালগ ডিমিং ভ্যালুর জন্য পিন, ট্রানজিস্টর চালকের সাথে সংযুক্ত dimgreenPin = 5; int dimbluePin = 6; // ইনপুটিন্ট সুইচপিন = 2; // সুইচ পিন D2int val = 0 এর সাথে সংযুক্ত; // পিন স্ট্যাটাসিন্ট বাটন স্টেট পড়ার জন্য পরিবর্তনশীল; // ভেরিয়েবল বাটন স্টেটিন্ট বাটন চেপে ধরে = 0; // 3 টিপুন! Int potPin0 = 0; // মুডল্যাম্পে ফেইডিংয়ের মধ্যে বিলম্ব সামঞ্জস্য করার জন্য পাত্র; int potPin2 = 2; // হিউআরজিবি রঙিন পটভ্যাল = 0 পরিবর্তনের জন্য পোটেন্টিওমিটার আউটপুট; // potentiometerint maxVal = 0 থেকে ইনপুট সংরক্ষণ করার জন্য পরিবর্তনশীল; // ডিমিং ফ্যাক্টর ডিফল্ট সংরক্ষণ করার মান হল 255, যদি কোন পট সংযুক্ত না থাকে dimPin = 4; // উজ্জ্বলতা ম্লান করতে A4 এর সাথে সংযুক্ত পট // প্রোগ্রাম ভেরিয়েবলসিন্ট রেডভাল = 255; // ভেরিয়েবলগুলি পিনসিন্ট গ্রিনভ্যাল = 1 এ পাঠানোর জন্য মান সংরক্ষণ করতে; // প্রাথমিক মান হল লাল পূর্ণ, সবুজ এবং নীল অফিন্ট blueVal = 1; int i = 0; // লুপ কাউন্টার int অপেক্ষা; // = 15; // 50ms (.05 সেকেন্ড) বিলম্ব; দ্রুত fadesint k = 0 এর জন্য ছোট করুন; // ব্লিঙ্ক-ফাংশনে DEBUG = 0 এ কন্ট্রোল LED এর মান; // ডিবাগ কাউন্টার; যদি 1 তে সেট করা হয়, সিরিয়ালিন্ট LCD = 0 এর মাধ্যমে মানগুলি লিখবে; // এলসিডি কাউন্টার; যদি 1 এ সেট করা হয়, সিরিয়ালভয়েড সেটআপ () {pinMode (ledPin, OUTPUT) এর মাধ্যমে মানগুলি লিখবে; পিনমোড (রেডপিন, আউটপুট); // পিনগুলিকে আউটপুট পিনমোড (গ্রীনপিন, আউটপুট) হিসাবে সেট করে; পিনমোড (নীলপিন, আউটপুট); pinMode (dimredPin, OUTPUT); pinMode (dimgreenPin, OUTPUT); // পিনগুলিকে আউটপুট pinMode (dimbluePin, OUTPUT) হিসাবে সেট করে; pinMode (potPin2, INPUT); // pinMode (potPin0, INPUT); // পিনমোড (ডিমপিন, ইনপুট); // পিনমোড (সুইচপিন, ইনপুট); // সুইচ পিন ইনপুট সংযুক্তি হিসাবে সেট করুন if (DEBUG) {// যদি আমরা ডিবাগ করার জন্য পিনের মান দেখতে চাই… Serial.begin (9600); //… 0004 স্টাইলে সিরিয়াল আউটপুট সেট আপ করুন}} // প্রধান প্রোগ্রামভয়েড লুপ () {যদি (buttonPresses == 0) {মুডল্যাম্প (); // মুডলাইট ফাংশনকে কল করে} যদি (buttonPresses == 1) {RGBPotMixer (); // কল ম্যানুয়েল মিক্স ফাংশন} যদি (buttonPresses == 2) {হোয়াইট (); // এখানে সব সাদা আছে} যদি (buttonPresses == 3) {} // মুডল্যাম্প (); // RGBPotMixer (); // সাদা (); মনিটর (); dim ();} void Monitor () {// মনিটরে স্টেট পাঠান যদি (DEBUG) {// যদি আমরা DEBUG += 1 আউটপুট পড়তে চাই; // DEBUG কাউন্টার বাড়ান যদি (DEBUG> 10) {// প্রতি 10 টি লুপ DEBUG = 1 মুদ্রণ করুন; // কাউন্টার রিসেট করুন Serial.print (i); // 0004 স্টাইলে সিরিয়াল কমান্ড সিরিয়াল.প্রিন্ট ("\ t"); // একটি ট্যাব প্রিন্ট করুন Serial.print ("R:"); // নির্দেশ করুন যে আউটপুট হল লাল মান Serial.print (redVal); // মুদ্রণ লাল মান Serial.print ("\ t"); // একটি ট্যাব প্রিন্ট করুন Serial.print ("G:"); // সবুজ এবং নীল জন্য পুনরাবৃত্তি… Serial.print (greenVal); Serial.print ("\ t"); Serial.print ("B:"); Serial.print (blueVal); // println, একটি ক্যারেজ রিটার্ন Serial.print ("\ t") দিয়ে শেষ করতে হবে; সিরিয়াল.প্রিন্ট ("dimValue:"); Serial.print (maxVal); // println, একটি ক্যারেজ রিটার্ন Serial.print ("\ t") দিয়ে শেষ করতে হবে; সিরিয়াল.প্রিন্ট ("অপেক্ষা করুন:"); সিরিয়াল.প্রিন্ট (অপেক্ষা); // মনিটরে পটপিন 0 এর মান লিখেছে Serial.print ("\ t"); Serial.print ("hueRGBvalue"); Serial.print (potVal); // মনিটরে পটপিন 0 এর মান লিখেছে Serial.print ("\ t"); Serial.print ("buttonState:"); Serial.print (buttonState); // মনিটরে পটপিন 0 এর মান লিখেছে Serial.print ("\ t"); Serial.print ("buttonPresses:"); Serial.println (buttonPresses); // বোতামের মান লিখে মনিটরে চাপ দেয়}}} void dim () // হোয়াইট ডিম করার ফাংশন // হয়তো পরে সব মোডের জন্য {maxVal = analogRead (dimPin); maxVal /= 4; // 0..1024 থেকে এনালগ পরিসীমা 0..255 মান ডাল করার জন্য খুব বেশি analogWrite (dimredPin, maxVal); analogWrite (dimgreenPin, maxVal); analogWrite (dimbluePin, maxVal);} অকার্যকর মুডল্যাম্প () {অপেক্ষা = analogRead (potPin0); // potPin0 থেকে মান সন্ধান করুন; // যদি কোন পট সংযুক্ত না থাকে: অপেক্ষা করুন 255 i += 1; // ইনক্রিমেন্ট কাউন্টার // i = i - maxVal; যদি (i <255) // ফেইডের প্রথম ধাপ {redVal -= 1; // লাল নিচে সবুজভাল += 1; // সবুজ আপ blueVal = 1; // নীল কম} অন্যথায় যদি (i <509) // দ্বিতীয় পর্যায়ের বিবর্ণ {redVal = 1; // লাল কম সবুজভ্যাল -= 1; // সবুজ নিচে নীলভ্যাল += 1; // নীল আপ} অন্যথায় যদি (i <763) // তৃতীয় পর্যায়ের বিবর্ণ {redVal += 1; // লাল আপ greenVal = 1; // সবুজ lo2 blueVal -= 1; // নীল নিচে} অন্য // কাউন্টারটি পুনরায় সেট করুন, এবং আবার ফেইড শুরু করুন {i = 1; } // আমরা শুধু "redVal" এর পরিবর্তে "255 -redVal" করি কারণ // LED গুলি Gnd analogWrite (redPin, 255 - redVal) এর পরিবর্তে +5V পর্যন্ত সংযুক্ত থাকে; // LED পিনগুলিতে বর্তমান মান লিখুন analogWrite (greenPin, 255 - greenVal); analogWrite (bluePin, 255 - blueVal); /* dimredVal = min (redVal - maxVal, 255); // dimming dimredVal = max (redVal - maxVal, 0); dimgreenVal = min (greenVal - maxVal, 255); dimgreenVal = সর্বোচ্চ (greenVal - maxVal, 0); dimblueVal = min (blueVal - maxVal, 255); dimblueVal = সর্বোচ্চ (blueVal - maxVal, 0); analogWrite (redPin, 255 - dimredVal); // LED পিনগুলিতে বর্তমান মান লিখুন analogWrite (greenPin, 255 - dimgreenVal); analogWrite (bluePin, 255 - dimblueVal); * / অপেক্ষা / = 4; বিলম্ব (অপেক্ষা); // লুপ পুনরায় শুরু করার আগে 'অপেক্ষা' মিলিসেকেন্ডের জন্য বিরতি দিন} অকার্যকর RGBPotMixer () {potVal = analogRead (potPin2); // ইনপুট পিন potVal = potVal / 4 এ potentiometer মান পড়ুন; // 0-1023 থেকে 0-255 hue_to_rgb (potVal) এ রূপান্তর করুন; // potVal কে রঙ হিসেবে বিবেচনা করুন এবং rgb vals এ রূপান্তর করুন // "255-" এর কারণ হল আমাদের কাছে কমন-অ্যানোড এলইডি আছে, কমন-ক্যাথোড এনালগ রাইট নয় (redPin, 255-redVal); // LED পিনের মান লিখুন analogWrite (greenPin, 255-greenVal); analogWrite (bluePin, 255-blueVal); } অকার্যকর সাদা () {analogWrite (redPin, maxVal); // LED পিনগুলিতে মান লিখুন analogWrite (greenPin, maxVal); analogWrite (bluePin, maxVal); }/*
- একটি ভেরিয়েবল হিউ 'h' দেওয়া হয়েছে, যা 0-252 থেকে রেঞ্জ,
- আরজিবি রঙ মান যথাযথভাবে সেট করুন।
- সর্বাধিক মান পরিপূর্ণতা এবং সর্বোচ্চ মান (উজ্জ্বলতা)
- সম্পূর্ণরূপে পূর্ণসংখ্যা গণিত সঞ্চালন, কোন ভাসমান বিন্দু।
*/void hue_to_rgb (বাইট হিউ) {if (hue> 252) hue = 252; // 252 এ স্টেটব্যাক !! নেজো বাইট এইচডি = হিউ / 42; // 36 == 252/7, 252 == H_MAX বাইট হাই = hd % 6; // 0-5 বাইট f = হিউ % 42 দেয়; বাইট fs = f * 6; সুইচ (হাই) {কেস 0: রেডভাল = 252; greenVal = fs; blueVal = 0; বিরতি; কেস 1: redVal = 252-fs; greenVal = 252; blueVal = 0; বিরতি; কেস 2: রেডভ্যাল = 0; greenVal = 252; blueVal = fs; বিরতি; কেস 3: রেডভ্যাল = 0; greenVal = 252-fs; blueVal = 252; বিরতি; কেস 4: রেডভাল = এফএস; greenVal = 0; blueVal = 252; বিরতি; কেস 5: রেডভাল = 252; greenVal = 0; blueVal = 252-fs; বিরতি; }} void isr0 () {Serial.println ("\ n / n inerrupt / n"); buttonState = digitalRead (switchPin); // প্রাথমিক অবস্থা বিলম্ব পড়ুন মাইক্রোসেকেন্ড (100000); // if (val! = buttonState) {// বোতামের অবস্থা পরিবর্তিত হয়েছে! // if (buttonState == HIGH) {// বাটনটি এখন বোতাম টিপে আছে কিনা তা পরীক্ষা করুন ++ চাপুন; //} // val = buttonState; // আমাদের ভেরিয়েবলে নতুন অবস্থা সংরক্ষণ করুন যদি (buttonPresses == 3) {// zur cksetzen buttonPresses = 0; }} //} পরবর্তী পর্যায়ে ছিল ট্রানজিস্টর-ড্রাইভার। আমি 3Ppe ট্রানজিস্টর ব্যবহার করেছি 3Ampere- এ সর্বোচ্চ কারেন্ট সহ। ফরোয়ার্ড-কারেন্ট এবং ভোল্টেজ নিয়ন্ত্রিত হওয়ার পরে, LEDemitter সম্পূর্ণ তীব্রতার সাথে দুর্দান্ত কাজ করেছে।
ধাপ 6: পনিপ্রগ-পোড়া বুটলোডারের সাথে এটি স্বতন্ত্র করুন
কিভাবে আপনার প্যারালেল পোর্টটি ব্যবহার করে একটি arduino বুটলোডারকে ATmega168 বা ATmega8 এ জ্বালিয়ে arduino এনভায়রনমেন্ট ডট কমিং এর সাথে একটি সস্তা ফাঁকা চিপ ব্যবহার করতে হবে….. হয়তো একটি পৃথক নির্দেশে এখানে চিপটি স্বতন্ত্র ব্যবহার করার জন্য একটি ভাল নির্দেশনাও রয়েছে: https:/ /www.instructables.com/id/uDuino-Very-Low-Cost-Arduino-Compatible-Developme/?
ধাপ 7: সুতরাং এটি আমার আরডুইনো মুডল্যাম্প
যদি আপনি এটি পছন্দ করেন, দয়া করে আমাকে রেট দিন।
প্রস্তাবিত:
আপনার নিজের হাতে ক্র্যাঙ্কড ইমার্জেন্সি পাওয়ারব্যাঙ্ক তৈরি করুন: 4 টি ধাপ (ছবি সহ)
আপনার নিজের হাতে ক্র্যাঙ্কড ইমার্জেন্সি পাওয়ারব্যাঙ্ক তৈরি করুন: এই প্রকল্পে আমি আপনাকে দেখাবো কিভাবে একটি সংশোধিত পাওয়ারব্যাঙ্ক সহ একটি হাত-ক্র্যাঙ্কযুক্ত জেনারেটর তৈরি করতে হয়। এইভাবে আপনি একটি সকেটের প্রয়োজন ছাড়াই জরুরী পরিস্থিতিতে আপনার পাওয়ার ব্যাঙ্ক চার্জ করতে পারেন। পথে আমি আপনাকে বলব কেন BLDC মোট
হাতে তৈরি গাড়ি চার্জার সকেট: 7 টি ধাপ
হাতে তৈরি গাড়ির চার্জার সকেট: নরওয়েতে আমাদের শেষ ছুটির দিনে, আমরা ক্যাম্পার হিসেবে ব্যবহার করার জন্য একটি ভ্যান ভাড়া নিয়েছিলাম; এই রুক্ষ থাকার জায়গায়, একজন অনুপস্থিত " বিলাসিতা " ভ্যানের পিছনে একটি ইউএসবি চার্জিং পয়েন্টের অনুপস্থিতি ছিল, যেমন ঘুমের এলাকায়, এমনকি কী-অফ কন্ডোনেও চালিত
হাতে একটি স্পিকার স্মার্ট পেপার কেস তৈরি করুন: 5 টি ধাপ
হাতে একটি স্পিকার স্মার্ট পেপার কেস তৈরি করুন: পূর্বে, আমি একটি কাগজের ক্ষেত্রে একটি CAD ফাইল ডিজাইন করার জন্য LibreCAD এবং Python ব্যবহার করার একটি সংক্ষিপ্ত পরিচিতি পেয়েছিলাম। যখন আমরা একটি CAD ফাইল পাই, তখন আমাদের একটি কাগজের কেস কাটার জন্য লেজার কাটার দরকার। যাইহোক, প্রত্যেকেরই লেজার কাটারের অ্যাক্সেস নেই, তাই এটি শীতল হবে
সহজ অটোরঞ্জ ক্যাপাসিটর পরীক্ষক / ক্যাপাসিট্যান্স মিটার আরডুইনো এবং হাতে: 4 টি ধাপ
Arduino এবং হাত দ্বারা সহজ অটোরঞ্জ ক্যাপাসিটর পরীক্ষক / ক্যাপাসিট্যান্স মিটার: হ্যালো! এই পদার্থবিজ্ঞান-ইউনিটের জন্য আপনার প্রয়োজন:* 0-12V* এক বা একাধিক ক্যাপাসিটার* এক বা একাধিক চার্জিং প্রতিরোধক* একটি স্টপওয়াচ* ভোল্টেজের জন্য একটি মাল্টিমিটার পরিমাপ* একটি arduino ন্যানো* একটি 16x2 I²C ডিসপ্লে* 1 / 4W প্রতিরোধক 220, 10k, 4.7M এবং
কিভাবে সহজেই নিজের হাতে পাওয়ার ব্যাংক তৈরি করবেন: 7 টি ধাপ (ছবি সহ)
কিভাবে সহজেই নিজের হাতে পাওয়ার ব্যাংক তৈরি করবেন: এই নির্দেশাবলীতে আমি আপনাকে দেখাব কিভাবে আপনি সহজেই সহজলভ্য এবং সস্তা উপাদান ব্যবহার করে নিজের পাওয়ার ব্যাংক তৈরি করতে পারেন। এই ব্যাকআপ ব্যাটারিতে পুরানো ল্যাপটপ থেকে 18650 লি-আয়ন ব্যাটারি থাকে অথবা আপনি নতুন কিনতে পারেন। পরে আমি একটি কাঠের আবরণ দিয়ে তৈরি করেছি