विषयसूची:

प्रेसिजन घड़ी: 3 कदम
प्रेसिजन घड़ी: 3 कदम

वीडियो: प्रेसिजन घड़ी: 3 कदम

वीडियो: प्रेसिजन घड़ी: 3 कदम
वीडियो: SHOORVEER 3 - A Tribute to छत्रपति शिवाजी महाराज | Rapperiya Baalam Ft. Shambho I Meetu Solanki 2024, नवंबर
Anonim
प्रेसिजन घड़ी
प्रेसिजन घड़ी

हम सभी को घड़ियों की आवश्यकता होती है, इसलिए क्यों न इस निर्देश में अपना खुद का बनाया जाए, मैं आपको दिखाने जा रहा हूं कि एक बार सेट करने के बाद आप एक सटीक घड़ी कैसे बना सकते हैं, यह स्वचालित रूप से हर चीज की पृष्ठभूमि में वर्तमान समय का ट्रैक रखेगा। जबकि केवल बहुत कम आपूर्ति और शून्य सोल्डरिंग की आवश्यकता होती है।

आपूर्ति

सबसे पहले, आपको एक Arduino की आवश्यकता होगी लेकिन कोई भी Arduino काम करेगा

इसके बाद, आपको सामान्य जम्पर तारों के वर्गीकरण की आवश्यकता होगी।

2 12 मिमी स्पार्कफुन पुशबटन स्विच

एक पारंपरिक ब्रेडबोर्ड

और एक एलसीडी १६०२ १६ पिन डिस्प्ले

चरण 1: वायरिंग

तारों
तारों

इस घड़ी को काम करने के लिए आपको इसे एक बहुत ही विशिष्ट तरीके से तार करने की आवश्यकता है अन्यथा आपको समय के बजाय स्क्रीन पर यादृच्छिक संख्याओं का एक गुच्छा मिलेगा।

चरण 2: कोड

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

बस इसे Arduino IDE या वेब एडिटर में कॉपी और पेस्ट करें।

#शामिल "LiquidCrystal.h"

// यह LCD वायरिंग को DIGITALpins const int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7; लिक्विड क्रिस्टल एलसीडी (आरएस, एन, डी 4, डी 5, डी 6, डी 7);

// डिजिटल एलसीडी कॉन्ट्रास्ट सेटिंग इंट सीएस = 9; // पिन 9 कंट्रास्ट के लिए पीडब्लूएम कॉन्स्ट इंट कंट्रास्ट = 100; // डिफ़ॉल्ट कंट्रास्ट

// प्रारंभिक समय प्रदर्शन 12:59:45 अपराह्न int h=12 है; इंट एम = 59; इंट एस = 45; इंट फ्लैग = 1; // पीएम

// टाइम सेट बटन इंट बटन 1; इंट बटन2;

// टाइम सेट बटन के लिए पिन परिभाषा int hs=0;// घंटे के लिए पिन 0 सेटिंग int ms=1;// मिनट सेटिंग के लिए पिन 1

// बैकलाइट टाइम आउट कॉन्स्ट इंट टाइम_लाइट = 150; int bl_TO=Time_light;// बैकलाइट टाइम-आउट int bl=10; // बैकलाइट पिन कॉन्स्ट इंट बैकलाइट = 120; // और नहीं तो 7mA !!!

// सटीक समय पढ़ने के लिए, Arduino रीयल टाइम क्लॉक का उपयोग करें न कि केवल देरी () स्थिर uint32_t last_time, now = 0; // आरटीसी

शून्य सेटअप () {lcd.begin (१६, २); पिनमोड (एचएस, INPUT_PULLUP); // बटन 1 पिनमोड (एमएस, INPUT_PULLUP) के लिए बाहरी पुलअप प्रतिरोधों से बचें;// और बटन 2 एनालॉगवर्इट (सीएस, कंट्रास्ट); // कंट्रास्ट VO एनालॉगराइट (बीएल, बैकलाइट) समायोजित करें; // मुड़ें बैकलाइट पर अब = मिली (); // आरटीसी प्रारंभिक मूल्य पढ़ें}

शून्य लूप () {lcd.begin (16, 2);// हर सेकेंड // अपडेट एलसीडी डिस्प्ले // प्रिंट टाइम इन आवर, मिन, सेक + एएम/पीएम LCD.setCursor (0, 0); LCD.print ("समय"); if(h<10)lcd.print("0");// हमेशा 2 अंक LCD.print(h); एलसीडी.प्रिंट (":"); अगर (एम <10) एलसीडी.प्रिंट ("0"); एलसीडी.प्रिंट (एम); एलसीडी.प्रिंट (":"); अगर (एस <10) एलसीडी.प्रिंट ("0"); एलसीडी.प्रिंट (एस);

अगर (ध्वज == 0) एलसीडी.प्रिंट ("एएम"); अगर (ध्वज == 1) एलसीडी.प्रिंट ("पीएम"); LCD.setCursor(0, 1);// लाइन 2 के लिए LCD.print("सटीक घड़ी");

// देरी का बेहतर प्रतिस्थापन (1000) // बहुत बेहतर सटीकता, लूप निष्पादन समय पर अधिक निर्भर नहीं है

के लिए (int i=0;i<5;i++)// तेज बटन प्रतिक्रिया के लिए 5 बार 200ms लूप बनाएं {

जबकि ((अब-last_time)<200) //delay200ms {अब = मिली (); } // इनर 200ms लूप last_time = now; // अगले लूप के लिए तैयार करें

// सेटिंग बटन बटन 1 पढ़ें = डिजिटल रीड (एचएस); // बटन बटन 2 पढ़ें = डिजिटल रीड (एमएस);

// बैकलाइट टाइम आउट bl_TO--; if(bl_TO==0) {analogWrite(bl, 0);// बैकलाइट ऑफ bl_TO++;) एनालॉगवर्इट (बीएल, बैकलाइट); // प्रतीक्षा करें जब तक कि बटन जारी न हो जाए ((बटन 1 == 0) | (बटन 2 == 0)) {बटन 1 = डिजिटल रीड (एचएस); // बटन पढ़ें बटन 2 = डिजिटल रीड (एमएस); } } और // प्रोसेस बटन 1 या बटन 2 जब हिट किया जाता है जबकि बैकलाइट ऑन {if(button1==0){ h=h+1; bl_TO=समय_प्रकाश; एनालॉगवर्इट (बीएल, बैकलाइट); }

अगर (बटन 2 == 0) {एस = 0; एम = एम +1; bl_TO=समय_प्रकाश; एनालॉगवर्इट (बीएल, बैकलाइट); }

/* ---- सेकंड, मिनट, घंटे पूर्वाह्न/अपराह्न अतिप्रवाह प्रबंधित करें ----*/ if(s==60){ s=0; एम = एम +1; } अगर (एम == 60) {एम = 0; एच = एच +1; } अगर (एच == 13) { एच = 1; झंडा = झंडा + 1; अगर (झंडा == 2) झंडा = 0; }

if((button1==0)|(button2==0))// अगर टाइम सेट बटन दबाया जाता है तो डिस्प्ले अपडेट करें {// LCD डिस्प्ले अपडेट करें // घंटे, मिनट, सेक + AM/PM LCD.setCursor (0 में प्रिंट टाइम), 0); LCD.print ("समय"); if(h<10)lcd.print("0");// हमेशा 2 अंक LCD.print(h); एलसीडी.प्रिंट (":"); अगर (एम <10) एलसीडी.प्रिंट ("0"); एलसीडी.प्रिंट (एम); एलसीडी.प्रिंट (":"); अगर (एस <10) एलसीडी.प्रिंट ("0"); एलसीडी.प्रिंट (एस);

अगर (ध्वज == 0) एलसीडी.प्रिंट ("एएम"); अगर (ध्वज == 1) एलसीडी.प्रिंट ("पीएम"); LCD.setCursor(0, 1);// लाइन 2 के लिए LCD.print("सटीक घड़ी"); }

} // अंत अगर और }// के लिए समाप्त करें

// बाहरी 1000ms लूप

एस = एस +1; // वेतन वृद्धि सेकंड। गिनती // ---- सेकंड, मिनट, घंटे पूर्वाह्न / अपराह्न अतिप्रवाह प्रबंधित करें ---- अगर (एस == 60) {एस = 0; एम = एम +1; } अगर (एम == 60) {एम = 0; एच = एच +1; } अगर (एच == 13) {एच = 1; झंडा = झंडा + 1; अगर (झंडा == 2) झंडा = 0; }

// लूप एंड }

चरण 3: योजनाबद्ध (यह वास्तव में एक कदम नहीं है)

योजनाबद्ध (यह वास्तव में एक कदम नहीं है)
योजनाबद्ध (यह वास्तव में एक कदम नहीं है)

अगर कोई इसे पढ़ रहा है तो यहां एक तकनीकी बेवकूफ है, यह भी एक योजनाबद्ध है जिसे आप देख सकते हैं कि वह पागल हो गया है।

आनंद लें और मज़े करें और सबसे अधिक ताज़ा रहें।

सिफारिश की: