সুচিপত্র:

ব্লুটুথ স্মার্টফোন নিয়ন্ত্রিত স্মার্ট এলইডি ল্যাম্প: 7 টি ধাপ
ব্লুটুথ স্মার্টফোন নিয়ন্ত্রিত স্মার্ট এলইডি ল্যাম্প: 7 টি ধাপ

ভিডিও: ব্লুটুথ স্মার্টফোন নিয়ন্ত্রিত স্মার্ট এলইডি ল্যাম্প: 7 টি ধাপ

ভিডিও: ব্লুটুথ স্মার্টফোন নিয়ন্ত্রিত স্মার্ট এলইডি ল্যাম্প: 7 টি ধাপ
ভিডিও: টিভিতেই চলবে মোবাইল | How to Connect Android Phone to Smart TV 2024, নভেম্বর
Anonim
Image
Image
ব্লুটুথ স্মার্টফোন নিয়ন্ত্রিত স্মার্ট এলইডি ল্যাম্প
ব্লুটুথ স্মার্টফোন নিয়ন্ত্রিত স্মার্ট এলইডি ল্যাম্প

আমি সবসময় আমার আলোর যন্ত্রপাতি নিয়ন্ত্রণ করার স্বপ্ন দেখি। তারপর কেউ একজন অবিশ্বাস্য রঙিন LED বাতি তৈরি করলেন। আমি সম্প্রতি ইউটিউবে জোসেফ কাশার একটি এলইডি ল্যাম্প পেয়েছি। এটি দ্বারা অনুপ্রাণিত হয়ে, আমি সমসাময়িক নকশা রেখে বেশ কয়েকটি ফাংশন যুক্ত করার সিদ্ধান্ত নিয়েছি।

একটি ব্লুটুথ মডিউল এবং অ্যাড্রেসযোগ্য WS2812B RGB LED স্ট্রিপ যুক্ত করে বাতিটিকে আরও ব্যবহারকারী বান্ধব করার পরিকল্পনা রয়েছে। এটি কেবল একটি স্মার্টফোন অ্যাপ ব্যবহার করে আলোর রঙ নিয়ন্ত্রণ করা সম্ভব করেছে।

ধাপ 1: উপকরণ সংগ্রহ করুন

উপকরণ সংগ্রহ করুন
উপকরণ সংগ্রহ করুন
উপকরণ সংগ্রহ করুন
উপকরণ সংগ্রহ করুন

সরঞ্জাম:

• সোল্ডারিং স্টেশন

• হিটার ব্লোয়ার গান

• ড্রিল মেশিন

• বিজ্ঞাপন দেখেছি

Ig জিগস

• ওয়্যার কাটার প্লেয়ার

• সংকীর্ণ-নাক প্লায়ার

উপকরণ:

• স্বচ্ছ এক্রাইলিক বোর্ড

• জাপানি সাইপ্রেস উড (অথবা আপনি যেকোন কাঠ ব্যবহার করতে পারেন যতক্ষণ এটি স্থিতিশীল এবং যথেষ্ট শক্তিশালী)

Rew স্ক্রু

• স্টেইনলেস স্টীল মেরু বা লাঠি

• তারের (আমি লাল এবং কালো তার ব্যবহার করি)

• সোল্ডারিং টিন

ইলেকট্রনিক্স উপাদান:

• আরডুইনো ন্যানো

• ব্লুটুথ মডিউল HC-05 (আমি এটি ব্যবহার করার সিদ্ধান্ত নিয়েছি কারণ এটি ওয়াইফাই মডিউল ESP8266 এর চেয়ে সহজ কোড)

• WS2812B ঠিকানাযোগ্য RGB LED স্ট্রিপ

• LM2596 স্টেপ-ডাউন মডিউল

• ডিসি ব্যারেল পাওয়ার জ্যাক

ধাপ 2: ল্যাম্পের কাঠামো তৈরি করা

প্রদীপের কাঠামো তৈরি করা
প্রদীপের কাঠামো তৈরি করা
প্রদীপের কাঠামো তৈরি করা
প্রদীপের কাঠামো তৈরি করা

এই ধাপে, আমার কাছে প্রদীপের কাঠামো তৈরির দুটি উপায় আছে- কাঠের কাজ পদ্ধতি এবং 3D-মুদ্রণ পদ্ধতি। আমি প্রথম পদ্ধতি ব্যবহার করি। যদি আপনি একটি 3D প্রিন্টার ব্যবহার করে এটি তৈরি করতে পছন্দ করেন, তাহলে নির্দ্বিধায় আমার ডিজাইন করা মডেলটির জন্য ধাপ 2 এ যান।

প্রদীপের উপরের অংশের জন্য, আমি উপরে দেখানো হিসাবে 90 ° কোণে এক্রাইলিক বোর্ডকে গরম করি এবং বাঁকাই। আমি একটি নিখুঁত কোণ এবং দিক এটি বাঁক বেশ দীর্ঘ সময় লাগে।

পরবর্তী, বাতি নিচের অংশের জন্য। দুর্ভাগ্যবশত … যেদিন আমি প্রদীপের নিচের অংশে কাজ করছি, আমি নির্মাণের ছবি তুলতে সম্পূর্ণ ভুলে গেছি! আমি বুঝতে পেরেছিলাম যখন আমি এই প্রকল্পটি শেষ করেছি। কিন্তু আমি আপনাকে প্রদীপের নিচের অংশের পরিমাপ দেওয়ার জন্য যথাসাধ্য চেষ্টা করব।

মূলত, আপনাকে শুধু কাঠের চারটি ব্লক কাটাতে হবে যা 13x6x2cm (LxHxW) পরিমাপ করে। পরবর্তী, আপনি কাঠের প্রান্তে একটি সিঁড়ি মত কাটা কাটা প্রয়োজন। ছবিটি উপরে দেখানো হবে।

ধাপ 3: 3D আকৃতি

3D আকৃতি
3D আকৃতি
3D আকৃতি
3D আকৃতি

যার নিজস্ব থ্রিডি প্রিন্টার আছে তার জন্য, আপনি সঠিক ধাপে আছেন। এটি এই বাতিটিকে ব্যবহারকারী বান্ধব করে তুলেছে।

সত্যি কথা বলতে, এটি ছিল সবচেয়ে কঠিন পদক্ষেপ যা আমি করেছি। সফটওয়্যার ইন্সটল করার পর আমি এই প্রথম কাজটি করলাম!

আমি প্রদীপের কাঠামো ডিজাইন করতে স্কেচআপ প্রো ব্যবহার করি। দুর্ভাগ্যক্রমে, আমি এর অভ্যন্তরীণ উপাদানটি ডিজাইন করার জন্য যথেষ্ট দক্ষ নই। আমার 3D মডেলের লিঙ্ক নীচের ফাইলে আছে।

ধাপ 4: কম্পোনেন্টস স্কিম্যাটিক

কম্পোনেন্টস স্কিম্যাটিক
কম্পোনেন্টস স্কিম্যাটিক

আমি উপাদানগুলির স্কিম্যাটিক্স তৈরি করতে ফ্রিজিং ব্যবহার করি। পরিকল্পিত আসলে বেশ সহজ।

ধাপ 5: কোড

কোড
কোড

এই মুড ল্যাম্পের কোডিংয়ের জন্য, আমি Arduino IDE থেকে কিছু লাইব্রেরি ব্যবহার করেছি। লাইব্রেরিগুলি ধাপ 7 এ তালিকাভুক্ত করা হবে।

কোডের জন্য, আপনার কাছে Arduino সফটওয়্যার থাকতে হবে। আমি এখানে ডাউনলোড করার লিংক দিব।

এছাড়াও, স্কেচ বা কোড নিচে দেখানো হবে?

আমি নীচের কোডটি এখানে অনুলিপি করার জন্য খুব দীর্ঘ হলে Github.com এ কোডের জন্য ফাইলটিও সরবরাহ করেছি;)

#অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত #ifdef _AVR_ #অন্তর্ভুক্ত #endif

সফটওয়্যার সিরিয়াল বিটি (10, 11);

#LED_PIN 7 ডিফাইন করুন

Adafruit_NeoPixel স্ট্রিপ = Adafruit_NeoPixel (NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);

বোল অফ ওল্ড = LOW;

bool WhiteOld = LOW; রেড ওল্ড = কম; বুল GreenOld = LOW; bool BlueOld = LOW; bool TopazOld = LOW; বুল LilacOld = LOW; রেইনবো ওল্ড = কম; বুল rgbOld = LOW; int showType = 0;

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

FastLED.addLeds (leds, NUM_LEDS); //////////

BT.begin (9600);

BT.println ("Arduino এর সাথে সংযুক্ত");

strip.set উজ্জ্বলতা (উজ্জ্বলতা);

strip.begin ();

strip.show ();

}

চর a;

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

জন্য (int i = 0; i <= 59; i ++) {leds = CRGB (255, 255, 255); FastLED.show (); } বুল অফ = LOW; বুল হোয়াইট = LOW; বুল নীল = নিম্ন; বুল লাল = নিম্ন; বুল সবুজ = কম; বুল পোখরাজ = নিম্ন; বুল লিলাক = নিম্ন; বুল রেইনবো = LOW; বুল আরজিবি = নিম্ন; বুল এন্ডে; যদি (BT.available ()) {a = (char) BT.read ();

যদি (a == 'o')

{বন্ধ = উচ্চ; BT.println ("LED বন্ধ করা..");

} অন্য {

বন্ধ = কম; } // =================================================== ================================================

যদি (a == 'w')

{সাদা = উচ্চ; BT.println ("হোয়াইট টার্নিং");

} অন্য {

সাদা = নিম্ন; } // =================================================== ================================================

যদি (a == 'b')

{নীল = উচ্চ; BT.println ("ব্লু টু চেঞ্জিং"); } অন্য {নীল = নিম্ন; }

// ===========================================================================================

যদি (a == 'r')

{লাল = উচ্চ; BT.println ("লাল পরিবর্তন"); } অন্য {লাল = নিম্ন; }

// ===========================================================================================

যদি (a == 'g')

{সবুজ = উচ্চ; BT.println ("সবুজের পরিবর্তন"); } অন্য {সবুজ = নিম্ন; }

// ===========================================================================================

যদি (a == 't')

{পোখরাজ = উচ্চ; BT.println ("চেঞ্জিং টু টোপাজ"); } অন্য {পোখরাজ = নিম্ন; }

// ===========================================================================================

যদি (a == 'l')

{লিলাক = উচ্চ; BT.println ("LILAC তে পরিবর্তন"); } অন্য {লিলাক = নিম্ন; }

// ===========================================================================================

যদি (a == 'a')

{রামধনু = উচ্চ; BT.println ("রেইনবো অ্যানিমেশন"); } অন্য {রামধনু = নিম্ন; } // =================================================== ================================================

যদি (a == 'm')

{আরজিবি = উচ্চ; BT.println ("MIX COLORS"); } অন্যথায় {rgb = LOW; }} if (off == LOW && offOld == HIGH) {বিলম্ব (20); যদি (বন্ধ == নিম্ন) {শো টাইপ = 0; // অফ অ্যানিমেশন টাইপ 0 startShow (showType); }}

// ===========================================================================================

যদি (সাদা == নিম্ন এবং & হোয়াইট ওল্ড == উচ্চ) {

বিলম্ব (20); যদি (সাদা == নিম্ন) {শো টাইপ = 1; // সাদা অ্যানিমেশন টাইপ 1 startShow (showType); }}

// ==================================================== =============================================== যদি (লাল == নিম্ন ও RedOld == উচ্চ) {বিলম্ব (20); যদি (লাল == নিম্ন) {শো টাইপ = 2; // লাল অ্যানিমেশন প্রকার 2 startShow (showType); }}

// ===========================================================================================

যদি (সবুজ == LOW && GreenOld == উচ্চ) {

বিলম্ব (20); যদি (সবুজ == নিম্ন) {শো টাইপ = 3; // সবুজ অ্যানিমেশন টাইপ 3 startShow (showType); }} // ================================================== =================================================

যদি (নীল == LOW && BlueOld == উচ্চ) {

বিলম্ব (20); যদি (নীল == নিম্ন) {শো টাইপ = 4; // নীল অ্যানিমেশন টাইপ 4 startShow (showType); }}

// ===========================================================================================

যদি (পোখরাজ == LOW && TopazOld == উচ্চ) {

বিলম্ব (20); যদি (পোখরাজ == নিম্ন) {শো টাইপ = 5; // পোখরাজ অ্যানিমেশন টাইপ 5 startShow (showType); }}

// ===========================================================================================

যদি (Lilac == LOW && LilacOld == HIGH) {

বিলম্ব (20); যদি (লিলাক == নিম্ন) {শো টাইপ = 6; // পোখরাজ অ্যানিমেশন টাইপ 6 startShow (showType); }} // ================================================== =================================================

যদি (রেইনবো == LOW && রেইনবো ওল্ড == উচ্চ) {

বিলম্ব (20);

যদি (রামধনু == নিম্ন) {

শো টাইপ = 8; // রেনবো অ্যানিমেশন টাইপ 8 startShow (showType); }}

// ===========================================================================================

যদি (rgb == LOW && rgbOld == HIGH) {

বিলম্ব (20);

যদি (rgb == LOW) {

শো টাইপ = 7; // মিক্স অ্যানিমেশন টাইপ 7 rgb = HIGH;

startShow (showType);

} }

WhiteOld = সাদা;

RedOld = লাল; BlueOld = নীল; GreenOld = সবুজ; TopazOld = পোখরাজ; লীলাকোল্ড = লিলাক; offOld = বন্ধ; রেইনবো ওল্ড = রেইনবো; rgbOld = rgb;

}

অকার্যকর startShow (int i) {

সুইচ (i) {

কেস 0: colorWipe (strip. Color (0, 0, 0), Speed); // কালো/বন্ধ

বিরতি;

কেস 1: strip.setBrightness (255); // উজ্জ্বলতাকে MAX এ পরিবর্তন করে

colorWipe (strip. Color (255, 255, 255), অবিলম্বে); // হোয়াইট স্ট্রিপ.সাইট উজ্জ্বলতা (উজ্জ্বলতা); // ডিফল্ট মান বিরতিতে উজ্জ্বলতা পুনরায় সেট করুন;

কেস 2: colorWipe (strip. Color (255, 0, 0), Speed); // লাল

বিরতি;

কেস 3: কালারওয়াইপ (স্ট্রিপ। কালার (0, 255, 0), স্পিড); // সবুজ

বিরতি;

কেস 4: কালারওয়াইপ (স্ট্রিপ কালার (0, 0, 255), স্পিড); // নীল

বিরতি;

কেস 5: কালারওয়াইপ (স্ট্রিপ। কালার (0, 250, 255), স্পিড); // পোখরাজ

বিরতি;

কেস 6: কালারওয়াইপ (স্ট্রিপ। কালার (221, 130, 255), স্পিড); // লিলাক

বিরতি; কেস 7: কালারওয়াইপ (স্ট্রিপ কালার (255, 0, 0), স্পিড); // লাল রং // সবুজ রঙের ওয়াইপ (স্ট্রিপ। রঙ (0, 0, 255), গতি); // নীল থিয়েটারচেস (স্ট্রিপ। রঙ (0, 0, 127), গতি); // নীল থিয়েটার চেস (স্ট্রিপ। রঙ (127, 0, 0), গতি); // লাল থিয়েটার চেস (স্ট্রিপ। রঙ (0, 127, 0), গতি); // সবুজ বিরতি;

কেস 8: রেইনবো সাইকেল (25);

বিরতি; }} void colorWipe (uint32_t c, uint8_t wait) {for (uint16_t i = 0; i

অকার্যকর রামধনুচক্র (uint8_t অপেক্ষা) {

uint16_t i, j;

জন্য (j = 0; j <256*10; j ++) (i * 256 / strip.numPixels ()) + j) & 255)); } strip.show (); বিলম্ব (অপেক্ষা); }}

অকার্যকর থিয়েটারচেস (uint32_t c, uint8_t wait) {

জন্য (int j = 0; j <10; j ++) {// (int q = 0; q <3; q ++) {for (int i = 0; i <strip.numPixels (); i = i+3) {strip.setPixelColor (i+q, c); // প্রতি তৃতীয় পিক্সেল চালু করুন} strip.show ();

বিলম্ব (অপেক্ষা);

জন্য (int i = 0; i <strip.numPixels (); i = i+3) {strip.setPixelColor (i+q, 0); // প্রতি তৃতীয় পিক্সেল বন্ধ করুন}}}}

uint32_t চাকা (বাইট হুইলপস) {

WheelPos = 255 - WheelPos; যদি (WheelPos <85) {return strip. Color (255 - WheelPos * 3, 0, WheelPos * 3); } যদি (WheelPos <170) {WheelPos -= 85; রিটার্ন স্ট্রিপ রঙ (0, হুইলপস * 3, 255 - হুইলপস * 3); } হুইলপস -= 170; রিটার্ন স্ট্রিপ রঙ (হুইলপস * 3, 255 - হুইলপস * 3, 0); }

ধাপ 6: ল্যাম্প নিয়ন্ত্রণ

ল্যাম্প নিয়ন্ত্রণ করা
ল্যাম্প নিয়ন্ত্রণ করা
ল্যাম্প নিয়ন্ত্রণ করা
ল্যাম্প নিয়ন্ত্রণ করা
ল্যাম্প নিয়ন্ত্রণ করা
ল্যাম্প নিয়ন্ত্রণ করা

আপনার স্মার্টফোন ব্যবহার করে প্রদীপের রঙ নিয়ন্ত্রণ করা যায়।

প্রথমে, আপনাকে গুগল প্লে স্টোর বা অ্যাপল অ্যাপ স্টোর থেকে 'ব্লুটুথ টার্মিনাল এইচসি -05' নামে অ্যাপটি ইনস্টল করতে হবে।

আপনার নিজের স্মার্টফোনের মাধ্যমে বাতিটি নিয়ন্ত্রণ করার জন্য এই পদক্ষেপগুলি হল:

1. আপনার স্মার্টফোনে ব্লুটুথ চালু করুন।

2. অ্যাপটি খুলুন যা 'ব্লুটুথ টার্মিনাল HC-05'।

3. আপনার এখন স্ক্রিনে জোড়া ডিভাইসগুলি দেখা উচিত। 'HC-05' বেছে নিন।

4. এখন আপনি আপনার স্মার্টফোনে একটি কালো পর্দা দেখতে পাবেন যা 'Arduino এর সাথে সংযুক্ত' নির্দেশ করবে।

5. এখানে মজার অংশ হল, যদি আপনি টেক্সটবক্সে 'b' টাইপ করেন, তাহলে বাতিটি নীল রঙে পরিণত হবে। প্রদীপের জন্য আপনি যে কমান্ডটি টাইপ করতে পারেন তার তালিকা এখানে:

- সাদা জন্য w

- নীল জন্য খ

- সবুজ জন্য ছ

- লাল জন্য r

- পোখরাজ জন্য টি

- আমি লিলাকের জন্য

- রামধনু অ্যানিমেশনের জন্য

- বন্ধ করার জন্য

মজা তাই না?

6. সর্বশেষ কিন্তু অন্তত নয়, আপনি উপরের ছবিতে দেখানো পর্দার নীচের বোতামটি আপনার পছন্দসই পাঠ্যে কাস্টমাইজ করতে পারেন।

ধাপ 7: আপনার মুড ল্যাম্প উপভোগ করুন

আপনার মুড ল্যাম্প উপভোগ করুন !!
আপনার মুড ল্যাম্প উপভোগ করুন !!
আপনার মুড ল্যাম্প উপভোগ করুন !!
আপনার মুড ল্যাম্প উপভোগ করুন !!
আপনার মুড ল্যাম্প উপভোগ করুন !!
আপনার মুড ল্যাম্প উপভোগ করুন !!

আমি আশা করি আপনি এই Instructables পছন্দ। এটি আমার জন্য একটি খুব চ্যালেঞ্জিং প্রজেক্ট ছিল কিন্তু আমি এটি 14 বছর বয়সী ছেলে হিসেবে সম্পূর্ণরূপে শেষ করতে পেরেছি। ভবিষ্যতের উন্নতির জন্য আমাকে কিছু প্রতিক্রিয়া দিন।

পড়ার জন্য এবং মেরি ক্রিসমাসের জন্য ধন্যবাদ!

প্রস্তাবিত: