विषयसूची:

समय पर तापमान के साथ एक एसएमएस भेजता है: 5 कदम (चित्रों के साथ)
समय पर तापमान के साथ एक एसएमएस भेजता है: 5 कदम (चित्रों के साथ)

वीडियो: समय पर तापमान के साथ एक एसएमएस भेजता है: 5 कदम (चित्रों के साथ)

वीडियो: समय पर तापमान के साथ एक एसएमएस भेजता है: 5 कदम (चित्रों के साथ)
वीडियो: jio phone battery temperature haigh तापमान बहुत अधिक है problem solution Raj Mobile 200k 2024, नवंबर
Anonim
समय पर तापमान के साथ एक एसएमएस भेजता है
समय पर तापमान के साथ एक एसएमएस भेजता है

विचार मेरे पिता के घर से एक तापमान एसएमएस प्राप्त करने का है।

कुछ भी नहीं फैंसी बस जल्दी से भागों को एक साथ रखना।

भाग हैं:

  • Geekcreit® ATmega328P नैनो V3 नियंत्रक बोर्ड संगत Arduino
  • DIY नैनो आईओ शील्ड V1. O Arduino के लिए विस्तार बोर्ड
  • DS1307 आधारित RTC IIC / I2C रीयल टाइम क्लॉक मॉड्यूल और DS18b20
  • SIM800L क्वाड-बैंड GSM / GPRS
  • LM2596 मिनी डीसी-डीसी कनवर्टर एडजस्टेबल स्टेप डाउन पावर सप्लाई मॉड्यूल
  • थर्मामीटर एनटीसी एमएफ52एटी तापमान

सबसे पहले बहुत कुछ पढ़ना और खोजना।

इससे पहले कि मैं अंततः Geekcreit® नैनो का उपयोग करूं, मैं Arduino Uno के साथ सभी भागों का परीक्षण करता हूं।

चरण 1: काम करने के लिए SIM800l प्राप्त करें

काम करने के लिए SIM800l प्राप्त करें
काम करने के लिए SIM800l प्राप्त करें

एक मुख्य बिंदु Sim800L की शक्ति है।

मैं एक LM2596 मिनी डीसी-डीसी कनवर्टर का उपयोग करता हूं, जिसे 3.7 वोल्ट और एक अलग बिजली आपूर्ति में समायोजित किया जाता है।

एटी + कमांड के साथ कनेक्शन का परीक्षण करने के लिए यह पक्ष बहुत उपयोगी है:

Arduino के साथ क्विकस्टार्ट SIM800 (SIM800L)

कमांड पर जीएसएम मॉडम का उपयोग करके पिन कोड को अक्षम करने के साथ मुझे सिम पिन कोड की सवारी मिली।

अगला विचार कौन सा पुस्तकालय। इंटरनेट अलग समाधान प्रदान करता है।

मेरा समाधान Mattias Aabmets की लाइब्रेरी है: AspenSIM800

उनका उदाहरण: Send_SMS.ino ने I को बुनियादी प्रोग्राम के रूप में इस्तेमाल किया और एक-एक करके अन्य सभी भागों को एक साथ जोड़ दिया।

Tx पिन और Rx पिन इसके लिए कोड हैं:

Arduino का RX_पिन 10। Arduino के SIM800 मॉड्यूल. TX_PIN 11 के TX पिन से जुड़ा होना चाहिए। SIM800 मॉड्यूल के RX पिन से जुड़ा होना चाहिए।

पुस्तकालयों में *.ccp और *.h फ़ाइलों को पढ़ना हमेशा अच्छा विचार है।

उनमें कई दिलचस्प संकेत और ज्ञान शामिल हैं।

चरण 2: काम करने के लिए DS18B20 सेंसर के साथ RTC DS1307 प्राप्त करें

काम करने के लिए DS18B20 सेंसर के साथ RTC DS1307 प्राप्त करें
काम करने के लिए DS18B20 सेंसर के साथ RTC DS1307 प्राप्त करें

मैंने इस साइड साइड का इस्तेमाल किया: सिमट्रॉनीक्स - DS1307 और DS18B20 के लिए ब्लॉग।

घड़ी में I2C बस कनेक्शन है और वह Arduino Uno के लिए है: A4 (SDA) - A5 (SCL)

DS18B20 I को D3 से जोड़ा गया है।

मैंने पढ़ा है कि एक एसएमएस में आप केवल फ़्लोट्स स्ट्रिंग नहीं भेज सकते हैं, इसलिए मुझे फ़्लोट्स को स्ट्रिंग में अनुवाद करना पड़ा।

मैं इस कोड स्निपेट के साथ करता हूं जो मैंने पाया:

एन

MyString1 = स्ट्रिंग (वर्तमान टेम्प, 2); // फ्लोट को स्ट्रिंग में बदलें

MyString1 = (MyString1 + "C - RoomTemperatur:)");

// स्ट्रिंग को चार में बदलें यहाँ शुरू होता है

// लंबाई (शून्य टर्मिनेटर के लिए एक अतिरिक्त वर्ण के साथ)

int str_len1 = MyString1.length() + 1; // कैरेक्टर ऐरे (बफर) तैयार करें

चार char_array1 [str_len1]; // इसे कॉपी करें

MyString1.toCharArray(char_array1,str_len1); // स्ट्रिंग को चार सिरों में बदलें

मैं ईमानदार रहूंगा मैं नहीं जानता कि यह कैसे काम करता है, लेकिन यह काम करता है।

चरण 3: काम करने के लिए थर्मिस्टर एनटीसी एमएफ52एटी प्राप्त करें

काम करने के लिए थर्मिस्टर एनटीसी एमएफ52एटी प्राप्त करें
काम करने के लिए थर्मिस्टर एनटीसी एमएफ52एटी प्राप्त करें

मैंने थर्मिस्टर के साथ पहले काम किया था इसलिए यह आसान हिस्सा था।

लेकिन यहां भी आप अलग समाधान पा सकते हैं।

अंतिम कोड में आप मेरा पा सकते हैं।

उसका आप अनुवाद फ्लोट्स टू स्ट्रिंग भी पा सकते हैं।

थर्मिस्टर में कुछ तार और 10 k ओम रोकनेवाला मिलाप किया।

चरण 4: सभी को एक साथ काम करने के लिए प्राप्त करें

इसलिए मैंने सभी प्रोग्राम भागों को एक साथ लिखा।

अब मुझे यह पता लगाना था कि एक ही समय में हर दिन एक एसएमएस कैसे भेजें।

मैंने अलग-अलग विचारों के बारे में पढ़ा, कुछ टाइमर अलार्म और अन्य दृष्टिकोण के साथ।

लेकिन मुझे arduino फ़ोरम में किसी जगह एक सरल समाधान मिला:

अगर (अब। घंटा () == 8 && अब। मिनट () == 00 && अब। दूसरा () == 59)

{

SIM.smsSend(addr, char_array); // थर्मिस्टर

देरी (500); SIM.smsSend(addr, char_array1); // DS18B20 }

लेकिन अभी क्यों।सेकंड = 59 क्योंकि यह पूरे एक मिनट का एसएमएस भेजता है। यह मेरे लिए करता है लेकिन अपने आप को आजमाएं।

कुछ परीक्षण के बाद मैंने प्रोग्राम को Geekcreit® Nano पर अपलोड किया।

यह शायद सबसे अच्छा प्रोग्राम लेखन नहीं है:) लेकिन यह वांछित करता है।

क्योंकि Geekcreit® ATmega328P नैनो में कुछ Arduino IDE समस्याएं हैं, मैं टर्मिनल (लिनक्स मिंट) द्वारा अपलोड करता हूं, इसके साथ USBtinyisp फेंकता हूं: avrdude -c usbtiny -p atmega328p -U फ्लैश: w: SomeHexFile.hex

चरण 5: यह काम किया

हाँ, यह काम कर गया और इसे घर में रख दिया गया।

हर दिन सुबह 6:00 बजे मुझे तापमान के साथ एक एसएमएस मिलता है।

सिफारिश की: