विषयसूची:
वीडियो: DS3231 RTC (रियल टाइम क्लॉक) को जावा (+ -1s) का उपयोग करके सटीक, तेज़ और स्वचालित सेट करना: 3 चरण
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:20
यह निर्देश आपको एक Arduino और एक छोटे जावा एप्लिकेशन का उपयोग करके DS3231 रीयल टाइम क्लॉक पर समय निर्धारित करने का तरीका दिखाने जा रहा है जो Arduino के सीरियल कनेक्शन का उपयोग करता है।
इस कार्यक्रम का मूल तर्क:
1. Arduino एक सीरियल अनुरोध भेजता है।
2. जावा प्रोग्राम देखता है कि किस दिन/महीने/… arduino ने अनुरोध किया है और प्रासंगिक डेटा वापस भेजता है।
3. सभी आवश्यक जानकारी एकत्र होने के बाद, arduino डेटा को DS3231 में संग्रहीत करता है।
DS3231 RTC मॉड्यूल
DS3231 RTC मॉड्यूल उच्च सटीकता वाला अपेक्षाकृत सस्ता RTC मॉड्यूल है। (साल में कुछ मिनट)
विभिन्न किस्में हैं जिनकी बुनियादी कार्यक्षमता केवल मामूली अंतर के साथ समान है।
विस्तृत तुलना यहां पाई जा सकती है: DS323x तुलना | maximintegrated.com
खरीदें DS3231:DS3231 | eBay.com
डेटाशीट:DS3231 डेटाशीट | maximintegrated.com
डेटाशीट:DS1307 डेटाशीट | maximintegrated.com
भागों की जरूरत
1x Arduino (नैनो, ऊनो, मेगा, आदि)
4x जम्पर तार
1x DS3231 मॉड्यूल (DS1307 मॉड्यूल)
चरण 1: वायरिंग
जैसा कि ऊपर की छवि में दिखाया गया है, DS3231 को तार दें। बेशक आप इसे ब्रेडबोर्ड के उपयोग के बिना भी कर सकते हैं, लेकिन यह थोड़ा गड़बड़ होगा। मैंने प्रदर्शन के लिए एक Arduino नैनो का उपयोग किया है, लेकिन एक Uno या MEGA को भी काम करना चाहिए। (अन्य भी काम कर सकते हैं लेकिन मैं पुष्टि करने के लिए आलसी हूं)
- Arduino -> DS3231
- ए4 -> एससीएल
- ए5 -> एसडीए
- 5वी -> वीसीसी
- जीएनडी -> जीएनडी
चरण 2: Arduino कोड
नीचे से.ino फ़ाइल डाउनलोड करें और इसे अपने Arduino (मेरे मामले में एक नैनो) पर अपलोड करें।
स्केच को सही ढंग से काम करने के लिए निम्नलिखित पुस्तकालयों को स्थापित करने की आवश्यकता है:
github.com/PaulStoffregen/Time
github.com/JChristensen/DS3232RTC
अपने arduino पर कोड कैसे अपलोड करें, इस पर एक ट्यूटोरियल यहां (arduino.cc) पाया जा सकता है।
Arduino IDE में सत्यापित करें कि कोड सही तरीके से सबमिट किया गया था। (अपलोड हो गया)
आपका Arduino अब समय की जानकारी प्राप्त करने के लिए तैयार है।
यहां कोड डाउनलोड करें: DS3231TimeSync.zip (mediafire.com)
यहां स्रोत डाउनलोड करें: DS3231TimeSyncSRC.zip (mediafire.com)
GitHub रिपॉजिटरी: DS3213 RTC टाइम सिंक (github.com)
बिटबकेट रिपॉजिटरी: DS3231 RTC टाइम सिंक (bitbucket.com)
चरण 3: जावा एप्लिकेशन
1. पहले डाउनलोड किए गए "DS3231Sync.jar" को डबल क्लिक करके चलाएँ।
2. एक छोटा डायलॉग खुलेगा जिसमें आपसे आपके arduino के पोर्ट के बारे में पूछा जाएगा।
क्या आपको अपने arduino द्वारा उपयोग किए जाने वाले पोर्ट के बारे में अनिश्चित होना चाहिए, नीचे दाईं ओर Arduino IDE में एक नज़र डालें।
(ऊपर चित्र देखें)
3. एक और डायलॉग खुलेगा और आपसे टाइम ज़ोन ऑफ़सेट मांगेगा।
ऑफ़सेट आपके कंप्यूटर के स्थानीय समय के सापेक्ष है। RTC को अपने स्थानीय समय पर सेट करने के लिए बस +00:00 दर्ज करें।
यह महत्वपूर्ण है कि आप एक विशिष्ट प्रारूप में समय क्षेत्र ऑफ़सेट दर्ज करें!
सामान्य प्रारूप +hh:mm या -hh:mm है। हमेशा अग्रणी शून्य शामिल करें!
(जैसे: -03:00; -06:00; +09:00; +02:30)
4. जावा एप्लिकेशन कंसोल आउटपुट के साथ एक छोटी विंडो लॉन्च करेगा।
पुष्टिकरण संदेशों पर नज़र रखें जैसे: "समय निर्धारित समाप्त"
जब समय निर्धारित प्रक्रिया समाप्त हो जाती है तो कोड वर्तमान समय को DS3231 पर हर 5 सेकंड में प्रिंट करेगा। आप पुष्टि कर सकते हैं कि समय सही ढंग से सेट किया गया है।
क्या आपको ~ 20s के बाद अपने arduino पर रीसेट बटन को पुश करने और फिर से प्रतीक्षा करने के बाद कोई आउटपुट नहीं मिलना चाहिए।
यदि यह अभी भी काम नहीं कर रहा है तो Arduino पर स्केच को सत्यापित करें और/या इसे फिर से अपलोड करें। (महत्वपूर्ण: Arduino पर अपलोड करने से पहले जावा एप्लिकेशन में पोर्ट बंद करें; अन्यथा यह सीरियल पोर्ट को ब्लॉक कर देगा!) फिर जावा प्रोग्राम में कनेक्शन रीसेट करें।
(जावा प्रोग्राम वर्तमान दिनांक प्राप्त करने के लिए LocalDateTime का उपयोग कर रहा है।)
अब समय निर्धारित है। मज़े करो
क्या आपको समय निर्धारित करने में कोई भी परेशानी हो सकती है, कृपया नीचे टिप्पणी करें और अपना log.txt (जार के समान फ़ोल्डर में) मेरे साथ साझा करें। बहुत - बहुत धन्यवाद!