विषयसूची:
वीडियो: Arduino 1-वायर जेनेरिक क्लाइंट/स्लेव डिवाइस (सेंसर): 4 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:19
उपलब्ध स्थिति और पुस्तकालयों के बारे में अधिक जानकारी प्राप्त करने के लिए कृपया Arduino 1-वायर डिस्प्ले (144 वर्ण) बनाने के तरीके के बारे में मेरे निर्देश का परिचय और चरण 2 पढ़ें। जैसा कि बताया गया है कि हम एक Arduino का उपयोग करके जेनेरिक 1-वायर डिवाइस (जैसे सेंसर) बनाने के लिए ऑर्गुआ द्वारा वनवायर-हब लाइब्रेरी (वनवायर स्लेव डिवाइस एमुलेटर) का उपयोग करेंगे (ध्यान दें कि आसपास अन्य कांटे हैं)।
चरण 1: सॉफ्टवेयर
सबसे महत्वपूर्ण बात एक ऐसा उपकरण बनाना है जो मूल रूप से किसी भी तरह के मूल्य को सरल तरीके से वापस कर सके। इसका मतलब है कि मानक सॉफ्टवेयर का उपयोग सभी मूल्यों को सीधे पढ़ने के लिए किया जा सकता है (कोई बातचीत या बाइनरी हेरफेर की आवश्यकता नहीं है)। उसके लिए हमें एक बहुत ही सरल डिफ़ॉल्ट 1-वायर डिवाइस की आवश्यकता है जो फ्लोट्स को वापस कर सके और व्यापक रूप से समर्थित हो। मुझे पता है कि एकमात्र विकल्प DS18B20 थर्मामीटर है (DS2438 बैटरी मॉनिटर दिलचस्प और उपयोगी भी है लेकिन काफी जटिल है और इस प्रकार अन्य कमियों के बीच धीमा है)। वनवायर-हब लाइब्रेरी में DS18B20_asInterface नामक एक उदाहरण है जो ठीक वही करता है जो हमें चाहिए। यह DS18B20 का एक गुच्छा बनाता है जिसमें से प्रत्येक एक फ्लोट वैल्यू का प्रतिनिधित्व करता है जिसे हम अपने सेंसर से वापस करना चाहते हैं। यहां प्रतिबंध संकल्प हैं और मान -55, 0 … 125, 0 की सीमा में होना चाहिए। यह आसानी से प्राप्त किया जा सकता है - सबसे खराब स्थिति में पुनर्विक्रय हो - और वास्तव में उन मानों से बेहतर है जिन्हें उदाहरण के द्वारा दर्शाया जा सकता है। DS2438 मान (1.5 से 10V)। वैकल्पिक रूप से मूल्यों की एक बड़ी श्रृंखला का उपयोग करके सेट किया जा सकता है:
setTemperatureRaw (static_cast (मान * 16.0f));
लेकिन इन मानों को पढ़ना और संसाधित करना सभी सॉफ़्टवेयर द्वारा समर्थित नहीं हो सकता है क्योंकि यह विनिर्देशों से बाहर है।
आपको इस बात की जानकारी होनी चाहिए कि शुरू में गुलामों की अधिकतम संख्या 8 तक सीमित है, लेकिन HUB_SLAVE_LIMIT को 32 तक बढ़ाकर "OneWireHub_config.h" में बदला जा सकता है। साथ ही आपको यह सुनिश्चित करना होगा कि यदि आपके द्वारा आवश्यक हो तो ONEWIRE_TIME_MSG_HIGH_TIMEOUT को अपनाना सुनिश्चित करें। 1-वायर नेटवर्क (जैसे x10), जैसा कि Arduino 1-वायर डिस्प्ले (144 वर्ण) के चरण 2 में बताया गया है। और अपने Arduino पर कोड को संकलित और अपलोड करने के लिए IDE संस्करण>= 1.8.3 का उपयोग करने के लिए।
यहां एक उदाहरण के रूप में डिवाइस का कोड जिसे मैंने हाल ही में बनाया है। जैसा कि मुझे लगता है कि आप सेंसर के उसी संयोजन का उपयोग नहीं करते हैं जो मैं करता हूं, मैं यहां विवरण में आगे नहीं जाऊंगा, कोड की जांच करें और यदि आपको सहायता की आवश्यकता हो तो प्रश्न पूछें।
चरण 2: हार्डवेयर
मूल रूप से जो कुछ भी आप एक Arduino से कनेक्ट कर सकते हैं उसे आपकी पसंद के सेंसर के रूप में उपयोग किया जा सकता है। एकमात्र प्रतिबंध यह है कि सेंसर को पढ़ना जितना संभव हो उतना तेज़ होना चाहिए ताकि 1-तार संचार होने के लिए बहुत समय बचा हो (मेरे निर्देश के चरण 2 को Arduino 1-वायर डिस्प्ले (144 वर्ण) के बारे में क्रम में प्रदान करें। एक उदाहरण प्राप्त करने के लिए)।
संभावित हार्डवेयर का एक उदाहरण मौसम स्टेशन हो सकता है जैसे:
https://shop.boxtec.ch/wetter-messer-p-41289.html
इसके अतिरिक्त या आप के बजाय शायद Arduino को ही अपने सेंसर के रूप में उपयोग करना चाहें। आप इसके बारे में और अधिक पढ़ सकते हैं कि मेरे निर्देश में Arduino कम ज्ञात सुविधाओं के बारे में - संभावित मान स्रोत वोल्टेज और आंतरिक तापमान हैं।
यहां एक उदाहरण के रूप में डिवाइस की एक छवि है जिसे मैंने हाल ही में बनाया है। जैसा कि मुझे लगता है कि आप सेंसर के उसी संयोजन का उपयोग नहीं करते हैं जो मैं करता हूं, मैं यहां विवरण में आगे नहीं जाऊंगा, कोड की जांच करें और यदि आपको सहायता की आवश्यकता हो तो प्रश्न पूछें।
चरण 3: डिवाइस का परीक्षण करें
इसे अपने नेटवर्क से कनेक्ट करें और अपने सॉफ़्टवेयर की जाँच करें कि सभी ROM ID मौजूद हैं और वे मान जो तापमान के रूप में वापस आते हैं।
चरण 4: परिशिष्ट: ATtiny85
ATtiny85 पर सिंगल डिवाइस (मेमोरी लिमिटेशन) भी किया जा सकता है। इसके लिए कुछ चरणों की आवश्यकता है क्योंकि हम Arduino IDE की मदद से Arduino Uno का उपयोग ISP के रूप में ATtiny85 को प्रोग्राम करते हैं:
-
लिंक
- https://playground.boxtec.ch/doku.php/arduino/att…
- https://sebastian.expert/could-not-find-usbtiny-d…
- https://learn.sparkfun.com/tutorials/tiny-avr-pro…
- https://forum.arduino.cc/index.php?topic=425532.0
- https://forum.arduino.cc/index.php?topic=128963.0
- Arduino IDE> = 1.8.3. का उपयोग करें
-
IDE में ATtiny विकल्प स्थापित करें
- फ़ाइल > वरीयताएँ > अतिरिक्त बोर्ड प्रबंधक यूआरएल:
- उपकरण > बोर्ड: ??? > बोर्ड प्रबंधक…
- के लिए खोजें: "छोटा" और स्थापित करें
-
ISP स्केच को Uno पर अपलोड करें
फ़ाइल > उदाहरण > ArduinoISP > ArduinoISP
-
प्रोग्रामिंग (शून्य-बल) सॉकेट में ATtiny85 डालें और इसे तार दें:
- Arduino Pin MOSI D11 से ATtiny Pin 5
- Arduino पिन MISO D12 से ATtiny पिन 6
- Arduino पिन SCK D13 से ATtiny पिन 7
- Arduino पिन रीसेट D10 से ATtiny पिन 1
- Arduino Pin GND से ATtiny Pin 4
- Arduino Pin VCC से ATtiny Pin 8
- (>=10uF Arduino Uno RESET पिन पर कैप की आवश्यकता हो सकती है)
-
ATtiny85 चुनें (चित्र देखें):
- बोर्ड: "ATtiny25/45/85"
- टाइमर 1 घड़ी: "सीपीयू"
- बी.ओ.डी.: "बी.ओ.डी. अक्षम"
- एलटीओ (1.6.11 + केवल): "अक्षम"
- चिप: "ATtiny85"
- घड़ी: "8 मेगाहर्ट्ज (आंतरिक)" (ATtiny85 और ATtiny84 संगत)
- घड़ी: "16 मेगाहर्ट्ज (पीएलएल)" (केवल ATtiny85 के लिए वैकल्पिक सेटिंग)
- बंदरगाह: ???
-
प्रोग्रामर का चयन करें:
टूल्स> प्रोग्रामर: "Arduino as ISP" ("ArduinoISP" नहीं!)
-
फ़्यूज़ सेटिंग सेट करें (घड़ी, आदि):
उपकरण> बूटलोडर जलाएं
- इस कोड को अपलोड करें (प्रोग्रामर त्रुटि एलईडी को बंद करने की आवश्यकता है, अन्यथा इसे रीसेट करें)
-
ATtinyX5 पिन लेआउट (ATtiny85):
- पिन 1: PB5 (RST)
- पिन 2: PB3 (A3) - वैकल्पिक रूप से 220ohm से 1<-TX. के माध्यम से जुड़ा हुआ है
- पिन 3: PB4 (A2) - 1-वायर डेटा से जुड़ा है
- पिन 4: GND - GND से जुड़ा हुआ है
- पिन 5: PB0 (PWM) - सेंसर I2C SDA से जुड़ा है
- पिन 6: PB1 (PWM) - 4.7k से GND के साथ LED से जुड़ा है
- पिन 7: PB2 (A1) - सेंसर I2C SCL. से जुड़ा है
- पिन 8: वीसीसी - 5V. से जुड़ा
ATTiny85 के साथ काम करने के लिए थोड़ा और काम करने की आवश्यकता है क्योंकि आपको I2C कॉम (adafruit/TinyWireM) और सीरियल आउटपुट (TinyDebugSerial) के लिए अतिरिक्त लाइब्रेरी प्राप्त करने की आवश्यकता है। इसके अतिरिक्त चूंकि स्मृति काफी सीमित है, इसलिए आप #define के साथ बहुत काम करना चाहेंगे उदा। सीरियल डिबगिंग को हटाने के लिए। उदाहरण में आप यह सब एक साथ फेंका हुआ देख सकते हैं।
परीक्षण के लिए पहला कदम यह जांचना है कि एलईडी सही आवृत्ति, 0.5 हर्ट्ज के साथ चमकती है या नहीं। फिर इसे 1वायर बस से कनेक्ट करें और नए डिवाइस की जांच करें।
सिफारिश की:
जेनेरिक 433 मेगाहर्ट्ज आरएफ मॉड्यूल के साथ DIY वॉकी-टॉकी: 4 कदम
जेनेरिक 433 मेगाहर्ट्ज आरएफ मॉड्यूल के साथ DIY वॉकी-टॉकी: इस परियोजना में मैं आपको दिखाऊंगा कि कार्यात्मक वॉकी-टॉकी बनाने के लिए ईबे से जेनेरिक 433 मेगाहर्ट्ज आरएफ मॉड्यूल का उपयोग कैसे करें। इसका मतलब है कि हम विभिन्न आरएफ मॉड्यूल की तुलना करेंगे, कक्षा डी एम्पलीफायर के बारे में कुछ सीखेंगे और अंत में वॉकी-टॉकी का निर्माण करेंगे।
[होम IoT] ESP8266 MQTT क्लाइंट डिवाइस: 7 कदम
[होम IoT] ESP8266 MQTT क्लाइंट डिवाइस: यह दिलचस्प है कि मेरी बिल्ली के लिए स्वचालित वॉटर फीडर जैसे उपकरणों को नियंत्रित करने के लिए MQTT प्रोटोकॉल के साथ एक सस्ते वाईफाई-सक्षम MCU का उपयोग करना। अधिक विस्तार से जानकारी के लिए मेरा ब्लॉग है(https://regishsu.blogspot.com/2019/07/home-iot-esp…Spe
IOT123 - एसिमिलेट सेंसर हब: ICOS10 जेनेरिक शेल (IDC) असेंबली: 6 चरण
IOT123 - एसिमिलेट सेंसर हब: ICOS10 जेनेरिक शेल (IDC) असेंबली: नोटयह एसिमिलेट सेंसर हब: ICOS10 जेनेरिक शेल (हुकअप वायर) असेंबली का एक बेहतर (सर्किट मजबूती) संस्करण है। यह तेजी से इकट्ठा होता है और इसमें उच्च गुणवत्ता वाला सर्किट होता है, लेकिन इसकी लागत अधिक होती है (~ 10 सेंसर का समर्थन करने पर $ 10 अतिरिक्त)। मुख्य फी
एचसी - 06 (स्लेव मॉड्यूल) "नाम" बिना उपयोग के "मॉनिटर सीरियल अरुडिनो" बदलना वह "आसानी से काम करता है": दोषरहित तरीका!: 3 कदम
एचसी - 06 (स्लेव मॉड्यूल) "नाम" बिना उपयोग के "मॉनिटर सीरियल अरुडिनो" बदलना … जो "आसानी से काम करता है": दोषरहित तरीका !: " लंबा समय " " बिना " सफलता ", मुझे एक और आसान तरीका मिल गया है और मैं अभी साझा कर रहा हूं! मज़े करो दोस्तों
आपके पीसी के लिए स्मार्ट मास्टर / स्लेव पावर स्ट्रिप [मॉड] (सेल्फ शटडाउन लेकिन जीरो स्टैंडबाय): 6 कदम (चित्रों के साथ)
आपके पीसी के लिए स्मार्ट मास्टर / स्लेव पावर स्ट्रिप [मॉड] (सेल्फ शटडाउन लेकिन जीरो स्टैंडबाय): ऑफ होना चाहिए। और उपयोगिता अच्छी होनी चाहिए। इसे संक्षिप्त करने के लिए: हमें वहां सही उत्पाद नहीं मिला, इसलिए हमने एक को संशोधित करना समाप्त कर दिया। हमने कुछ "ऊर्जा बचतकर्ता" Zweibrueder से पावर स्ट्रिप्स। डिवाइस बहुत ठोस हैं और बहुत अधिक नहीं हैं