विषयसूची:
- आपूर्ति
- चरण 1: GPS डेटा प्राप्त करना
- चरण 2: रेडियो के माध्यम से जीपीएस डेटा भेजना
- चरण 3: एसडी कार्ड मॉड्यूल का उपयोग करके डेटा संग्रहीत करना
- चरण 4: GPS डेटा भेजना और संग्रहीत करना
- चरण 5: धन्यवाद
वीडियो: स्मार्ट बॉय [जीपीएस, रेडियो (एनआरएफ24) और एक एसडी कार्ड मॉड्यूल]: 5 कदम (चित्रों के साथ)
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:19
यह स्मार्ट बॉय श्रृंखला एक वैज्ञानिक बुआ बनाने के हमारे (महत्वाकांक्षी) प्रयास को चार्ट करती है जो ऑफ-द-शेल्फ उत्पादों का उपयोग करके समुद्र के बारे में सार्थक माप ले सकती है। यह चार में से दो का ट्यूटोरियल है - सुनिश्चित करें कि आप अद्यतित हैं, और यदि आपको परियोजना के लिए एक त्वरित परिचय की आवश्यकता है, तो हमारा सारांश देखें।
भाग 1: तरंग और तापमान माप बनाना
इस ट्यूटोरियल में, हम आपको दिखाते हैं कि जीपीएस डेटा कैसे प्राप्त करें, इसे एसडी कार्ड पर स्टोर करें और इसे रेडियो का उपयोग करके कहीं भेजें।
हमने ऐसा इसलिए किया ताकि हम अपने समुद्री बॉय के स्थान पर नज़र रख सकें। रेडियो का मतलब है कि हम इसे दूर से देख सकते हैं और एसडी कार्ड का मतलब है कि अगर कुछ टूट जाता है और यह भटक जाता है, तो हम इसके अनियोजित भ्रमण के दौरान एकत्र किए गए डेटा को डाउनलोड कर सकते हैं - अगर हम इसे पुनः प्राप्त करने में सक्षम हैं!
आपूर्ति
जीपीएस मॉड्यूल - अमेज़ॅन
एसडी कार्ड मॉड्यूल - अमेज़ॅन
एसडी कार्ड - अमेज़न
2 X रेडियो मॉड्यूल (NRF24L01+) - Amazon
2 एक्स अरुडिनो - अमेज़ॅन
चरण 1: GPS डेटा प्राप्त करना
स्मार्ट बॉय जीपीएस स्थान और डेटाटाइम सहित समुद्र में बैठते ही सेंसर माप करता है। योजनाबद्ध पर एक नज़र डालें जो दिखाता है कि हम सर्किट कैसे सेट करते हैं। GPS मॉड्यूल सीरियल कनेक्शन के माध्यम से संचार करता है, इसलिए हम इसके साथ संचार करने के लिए Arduino सॉफ़्टवेयर सीरियल लाइब्रेरी के साथ-साथ छोटी GPS लाइब्रेरी का उपयोग कर रहे हैं। ये पुस्तकालय सब कुछ सुपर सरल बनाते हैं। आइए आपको कोड के माध्यम से ले चलते हैं …
#शामिल
#include // TinyGPS++ ऑब्जेक्ट TinyGPSPlus gps; // GPS डिवाइस SoftwareSerial ss(4, 3) से सीरियल कनेक्शन; संरचना डेटा संरचना {डबल अक्षांश; दोहरा देशांतर; अहस्ताक्षरित लंबी तिथि; अहस्ताक्षरित लंबे समय; }जीपीएसडेटा; शून्य सेटअप () {Serial.begin (115200); ss.begin (९६००); } शून्य लूप () { जबकि (ss.उपलब्ध ()> 0) { अगर (gps.encode (ss.read ())) {getInfo (); प्रिंट परिणाम (); } } } शून्य getInfo () { अगर (gps.location.isValid ()) {gpsData.latitude = gps.location.lat (); जीपीएसडाटा। देशांतर = जीपीएस। स्थान। एलएनजी (); } और { Serial.println ("अमान्य स्थान"); } अगर (gps.date.isValid ()) {gpsData.date = gps.date.value (); } और { Serial.println ("अमान्य तिथि"); } अगर (gps.time.isValid ()) {gpsData.time = gps.time.value (); } और { Serial.println ("अमान्य समय"); } } शून्य प्रिंट परिणाम () { सीरियल.प्रिंट ("स्थान:"); सीरियल.प्रिंट (gpsData.latitude, 6); सीरियल.प्रिंट ("", "); सीरियल.प्रिंट (gpsData.longitude, 6); सीरियल.प्रिंट ("दिनांक:"); सीरियल.प्रिंट (gpsData.date); सीरियल.प्रिंट ("समय:"); सीरियल.प्रिंट (gpsData.time); सीरियल.प्रिंट्लन (); }
(इस कोड के लिए https://www.youtube.com/embed/xz1ix76U28E पर वीडियो देखें)
चरण 2: रेडियो के माध्यम से जीपीएस डेटा भेजना
मान लीजिए कि बोया माप लेने के लिए समुद्र में है, लेकिन हम अपने पैरों को गीला किए बिना या बोया को किनारे लाए बिना डेटा देखना चाहते हैं। दूर से माप प्राप्त करने के लिए, हम संचार के दोनों किनारों पर एक Arduino से जुड़े एक रेडियो मॉड्यूल का उपयोग कर रहे हैं। भविष्य में, हम रिसीवर-साइड Arduino को रास्पबेरी पाई से बदल देंगे। रेडियो इन दोनों इंटरफेस के साथ समान रूप से काम करता है इसलिए उन्हें स्वैप करना बहुत सीधा है।
रेडियो मॉड्यूल SPI का उपयोग करके संचार करता है, जिसके लिए I2C की तुलना में कुछ अधिक कनेक्शन की आवश्यकता होती है, लेकिन NRF24 लाइब्रेरी के कारण अभी भी इसका उपयोग करना वास्तव में आसान है। सेंसर माप के लिए GPS मॉड्यूल का उपयोग करते हुए, हम इसके डेटा को एक Arduino से दूसरे में संचारित करते हैं। हम GPS और रेडियो मॉड्यूल को Arduino से कनेक्ट करने जा रहे हैं और दूसरी तरफ एक Arduino को रेडियो मॉड्यूल के साथ - योजनाबद्ध पर एक नज़र डालें।
ट्रांसमीटर
#शामिल
#include #include #include #include TinyGPSPlus gps; सॉफ्टवेयर सीरियल एसएस (4, 3); RF24 रेडियो (8, 7); // सीई, सीएसएन संरचना डेटास्ट्रक्चर {दोहरा अक्षांश; दोहरा देशांतर; अहस्ताक्षरित लंबी तिथि; अहस्ताक्षरित लंबे समय; }जीपीएसडेटा; शून्य सेटअप () {Serial.begin(११५२००); ss.begin (९६००); Serial.println ("रेडियो सेट करना"); // सेटअप ट्रांसमीटर रेडियो रेडियो। शुरू (); Radio.openWritingPipe(0xF0F0F0F0E1LL); रेडियो.सेटचैनल (0x76); Radio.setPALevel(RF24_PA_MAX); Radio.setDataRate(RF24_250KBPS); रेडियो.स्टॉपलिस्टिंग (); Radio.enableDynamicPayloads (); रेडियो.पावरअप (); Serial.println ("भेजना शुरू करना"); } शून्य लूप () { जबकि (ss.उपलब्ध ()> 0) { अगर (gps.encode (ss.read ())) {getInfo (); Radio.write(&gpsData, sizeof(gpsData)); } } } शून्य getInfo () { अगर (gps.location.isValid ()) {gpsData.longitude = gps.location.lng (); जीपीएसडाटा।अक्षांश = जीपीएस। स्थान। लैट (); } और {gpsData.longitude = ०.०; जीपीएसडाटा।अक्षांश = 0.0; } अगर (gps.date.isValid ()) {gpsData.date = gps.date.value (); } और {gpsData.date = 0; } अगर (gps.time.isValid ()) {gpsData.time = gps.time.value (); } और {gpsData.time = 0; } }
RECEIVER
#शामिल
#include #include RF24 रेडियो(8, 7); // सीई, सीएसएन संरचना डेटास्ट्रक्चर {दोहरा अक्षांश; दोहरा देशांतर; अहस्ताक्षरित लंबी तिथि; अहस्ताक्षरित लंबे समय; }जीपीएसडेटा; शून्य सेटअप () {Serial.begin(११५२००); // सेटअप रिसीवर रेडियो रेडियो। शुरू (); Radio.openReadingPipe(1, 0xF0F0F0F0E1LL); रेडियो.सेटचैनल (0x76); Radio.setPALevel(RF24_PA_MAX); Radio.setDataRate(RF24_250KBPS); Radio.startListening (); Radio.enableDynamicPayloads (); रेडियो.पावरअप (); } शून्य लूप () { अगर (रेडियो.उपलब्ध ()) { Radio.read(&gpsData, sizeof(gpsData)); सीरियल.प्रिंट ("स्थान:"); सीरियल.प्रिंट (gpsData.latitude, 6); सीरियल.प्रिंट ("", "); सीरियल.प्रिंट (gpsData.longitude, 6); सीरियल.प्रिंट ("दिनांक:"); सीरियल.प्रिंट (gpsData.date); सीरियल.प्रिंट ("समय:"); सीरियल.प्रिंट (gpsData.time); Serial.println ();} }
(इस कोड के लिए https://www.youtube.com/embed/xz1ix76U28E पर वीडियो देखें)
चरण 3: एसडी कार्ड मॉड्यूल का उपयोग करके डेटा संग्रहीत करना
रेडियो मॉड्यूल काफी विश्वसनीय है, लेकिन कभी-कभी आपको एक आकस्मिक योजना की आवश्यकता होती है यदि रिसीवर की तरफ बिजली कटौती होती है या यदि रेडियो सीमा से बाहर चला जाता है। हमारी आकस्मिक योजना एक एसडी कार्ड मॉड्यूल है जो हमें हमारे द्वारा एकत्र किए गए डेटा को संग्रहीत करने की अनुमति देता है। एकत्र किए जा रहे डेटा की मात्रा इतनी बड़ी नहीं है, इसलिए एक छोटा एसडी कार्ड भी आसानी से एक दिन के डेटा को स्टोर करने में सक्षम होगा।
#शामिल
#include #include #include TinyGPSPlus gps; सॉफ्टवेयर सीरियल एसएस (4, 3); संरचना डेटा संरचना {डबल अक्षांश; दोहरा देशांतर; अहस्ताक्षरित लंबी तिथि; अहस्ताक्षरित लंबे समय; }जीपीएसडेटा; शून्य सेटअप () {Serial.begin(११५२००); ss.begin (९६००); if (!SD.begin(5)) { Serial.println ("कार्ड विफल, या मौजूद नहीं है"); वापसी; } Serial.println ("कार्ड इनिशियलाइज़्ड।"); फ़ाइल डेटाफ़ाइल = एसडी.ओपन ("gps_data.csv", FILE_WRITE); अगर (डेटाफाइल) {dataFile.println ("अक्षांश, देशांतर, दिनांक, समय"); डेटाफाइल। बंद करें (); } और { Serial.println ("नहीं, फ़ाइल नहीं खोल सकता"); }} शून्य लूप () { जबकि (ss.उपलब्ध ()> 0) { अगर (gps.encode (ss.read ())) {getInfo (); प्रिंट परिणाम (); सेवइन्फो (); } } } शून्य getInfo () { अगर (gps.location.isValid ()) {gpsData.latitude = gps.location.lat (); जीपीएसडाटा। देशांतर = जीपीएस। स्थान। एलएनजी (); } और { Serial.println ("अमान्य स्थान"); } अगर (gps.date.isValid ()){gpsData.date = gps.date.value(); } और { Serial.println ("अमान्य तिथि"); } अगर (gps.time.isValid ()) {gpsData.time = gps.time.value (); } और { Serial.println ("अमान्य समय"); } } शून्य प्रिंट परिणाम () { सीरियल.प्रिंट ("स्थान:"); सीरियल.प्रिंट (gpsData.latitude, 6); सीरियल.प्रिंट ("", "); सीरियल.प्रिंट (gpsData.longitude, 6); सीरियल.प्रिंट ("दिनांक:"); सीरियल.प्रिंट (gpsData.date); सीरियल.प्रिंट ("समय:"); सीरियल.प्रिंट (gpsData.time); सीरियल.प्रिंट्लन (); } शून्य सेवइन्फो () {फ़ाइल डेटाफाइल = एसडी.ओपन ("gps_data.csv", FILE_WRITE); अगर (डेटाफाइल) {डेटाफाइल.प्रिंट (gpsData.latitude); डेटाफाइल.प्रिंट ("", "); डेटाफाइल.प्रिंट (gpsData.longitude); डेटाफाइल.प्रिंट ("", "); डेटाफाइल.प्रिंट (gpsData.date); डेटाफाइल.प्रिंट ("", "); dataFile.println (gpsData.time); डेटाफाइल। बंद करें (); } और { Serial.println ("नोप नो डेटाफाइल"); } }
(हम वीडियो में इस कोड के माध्यम से बात करते हैं
चरण 4: GPS डेटा भेजना और संग्रहीत करना
चरण 5: धन्यवाद
हमारी डाक प्रेषण सूची पर साइन अप करें!
भाग 1: तरंग और तापमान मापन करना
भाग 2: GPS NRF24 रेडियो और एसडी कार्ड
भाग 3: बुआ को निर्धारण शक्ति
भाग 4: बुआ की तैनाती
सिफारिश की:
स्मार्ट बॉय [सारांश]: 8 कदम (चित्रों के साथ)
स्मार्ट बॉय [सारांश]: हम सभी समुद्र के किनारे से प्यार करते हैं। सामूहिक रूप से, हम छुट्टियों के लिए, पानी के खेल का आनंद लेने के लिए या अपनी आजीविका चलाने के लिए इसमें आते हैं। लेकिन तट लहरों की दया पर एक गतिशील क्षेत्र है। समुद्र का बढ़ता स्तर समुद्र तटों पर कुतरना और तूफान जैसी शक्तिशाली चरम घटनाएं
माइक्रो एसडी कार्ड के साथ Arduino का उपयोग करने वाला ऑडियो प्लेयर: 7 कदम (चित्रों के साथ)
माइक्रो एसडी कार्ड के साथ Arduino का उपयोग करने वाला ऑडियो प्लेयर: अधिक परियोजनाओं के लिए कृपया मेरे चैनल को SUBSCRIBE करें ……………………. बहुत से लोग SD कार्ड को इंटरफ़ेस करना चाहते हैं arduino के साथ या arduino के माध्यम से कुछ ऑडियो आउटपुट चाहते हैं। तो यहाँ arduino के साथ SD कार्ड को इंटरफ़ेस करने का सबसे आसान और सस्ता तरीका है। आप हमें
ब्लूटूथ के माध्यम से एसडी कार्ड मॉड्यूल के साथ Arduino से Android फोन पर तापमान और आर्द्रता डेटा लकड़हारा: 5 कदम
ब्लूटूथ के माध्यम से एसडी कार्ड मॉड्यूल के साथ Arduino से एंड्रॉइड फोन पर तापमान और आर्द्रता डेटा लकड़हारा: सभी को नमस्कार, यह मेरा अब तक का पहला निर्देश है, आशा है कि मैं निर्माता समुदाय की मदद करूंगा क्योंकि मुझे इससे लाभ हुआ है। अक्सर हम अपनी परियोजनाओं में सेंसर का उपयोग करते हैं लेकिन डेटा एकत्र करने, इसे संग्रहीत करने और इसे फ़ोन या अन्य उपकरणों को तुरंत स्थानांतरित करने का तरीका ढूंढते हैं
ESP8266 के साथ एसडी कार्ड मॉड्यूल: 6 कदम
ESP8266 के साथ SD कार्ड मॉड्यूल: इस असेंबली में, हमारे पास ESP8266 से जुड़ा एक SD कार्ड है। हम एक DHT22 लगाते हैं, जो तापमान और आर्द्रता को मापता है और यह जानकारी एसडी कार्ड को भेजता है। सर्किट पर, यह 43.40 की आर्द्रता और 26.80 का तापमान दिखाता है। हर बार कि मैं
एसडी-कार्ड मेमोरी के साथ एक्सेलेरोमीटर-लॉगर: 6 कदम (चित्रों के साथ)
एसडी-कार्ड मेमोरी के साथ एक्सेलेरोमीटर-लॉगर: रोलर कोस्टर पर माप बलों के लिए एक लॉगर इकाई और उन्हें एसडी-कार्ड में सहेजना। यूनिट में सॉफ़्टवेयर को संशोधित करना भी संभव है ताकि यह अन्य चीजों को माप सके यदि इसे कनेक्ट किया जा सके a i2c-bus.Top थ्रिल ड्रैगस्टर