विषयसूची:

TfCD - प्लस: 7 कदम
TfCD - प्लस: 7 कदम

वीडियो: TfCD - प्लस: 7 कदम

वीडियो: TfCD - प्लस: 7 कदम
वीडियो: Are You Exploring TFCD Scenario Planning 2024, जुलाई
Anonim
Image
Image
अवयव
अवयव

प्लस एक न्यूनतम स्मार्ट लाइट है, जो न केवल लोगों को मौसम की स्थिति के बारे में सूचित करती है, बल्कि प्लस को घुमाकर प्रकाश के रंग में किए गए परिवर्तनों से उपयोगकर्ताओं के लिए एक सुखद अनुभव भी बनाती है। इसका आकार उपयोगकर्ता को कई प्लस मॉड्यूल को संयोजित करने या दोस्तों द्वारा रखे गए बहुत सारे प्लस पीस के साथ एक विशाल लैंप बनाने का अवसर देता है। यह प्रकाश परियोजना टीयू डेल्फ़्ट विश्वविद्यालय में उन्नत अवधारणा डिजाइन (एसीडी) पाठ्यक्रम का एक हिस्सा है, और प्रेरणा के स्रोत के रूप में टीएफसीडी व्यावहारिक का उपयोग करके लागू की गई तकनीक है।

चरण 1: सामग्री

अवयव
अवयव
अवयव
अवयव

1 रास्पबेरी पाई शून्य डब्ल्यू

1 नाली Adxl345 एक्सेलेरोमीटर

4 Ws2812b एलईडी

1 प्रोटोटाइप बोर्ड

3डी प्रिंटेड और लेजर-कट एनक्लोजर

चरण 2: हार्डवेयर

हार्डवेयर
हार्डवेयर
हार्डवेयर
हार्डवेयर
हार्डवेयर
हार्डवेयर
हार्डवेयर
हार्डवेयर

एल ई डी

Neopixel LED में 4 पिन नाम हैं: +5V, GND, डेटा इन और डेटा आउट।

  1. रास्पबेरी पाई का पिन 4 सभी एल ई डी के +5वी से जुड़ा है
  2. रास्पबेरी पाई का पिन 6 सभी LEDS के GND से जुड़ा है
  3. डेटा पहले एलईडी के पिन को रास्पबेरी पाई पर पिन 12 से जोड़ा जाता है।
  4. पहली एलईडी का डेटा आउट पिन दूसरे और आगे के डेटा से जुड़ा है।

कृपया बेहतर समझ के लिए वायरिंग आरेख पर एक नज़र डालें।

accelerometer

एक्सेलेरोमीटर में 4 पिन नाम हैं: वीसीसी, जीएनडी, एसडीए और एससीएल।

  1. रास्पबेरी पाई का पिन 1 वीसीसी से जुड़ा है।
  2. रास्पबेरी पाई का पिन 3 एससीएल से जुड़ा है।
  3. रास्पबेरी पाई का पिन 5 एसडीए से जुड़ा है।
  4. रास्पबेरी पाई का पिन 9 जीएनडी से जुड़ा है।

निर्माण

  1. सुविधा के लिए, एल ई डी को एक प्रोटोटाइप बोर्ड पर टांका लगाया जा सकता है। हमने बोर्ड को एक प्लस के आकार में काटने का फैसला किया है ताकि यह 3 डी डिज़ाइन किए गए मामले में अच्छी तरह फिट हो सके।
  2. एक बार जब हम बोर्ड पर एल ई डी को मिलाते हैं, तो हम 0.1 "हेडर कनेक्ट और एल ई डी के बीच कनेक्शन बनाने के लिए जम्पर तारों को मिलाते हैं। हेडर कनेक्टर का उपयोग रास्पबेरी पाई को डिस्कनेक्ट करने और भविष्य की परियोजना के लिए फिर से उपयोग करने के लिए किया जाता है।

चरण 3: सॉफ्टवेयर

सॉफ्टवेयर
सॉफ्टवेयर

रास्पबेरी पाई ऑपरेटिंग सिस्टम छवि

हमें सबसे पहले रास्पबेरी पाई को ऊपर और चलाने की जरूरत है। ऐसा करने के लिए हम इन चरणों का पालन करते हैं:

  1. रास्पियन का नवीनतम संस्करण यहाँ से डाउनलोड करें। आप इसे सीधे या टॉरेंट के माध्यम से डाउनलोड कर सकते हैं। डाउनलोड किए गए ओएस को एसडी कार्ड (रास्पबेरी पाई बी + मॉडल और रास्पबेरी पाई ज़ीरो के मामले में माइक्रो एसडी कार्ड) में लिखने के लिए आपको एक छवि लेखक की आवश्यकता होगी।
  2. तो यहाँ से "win32 डिस्क इमेजर" डाउनलोड करें। लैपटॉप/पीसी में एसडी कार्ड डालें और इमेज राइटर चलाएं। एक बार खोलने के बाद, डाउनलोड की गई रास्पियन छवि फ़ाइल ब्राउज़ करें और चुनें। सही डिवाइस का चयन करें, जो कि एसडी कार्ड का प्रतिनिधित्व करने वाली ड्राइव है। यदि चयनित ड्राइव (या डिवाइस) एसडी कार्ड से अलग है तो अन्य चयनित ड्राइव दूषित हो जाएगी। तो सावधान रहो।
  3. उसके बाद, नीचे "लिखें" बटन पर क्लिक करें। उदाहरण के तौर पर, नीचे दी गई छवि देखें, जहां एसडी कार्ड (या माइक्रो एसडी) ड्राइव "जी:\" अक्षर द्वारा दर्शाया गया है ओएस अब सामान्य उपयोग के लिए तैयार है। हालाँकि इस ट्यूटोरियल में हम रास्पबेरी पाई का उपयोग हेडलेस मोड में करने जा रहे हैं। इसका मतलब है बिना भौतिक मॉनिटर और इससे जुड़े कीबोर्ड के!
  4. एसडी कार्ड को जलाने के बाद, इसे अपने कंप्यूटर से बाहर न निकालें! एसडी कार्ड में मौजूद config.txt फ़ाइल को खोलने के लिए टेक्स्ट एडिटर का इस्तेमाल करें। नीचे जाएं और अंतिम पंक्ति के रूप में dtoverlay=dwc2 जोड़ें:
  5. config.txt फ़ाइल को सादे पाठ के रूप में सहेजें और फिर cmdline.txt खोलें रूटवेट (पहली पंक्ति पर अंतिम शब्द) के बाद एक स्थान जोड़ें और फिर मॉड्यूल-लोड = dwc2, g_ether.
  6. अब अपने पीसी से एसडी कार्ड निकालें और इसे रास्पबेरी पाई में डालें और यूएसबी केबल का उपयोग करके इसे अपने पीसी से कनेक्ट करें। एक बार ओएस बूट हो जाने के बाद, आपको एक नया ईथरनेट गैजेट डिवाइस खोजा जाना चाहिए।
  7. आप बोर्ड से जुड़ने और इसे दूर से नियंत्रित करने के लिए ssh [email protected] का उपयोग कर सकते हैं। हेडलेस ऑपरेशन के बारे में अधिक विस्तृत निर्देशों के लिए यहां जाएं। नियोपिक्सल ड्राइवर

rpi_ws281x लाइब्रेरी वह कुंजी है जो रास्पबेरी पाई के साथ NeoPixels का उपयोग करना संभव बनाती है।

सबसे पहले हमें पुस्तकालय को संकलित करने के लिए आवश्यक उपकरणों को स्थापित करने की आवश्यकता है। अपने रास्पबेरी पाई रन में: sudo apt-get update && sudo apt-get install बिल्ड-एसेंशियल पायथन-देव git scons swig अब लाइब्रेरी को डाउनलोड और कंपाइल करने के लिए इन कमांड्स को रन करें:

git क्लोन https://github.com/jgarff/rpi_ws281x.git && cd rpi_ws281x && scons अंत में, लाइब्रेरी के सफलतापूर्वक संकलित होने के बाद, हम इसका उपयोग करके अजगर के लिए स्थापित कर सकते हैं:

cd python && sudo python setup.py install अब अजगर कोड आता है जो एल ई डी चलाता है। आपकी मदद करने के लिए कुछ टिप्पणियों के साथ कोड काफी सरल है। नियोपिक्सल आयात से * # NeoPixel कॉन्फ़िगरेशन LED_PIN = 18 # रास्पबेरी पाई का GPIO पिन पिक्सेल से जुड़ा LED_BRIGHTNESS = 255 # सबसे गहरे रंग के लिए 0 और सबसे चमकीले LED_COUNT = 4 के लिए 255 पर सेट करें # LED पिक्सेल स्ट्रिप की संख्या = Adafruit_NeoPixel (LED_COUNT, LED_PIN, 800000, 5, गलत, LED_BRIGHTNESS, 0, ws. WS2811_STRIP_GRB) # लाइब्रेरी स्ट्रिप को इनिशियलाइज़ करें। शुरू करें () स्ट्रिप.सेट पिक्सेलकलर (0, कलर (255, 255, 255)) स्ट्रिप।

ADXL345 चालक

एक्सेलेरोमीटर सेंसर जिसे हमने चुना है, में बाहरी दुनिया के साथ संचार करने के लिए I2C इंटरफेस है। सौभाग्य से हमारे लिए, रास्पबेरी पाई में I2C इंटरफ़ेस भी है। हमें बस इसे अपने कोड में उपयोग करने के लिए सक्षम करने की आवश्यकता है।

sudo raspi-config का उपयोग करके रास्पियन कॉन्फ़िगरेशन टूल को कॉल करें। एक बार चलने के बाद, इंटरफेसिंग विकल्प, उन्नत विकल्प पर जाएं और फिर I2C सक्षम करें। प्रासंगिक पायथन मॉड्यूल स्थापित करें ताकि हम पायथन में I2C इंटरफ़ेस का उपयोग कर सकें:

sudo apt-get install python-smbus i2c-tools निम्नलिखित पायथन कोड हमें एक्सेलेरोमीटर सेंसर के साथ संचार करने और हमारे अपने उद्देश्यों के लिए इसके रजिस्टर मूल्यों को पढ़ने की अनुमति देता है। आयात smbus आयात संरचना # एक्सेलेरोमीटर कॉन्फ़िगरेशन बस = smbus. SMBus(1) पता = 0x53 लाभ = 3.9e-3 bus.write_byte_data (पता, 45, 0x00) # स्टैंडबाय मोड पर जाएं बस.राइट_बाइट_डेटा (पता, 44, 0x06) # बैंडविड्थ 6.5 हर्ट्ज बस.राइट_बाइट_डेटा (पता, 45, 0x08) # माप मोड पर जाएं # सेंसर से डेटा पढ़ें buf = bus.read_i2c_block_data (पता, 50, 6) # डेटा को int16_t से पायथन पूर्णांक डेटा = struct.unpack_from में अनपैक करें (">एचएचएच", बफर (बाइटएरे (बीयूएफ)), 0)

एक्स = फ्लोट (डेटा [0]) * लाभ

वाई = फ्लोट (डेटा [1]) * लाभ

जेड = फ्लोट (डेटा [2]) * लाभ

आंदोलन डिटेक्टर

हमारे द्वारा बनाए जा रहे प्रकाश की एक विशेषता यह है कि यह इंटरेक्टिव मोड (जहां रोटेशन के आधार पर प्रकाश बदलता है) और मौसम पूर्वानुमान मोड (जहां मौसम पूर्वानुमान के आधार पर प्रकाश बदलता है) में प्रवेश करने के लिए आंदोलन (या वहां कमी) का पता लगा सकता है। आज केलिए)। निम्नलिखित कोड पिछले फ़ंक्शन का उपयोग 3-अक्षों के त्वरण मानों को पढ़ने के लिए करता है और आंदोलन होने पर हमें सतर्क करता है।

त्वरण = प्राप्त त्वरण ()

डीएक्स = एब्स (पिछला एक्सेल [0] - एक्सेल [0])

डाई = एब्स (पिछला एक्सेल [1] - एक्सेल [1])

dz = abs(prevAccel[2] - Accel[2])

अगर dx > मूव थ्रेशोल्ड या डाई टू > मूव थ्रेसहोल्ड या dz > मूव थ्रेशोल्ड:

प्रिंट 'स्थानांतरित'

स्थानांतरित = सच

अन्यथा:

स्थानांतरित = असत्य

मौसम एपीआई

मौसम पूर्वानुमान प्राप्त करने के लिए हम Yahoo Weather का उपयोग कर सकते हैं। इसमें याहू वेदर रेस्ट एपीआई से बात करना शामिल है जो कि जटिल हो सकता है। सौभाग्य से हमारे लिए, कठिन भाग को पहले से ही अजगर के लिए मौसम-एपीआई मॉड्यूल के रूप में ख्याल रखा गया है।

  1. सबसे पहले हमें इस मॉड्यूल का उपयोग करके स्थापित करने की आवश्यकता है: sudo apt install python-pip && sudo pip install weather-api
  2. इस मॉड्यूल के बारे में अधिक जानकारी के लिए कृपया लेखक की वेबसाइट देखें।

एक बार स्थापित करने के बाद निम्नलिखित कोड को इस पल के लिए मौसम की स्थिति मिल जाती है

मौसम आयात से मौसम मौसम = मौसम ()

स्थान = मौसम। लुकअप_बाय_लोकेशन ('डबलिन')

कंडीशन = लोकेशन। कंडीशन ()

प्रिंट (शर्त। टेक्स्ट ())

यह सब एक साथ डालें

उपरोक्त सभी टुकड़ों को जोड़ने वाली परियोजना का पूरा कोड यहां पाया जा सकता है।

ऑटो बूट समय पर अजगर स्क्रिप्ट शुरू कर रहा है

रास्पबेरी पाई को एक बॉक्स में डालने में सक्षम होने के लिए और हर बार जब हम इसे पावर से जोड़ते हैं, तो हमें यह सुनिश्चित करना चाहिए कि बूट के दौरान कोड स्वचालित रूप से शुरू हो गया है। ऐसा करने के लिए हम क्रॉन नामक टूल का उपयोग करते हैं।

  1. पहले क्रोन टूल का उपयोग करके कॉल करें: sudo crontab -e
  2. पिछले चरण एक कॉन्फ़िगरेशन फ़ाइल खोलेंगे, जिसमें हम निम्न पंक्ति जोड़ते हैं:

    @reboot python /home/pi/light.py &

चरण 4: मॉडलिंग और 3डी प्रिंट

मॉडलिंग और ३डी प्रिंट
मॉडलिंग और ३डी प्रिंट
मॉडलिंग और ३डी प्रिंट
मॉडलिंग और ३डी प्रिंट

Plus का 3D मॉडल सॉलिडवर्क्स में बनाया गया है, और. Stl प्रारूप के रूप में सहेजा गया है। फिर मॉडल को 3D प्रिंटिंग के लिए, Cura सॉफ़्टवेयर में. Stl फ़ाइल आयात की गई। प्लस के प्रत्येक पक्ष को उत्पादन करने में 2:30 घंटे लगे; इसलिए प्रत्येक पूर्ण प्लस को प्रिंट होने में लगभग 5 घंटे लगे। और पारदर्शी पक्षों के लिए, plexiglass लेजर-कट थे।

चरण 5: विधानसभा

सभा
सभा
सभा
सभा
सभा
सभा
सभा
सभा

3डी प्रिंटेड हिस्से, इलेक्ट्रॉनिक्स और सॉफ्टवेयर के साथ, हम अंत में अंतिम उत्पाद को इकट्ठा कर सकते हैं।

  1. 3डी प्रिंटेड टॉप और बॉटम प्लेट्स, हमने अनुमान से अधिक पारदर्शी पाया। एल्यूमीनियम पन्नी की एक परत ने प्रकाश रिसाव की समस्या को हल किया।
  2. हालाँकि, ये शीट प्रवाहकीय हैं और हमारे असुरक्षित सर्किट में शॉर्ट का कारण बन सकती हैं। तो सफेद कार्ड बोर्ड की एक और परत ऊपर से चिपकी हुई है।
  3. फैलाना Plexiglas खंड साइड प्लेटों में से एक से चिपके हुए हैं।
  4. साइड 3डी प्रिंटेड पैनल में से एक में एक छेद ड्रिल किया जाता है। ऐसा इसलिए है ताकि हम पावर कॉर्ड से गुजर सकें।
  5. एक बार, पावर कॉर्ड को छेद के माध्यम से फिट किया जाता है, हम इसे अपने प्रोटोटाइप बोर्ड पर मिलाते हैं।
  6. हम सेंसर को रास्पबेरी पाई से जोड़ते हैं और फिर इसे कनेक्टर में प्लग करते हैं।
  7. हम अपना अंतिम उत्पाद प्राप्त करने के लिए 2 पीस को एक साथ जोड़ते हैं।
  8. वैकल्पिक रूप से आप अधिक स्थायी कनेक्शन बनाने के लिए 2 टुकड़े को गोंद कर सकते हैं। हालाँकि, ध्यान रखें कि यदि आप कोड को बाद में बदलना चाहते हैं, तो इसे बंद करने के बाद बॉक्स में प्रवेश करना मुश्किल हो सकता है।

सिफारिश की: