विषयसूची:

ब्लूटूथ स्मार्टफोन-नियंत्रित स्मार्ट एलईडी लैंप: 7 कदम
ब्लूटूथ स्मार्टफोन-नियंत्रित स्मार्ट एलईडी लैंप: 7 कदम

वीडियो: ब्लूटूथ स्मार्टफोन-नियंत्रित स्मार्ट एलईडी लैंप: 7 कदम

वीडियो: ब्लूटूथ स्मार्टफोन-नियंत्रित स्मार्ट एलईडी लैंप: 7 कदम
वीडियो: Smart Light Wireless Fast Charger Bluetooth Speaker for iPhone Samsung Mobile Phone Dock Station 2024, दिसंबर
Anonim
Image
Image
ब्लूटूथ स्मार्टफोन-नियंत्रित स्मार्ट एलईडी लैंप
ब्लूटूथ स्मार्टफोन-नियंत्रित स्मार्ट एलईडी लैंप

मैं हमेशा अपने प्रकाश उपकरणों को नियंत्रित करने का सपना देखता हूं। फिर किसी ने एक अविश्वसनीय रंगीन एलईडी लैंप बनाया। मैं हाल ही में Youtube पर जोसेफ कासा द्वारा एक एलईडी लैंप में आया था। इससे प्रेरित होकर, मैंने समकालीन डिजाइन को ध्यान में रखते हुए कई कार्यों को जोड़ने का फैसला किया।

एक ब्लूटूथ मॉड्यूल और एड्रेसेबल WS2812B RGB LED स्ट्रिप को जोड़कर लैंप को अधिक उपयोगकर्ता के अनुकूल बनाने की योजना है। इससे केवल स्मार्टफोन ऐप का उपयोग करके प्रकाश के रंग को नियंत्रित करना संभव हो गया।

चरण 1: सामग्री इकट्ठा करें

सामग्री इकट्ठा करें
सामग्री इकट्ठा करें
सामग्री इकट्ठा करें
सामग्री इकट्ठा करें

उपकरण:

• टांका स्टेशन

• हीटर ब्लोअर गन

• छेदन यंत्र

• वृतीय आरा

• आरा

• वायर कटर सरौता

• संकीर्ण नाक सरौता

सामग्री:

• पारभासी एक्रिलिक बोर्ड

• जापानी सरू की लकड़ी (या आप किसी भी लकड़ी का उपयोग तब तक कर सकते हैं जब तक वह स्थिर और पर्याप्त मजबूत हो)

• पेंच

• स्टेनलेस स्टील पोल या स्टिक

• तार (मैं लाल और काले तार का उपयोग करता हूं)

• सोल्डरिंग टिन

इलेक्ट्रॉनिक्स घटक:

• अरुडिनो नैनो

• ब्लूटूथ मॉड्यूल HC-05 (मैंने इसका उपयोग करने का निर्णय लिया क्योंकि यह Wifi मॉड्यूल ESP8266 की तुलना में कोड करना आसान है)

• WS2812B एड्रेसेबल RGB LED स्ट्रिप

• LM2596 स्टेप-डाउन मॉड्यूल

• डीसी बैरल पावर जैक

चरण 2: दीपक की संरचना का निर्माण

दीपक की संरचना का निर्माण
दीपक की संरचना का निर्माण
दीपक की संरचना का निर्माण
दीपक की संरचना का निर्माण

इस चरण में, मेरे पास दीपक की संरचना के निर्माण के दो तरीके हैं- लकड़ी की विधि और 3 डी-प्रिंटिंग विधि। मैं पहली विधि का उपयोग करता हूं। यदि आप इसे 3D प्रिंटर का उपयोग करके बनाना पसंद करते हैं, तो मेरे द्वारा डिज़ाइन किए गए मॉडल के चरण 2 पर जाने के लिए स्वतंत्र महसूस करें।

लैंप के ऊपरी हिस्से के लिए, मैं ऐक्रेलिक बोर्ड को गर्म करता हूं और 90° के कोण पर मोड़ता हूं, जैसा कि ऊपर दिखाया गया है। मुझे इसे इतने सही कोण और दिशा में मोड़ने में काफी समय लगता है।

अगला, दीपक के निचले हिस्से के लिए। दुर्भाग्य से … जिस दिन मैं दीपक के निचले हिस्से पर काम कर रहा हूं, मैं निर्माण की तस्वीर लेना पूरी तरह से भूल गया! मुझे एहसास हुआ कि जब मैंने यह प्रोजेक्ट पूरा किया। लेकिन मैं आपको दीपक के निचले हिस्से की माप प्रदान करने की पूरी कोशिश करूंगा।

मूल रूप से, आपको लकड़ी के चार ब्लॉक काटने की जरूरत है जो 13x6x2cm (LxHxW) मापते हैं। अगला, आपको लकड़ी के किनारे पर एक सीढ़ी जैसा कट काटने की जरूरत है। चित्र ऊपर दिखाया जाएगा।

चरण 3: 3D आकार

3डी आकार
3डी आकार
3डी आकार
3डी आकार

जिनके पास अपना 3D प्रिंटर है, उनके लिए आप सही कदम पर हैं। इसने इस लैंप को उपयोगकर्ता के अनुकूल बना दिया।

सच कहूं तो यह मेरे लिए सबसे कठिन कदम था। सॉफ़्टवेयर स्थापित करने के ठीक बाद मैंने यह पहला काम किया है!

मैं दीपक की संरचना को डिजाइन करने के लिए स्केचअप प्रो का उपयोग करता हूं। दुर्भाग्य से, मैं इसके आंतरिक घटक को डिजाइन करने के लिए पर्याप्त कुशल नहीं हूं। मेरे 3D मॉडल का लिंक नीचे दी गई फ़ाइल में है।

चरण 4: घटकों की योजनाबद्ध

घटकों की योजनाबद्ध
घटकों की योजनाबद्ध

मैं घटकों के योजनाबद्ध निर्माण के लिए फ्रिटिंग का उपयोग करता हूं। योजनाबद्ध वास्तव में बहुत आसान है।

चरण 5: कोड

कोड
कोड

इस मूड लैंप की कोडिंग के लिए, मैंने Arduino IDE से कुछ पुस्तकालयों का उपयोग किया। पुस्तकालयों को चरण 7 पर सूचीबद्ध किया जाएगा।

कोड के लिए, आपके पास स्वयं Arduino सॉफ़्टवेयर होना चाहिए। मैं यहां डाउनलोड करने के लिए लिंक प्रदान करूंगा।

साथ ही, स्केच या कोड नीचे दिखाया जाएगा?

मैंने Github.com में कोड के लिए फ़ाइल भी प्रदान की है, यदि नीचे दिया गया कोड यहाँ कॉपी करने के लिए बहुत लंबा है;)

#शामिल करें #शामिल करें #शामिल करें #ifdef _AVR_ #शामिल करें #endif

सॉफ्टवेयर सीरियल बीटी(१०, ११);

#define LED_PIN 7 #define NUM_LEDS 60 #define BRIGHTNESS 200 #define SPEED 10 #define IMMEDIATELY 0 #define RAINBOW_SPEED 50 CRGB LEDs[NUM_LEDS];

Adafruit_NeoPixel स्ट्रिप = Adafruit_NeoPixel(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);

बूल ऑफ ओल्ड = कम;

बूल व्हाइटओल्ड = कम; बूल रेडओल्ड = कम; बूल ग्रीनओल्ड = कम; बूल ब्लूओल्ड = कम; बूल पुखराज = कम; बूल लिलाकओल्ड = कम; बूल रेनबोओल्ड = कम; बूल आरजीबीओल्ड = कम; इंट शो टाइप = 0;

व्यर्थ व्यवस्था() {

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

बीटी.बेगिन (९६००);

BT.println ("Arduino से कनेक्टेड");

स्ट्रिप.सेटब्राइटनेस (ब्राइटनेस);

पट्टी। शुरू ();

कपड़े उतारने का प्रदर्शन();

}

चार ए;

शून्य लूप () {

के लिए (int i = 0; i <= 59; i++) { एलईडी = CRGB (२५५, २५५, २५५); FastLED.शो (); } बूल ऑफ = कम; बूल व्हाइट = कम; बूल ब्लू = कम; बूल लाल = कम; बूल ग्रीन = कम; बूल पुखराज = कम; बूल बकाइन = कम; बूल इंद्रधनुष = कम; बूल आरजीबी = कम; बूल एंड; अगर (बीटी.उपलब्ध ()) {ए = (चार) बीटी.रीड ();

अगर (ए == 'ओ')

{बंद = उच्च; BT.println ("एल ई डी बंद करना..");

}अन्यथा{

बंद = कम; } // ========================================= =========================================

अगर (ए == 'डब्ल्यू')

{सफेद = उच्च; BT.println ("सफेद एलईडी चालू करना");

}अन्यथा{

सफेद = कम; } // ========================================= =========================================

अगर (ए == 'बी')

{नीला = उच्च; BT.println ("ब्लू में बदल रहा है"); } और {नीला = कम; }

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

अगर (ए == 'आर')

{लाल = उच्च; BT.println ("लाल में बदल रहा है"); } और {लाल = कम; }

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

अगर (ए == 'जी')

{हरा = उच्च; BT.println ("चेंजिंग टू ग्रीन"); } और { हरा = कम; }

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

अगर (ए == 'टी')

{पुखराज = उच्च; BT.println ("टोपाज़ में बदलना"); }और{ पुखराज = कम; }

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

अगर (ए == 'एल')

{बकाइन = उच्च; BT.println ("लिलाक में परिवर्तन"); } और {बकाइन = कम; }

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

अगर (ए == 'ए')

{इंद्रधनुष = उच्च; BT.println ("रेनबो एनिमेशन"); } और {इंद्रधनुष = कम; } // ========================================== =========================================

अगर (ए == 'एम')

{आरजीबी = उच्च; BT.println ("रंगों को मिलाएं"); } और {आरजीबी = कम; } } अगर (बंद == कम && पुराने == उच्च) {देरी (20); अगर (बंद == कम) {शो टाइप = 0; // ऑफ एनीमेशन टाइप 0 स्टार्टशो (शो टाइप); } }

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

अगर (सफेद == कम && सफेद पुराना == उच्च) {

देरी(20); अगर (सफेद == कम) {शो टाइप = 1; // व्हाइट एनीमेशन टाइप 1 स्टार्टशो (शो टाइप); } }

// =========================================== ====================================== अगर (लाल == कम && रेडओल्ड == हाई) {देरी (20); अगर (लाल == कम) {शो टाइप = 2; // लाल एनीमेशन टाइप 2 स्टार्टशो (शो टाइप); } }

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

अगर (हरा == कम && हरा पुराना == उच्च) {

देरी(20); अगर (हरा == कम) {शो टाइप = 3; // ग्रीन एनीमेशन टाइप 3 स्टार्टशो (शो टाइप); } } // ======================================== ==========================================

अगर (नीला == कम && ब्लूओल्ड == उच्च) {

देरी(20); अगर (नीला == कम) {शो टाइप = 4; // ब्लू एनीमेशन टाइप 4 स्टार्टशो (शो टाइप); } }

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

अगर (पुखराज == कम && पुखराज == उच्च) {

देरी(20); अगर (पुखराज == कम) {शो टाइप = 5; // पुखराज एनीमेशन टाइप 5 स्टार्टशो (शो टाइप); } }

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

अगर (बकाइन == कम && लिलाकओल्ड == उच्च) {

देरी(20); अगर (बकाइन == कम) {शो टाइप = 6; // पुखराज एनीमेशन टाइप 6 स्टार्टशो (शो टाइप); } } // ======================================== ==========================================

अगर (इंद्रधनुष == कम && इंद्रधनुष पुराना == उच्च) {

देरी(20);

अगर (इंद्रधनुष == कम) {

शो टाइप = 8; // इंद्रधनुष एनीमेशन टाइप 8 स्टार्टशो (शो टाइप); } }

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

अगर (आरजीबी == कम && आरजीबीओल्ड == उच्च) {

देरी(20);

अगर (आरजीबी == कम) {

शो टाइप = 7; // मिक्स एनिमेशन टाइप 7 आरजीबी = हाई;

स्टार्टशो (शो टाइप);

} }

व्हाइटओल्ड = व्हाइट;

रेडओल्ड = लाल; ब्लूओल्ड = नीला; हरा पुराना = हरा; पुखराज = पुखराज; बकाइन ओल्ड = बकाइन; ऑफओल्ड = ऑफ; इंद्रधनुष पुराना = इंद्रधनुष; आरजीबीओल्ड = आरजीबी;

}

शून्य स्टार्टशो (int i) {

स्विच (i) {

केस 0: कलरवाइप (स्ट्रिप। कलर (0, 0, 0) स्पीड); // अंधेरा

टूटना;

केस 1: स्ट्रिप.सेटब्राइटनेस (255); // चमक को MAX. में बदलें

colorWipe(strip. Color(255, 255, 255), IMMEDIATELY); // सफेद पट्टी। सेटब्राइटनेस (ब्राइटनेस); // ब्राइटनेस को डिफॉल्ट वैल्यू ब्रेक पर रीसेट करें;

केस 2: कलरवाइप (स्ट्रिप। कलर (255, 0, 0), स्पीड); // लाल

टूटना;

केस 3: कलरवाइप (स्ट्रिप। कलर (0, 255, 0) स्पीड); // हरा

टूटना;

केस 4: कलरवाइप (स्ट्रिप। कलर (0, 0, 255), स्पीड); // नीला

टूटना;

केस 5: कलरवाइप (स्ट्रिप। कलर (0, 250, 255), स्पीड); // पुखराज

टूटना;

केस 6: कलरवाइप (स्ट्रिप। कलर (221, 130, 255), स्पीड); // बकाइन

टूटना; केस 7: कलरवाइप (स्ट्रिप। कलर (255, 0, 0)), स्पीड); // लाल रंग पोंछें (पट्टी। रंग (0, 255, 0) गति); // हरा रंग वाइप (पट्टी। रंग (0, 0, 255), गति); // ब्लू थिएटर चेज़ (स्ट्रिप। कलर (0, 0, 127), स्पीड); // ब्लू थिएटर चेज़ (स्ट्रिप। कलर (127, 0, 0), स्पीड); // रेड थिएटरचेस (स्ट्रिप। कलर (0, 127, 0), स्पीड); // हरा विराम;

केस 8: रेनबोसाइकल (25);

टूटना; } } शून्य रंगवाइप(uint32_t c, uint8_t प्रतीक्षा करें) { for(uint16_t i=0; i

शून्य इंद्रधनुष चक्र (uint8_t प्रतीक्षा करें) {

uint16_t मैं, जे;

for(j=0; j<256*10; j++) {// 5 चक्र पर सभी रंगों के चक्र के लिए (i=0; i< strip.numPixels(); i++) { strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels ()) + j) और 255); } कपड़े उतारने का प्रदर्शन(); देरी (प्रतीक्षा); } }

शून्य थिएटरचेज़ (uint32_t c, uint8_t प्रतीक्षा करें) {

के लिए (int j=0; j<10; j++) {// के लिए पीछा करने के 10 चक्र करें (int q=0; q <3; q++) { for (int i=0; i < strip.numPixels(); i=i+3) { strip.setPixelColor(i+q, c); // हर तीसरे पिक्सेल को } स्ट्रिप.शो () पर चालू करें;

देरी (प्रतीक्षा);

for (int i=0; i < strip.numPixels(); i=i+3) { strip.setPixelColor(i+q, 0); // हर तीसरे पिक्सेल को बंद करें } } } }

uint32_t व्हील (बाइट व्हीलपॉस) {

व्हीलपोस = 255 - व्हीलपोस; अगर (व्हीलपॉस <85) {रिटर्न स्ट्रिप। कलर (255 - व्हीलपॉस * 3, 0, व्हीलपॉस * 3); } अगर (व्हीलपोस <१७०) {व्हीलपोस - = ८५; वापसी पट्टी। रंग (0, व्हीलपॉस * 3, 255 - व्हीलपॉस * 3); } व्हीलपोस - = १७०; वापसी पट्टी। रंग (व्हीलपॉस * 3, 255 - व्हीलपॉस * 3, 0); }

चरण 6: दीपक को नियंत्रित करना

दीपक को नियंत्रित करना
दीपक को नियंत्रित करना
दीपक को नियंत्रित करना
दीपक को नियंत्रित करना
दीपक को नियंत्रित करना
दीपक को नियंत्रित करना

अपने स्मार्टफोन का उपयोग करके लैंप के रंग को नियंत्रित किया जा सकता है।

सबसे पहले, आपको Google Play Store या Apple App Store से 'ब्लूटूथ टर्मिनल HC-05' नामक ऐप इंस्टॉल करना होगा।

अपने स्मार्टफोन के माध्यम से दीपक को नियंत्रित करने के लिए ये चरण हैं:

1. अपने स्मार्टफोन में ब्लूटूथ चालू करें।

2. ऐप खोलें जो 'ब्लूटूथ टर्मिनल एचसी-05' है।

3. अब आपको स्क्रीन पर युग्मित उपकरण दिखाई देने चाहिए। 'एचसी-05' चुनें।

4. अब आप देख सकते हैं कि आपके स्मार्टफोन में एक काली स्क्रीन दिखाई दे रही है जो 'कनेक्टेड टू अरुडिनो' का संकेत देगी।

5. यहां मजेदार बात है, यदि आप टेक्स्टबॉक्स में 'बी' टाइप करते हैं, तो लैंप नीले रंग में बदल जाएगा। यहां उस कमांड की सूची दी गई है जिसे आप लैंप के लिए टाइप कर सकते हैं:

- सफेद के लिए डब्ल्यू

- बी नीले रंग के लिए

- हरे के लिए जी

- आर लाल के लिए

- पुखराज के लिए टी

- एल बकाइन के लिए

- इंद्रधनुष एनीमेशन के लिए

- ओ के लिए ऑफ

मज़ा है ना?

6. अंतिम लेकिन कम से कम, आप स्क्रीन के नीचे दिए गए बटन को अपने इच्छित टेक्स्ट में कस्टमाइज़ भी कर सकते हैं जैसा कि ऊपर चित्र में दिखाया गया है।

चरण 7: अपने मूड लैंप का आनंद लें

अपने मूड लैंप का आनंद लें !!
अपने मूड लैंप का आनंद लें !!
अपने मूड लैंप का आनंद लें !!
अपने मूड लैंप का आनंद लें !!
अपने मूड लैंप का आनंद लें !!
अपने मूड लैंप का आनंद लें !!

मुझे आशा है कि आपको यह निर्देश पसंद आया होगा। यह मेरे लिए एक बहुत ही चुनौतीपूर्ण प्रोजेक्ट था लेकिन मैंने इसे 14 साल के लड़के के रूप में पूरी तरह से पूरा करने में कामयाबी हासिल की। भविष्य में सुधार के लिए मुझे कुछ प्रतिक्रिया दें।

पढ़ने के लिए धन्यवाद और मेरी क्रिसमस!

सिफारिश की: