विषयसूची:
- आपूर्ति
- चरण 1: मल्टीप्लेक्स डिस्प्ले के लिए डिजिट ड्राइव और सेगमेंट ड्राइव को कनेक्ट करें
- चरण 2: कनेक्शन का परीक्षण करें
- चरण 3: समय प्रदर्शित करने के लिए कोड और चमक को नियंत्रित करने के लिए पीडब्लूएम
- चरण 4: इंटरनेट कनेक्शन बनाएं
- चरण 5: वेब से समय को पार्स करने के लिए बेसिक कोड जोड़ें
- चरण 6: डिस्प्ले को मंद करने के लिए एक लाइट सेंसर और कोड जोड़ें
- चरण 7: घड़ी को ऊपर उठाएं और इसका उपयोग करना शुरू करें।
वीडियो: वेब कनेक्टेड डिजिटल क्लॉक: 7 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:20
Amazon पर $10 की डिजिटल घड़ी मिली। अब इंटरनेट से समय निकालने के लिए इसे अनुकूलित करने के लिए।
आपूर्ति
बेसिक में प्रोग्राम करने योग्य एआरएम स्टाम्प यहां उपलब्ध है
चरण 1: मल्टीप्लेक्स डिस्प्ले के लिए डिजिट ड्राइव और सेगमेंट ड्राइव को कनेक्ट करें
मैंने बड़ी संख्या वाली डिजिटल घड़ी के साथ सस्ते से शुरुआत की। पहले मैंने मौजूदा क्लॉक चिप को हटा दिया। फिर कुछ जांच की और 7 सेगमेंट कनेक्शनों का पता लगाया, जिन्हें सीधे माइक्रोप्रोसेसर द्वारा संचालित किया जा सकता है। फिर 4 अंकों के ड्राइवर मिले जो ट्रांजिस्टर थे जिन्हें माइक्रोप्रोसेसर चला सकता है। और फिर उनको तार-तार कर दिया।
चरण 2: कनेक्शन का परीक्षण करें
एक प्रयोग के रूप में मैंने सभी लाइनों को चलाने, तारों की जांच करने और करंट मापने के लिए एक बेसिक प्रोग्राम लिखा, जो इस मामले में 82 mA था।
अगला लाइनों को स्कैन करने के लिए कोड लिखना था।
'वेब घड़ी प्रदर्शन ड्राइव
IO(7)=0 ' PMOS ड्राइव -- किसी दिन PWM होगी
y=45 से 48. के लिए
आईओ (वाई) = 0 ' अंक ड्राइव
x=8 से 15. के लिए
आईओ (एक्स) = 0 ' सेगमेंट ड्राइव
प्रतीक्षा करें (500)
आईओ (एक्स) = 1
अगला x
DIR(y)=0 ' खंड पर अक्षम ड्राइव
अगले आप
चरण 3: समय प्रदर्शित करने के लिए कोड और चमक को नियंत्रित करने के लिए पीडब्लूएम
इसके बाद मैंने सभी अंकों के ड्राइवरों को बिजली आपूर्ति में एक पीएमओएस ट्रांजिस्टर जोड़ा। इसके साथ पल्स चौड़ाई मॉडुलन द्वारा संचालित प्रदर्शन की चमक को नियंत्रित करेगा। यहाँ समय प्रदर्शित करने के लिए बुनियादी कोड है।
' वेब क्लॉक डिस्प्ले ड्राइव #include "LPC11U3x.bas"
ग्लोबल्स
घंटा = 0 ' घंटे को परिभाषित करें
मिनट = 0 'मिनट परिभाषित करें
#SEG_0 औरHBB00 परिभाषित करें
#परिभाषित SEG_1 &H1800
#परिभाषित SEG_2 &HD300
#SEG_3 &HD900 परिभाषित करें
#SEG_4 &H7800 परिभाषित करें
#SEG_5 &HE900 परिभाषित करें
#SEG_6 &HEB00 परिभाषित करें
#SEG_7 &H9800 परिभाषित करें
#SEG_8 औरHFB00 परिभाषित करें
#SEG_9 &HF800 परिभाषित करें
#SEG_o &H4B00 परिभाषित करें
#SEG_f &HE200 परिभाषित करें
const DIGarray = { SEG_0, SEG_1, SEG_2, SEG_3, SEG_4, SEG_5, SEG_6, SEG_7, SEG_8, SEG_9, SEG_o, SEG_f }
#परिभाषित करें DIG_WAIT 1
#US_TIME परिभाषित करें
उप डिस्प्ले_टाइम (गलती, घंटा, मिनट)
मंद hr10, hr1, min10, min1, i
#ifdef US_TIME
अगर घंटा> 12 तो घंटा - = 12
यदि घंटा = 0 तो घंटा = 12
#अगर अंत
घंटा १० = घंटा / १०
घंटा 1 = घंटा एमओडी 10
न्यूनतम १० = मिनट / १०
न्यूनतम 1 = मिनट एमओडी 10
मैं = 0 से 1. के लिए
अगर hr10 तो
आईओ(45) = 0
अगर अंत
GPIO_DIR(0) = (GPIO_DIR(0) और &HFFFF00FF) + DIGarray(hr10)
GPIO_CLR(0) = DIGarray(hr10)
प्रतीक्षा करें (DIG_WAIT)
इनपुट (45)
आईओ(46) = 0
GPIO_DIR(0) = (GPIO_DIR(0) और &HFFFF00FF) + DIGarray(hr1) + IF(i, &H400, 0)
GPIO_CLR(0) = DIGarray(hr1) + IF(i, &H400, 0)
प्रतीक्षा करें (DIG_WAIT)
इनपुट(46)
आईओ(47) = 0
GPIO_DIR(0) = (GPIO_DIR(0) और &HFFFF00FF) + DIGarray(min10)
GPIO_CLR(0) = DIGarray(min10)
प्रतीक्षा करें (DIG_WAIT)
इनपुट (47)
आईओ(48) = 0
GPIO_DIR(0) = (GPIO_DIR(0) और &HFFFF00FF) + DIGarray(min1)
GPIO_CLR(0) = DIGarray(min1)
प्रतीक्षा करें (DIG_WAIT)
इनपुट (48)
अगला मैं
अंत उप
' उपयोगकर्ता TIMER1 (32 बिट) प्रत्येक मिनट को बाधित करने के लिए
इंटरप्ट सब टाइमर1IRQ
T1_IR = 1 'इंटरप्ट साफ़ करें
न्यूनतम += 1
अगर न्यूनतम> 59 तो
न्यूनतम = 0
घंटा + = 1
अगर घंटा> 23 तो
घंटा = 0
अगर अंत
अगर अंत
अंत उप
SUB ON_TIMER (max_cnt, dothis)
TIMER1_ISR = dothis + 1 'VIC का सेट फंक्शन -- थंब ऑपरेशन के लिए +1 की जरूरत है
SYSCON_SYSAHBCLKCTRL OR= (1<<10) ' TIMER1 सक्षम करें
T1_PR = 0 'कोई पूर्व-स्केल नहीं -- अधिक सटीक समय के लिए मान समायोजित करेगा
VICIntEnable OR= (1<<TIMER1_IRQn) 'इंटरप्ट सक्षम करें'
T1_MR0 = max_cnt-1 ' एमएस की मैच संख्या सेट करें
T1_MCR = 3 ' इंटरप्ट और रीसेट ऑन
MR0 T1_IR = 1 'स्पष्ट रुकावट
T1_TC = 0 ' स्पष्ट टाइमर काउंटर
T1_TCR = 1 ' TIMER1 सक्षम करें
अंत उप
# 48 मेगाहर्ट्ज पर MINUT_PCLK 2880000000 ' 60 सेकंड परिभाषित करें
मुख्य:
घंटा = 9
मिनट = 33
ON_TIMER (MINUT_PCLK, पता TIMER1IRQ)
IO(7) = 0 ' PWM किसी दिन -- P0_22 पर जाने की आवश्यकता है ??
जबकि 1
डिस्प्ले_टाइम (0, घंटा, मिनट)
कुंडली
चरण 4: इंटरनेट कनेक्शन बनाएं
वाईफाई कनेक्शन के लिए ESP8266 का उपयोग करें। थोड़ी देर के लिए वेब के चारों ओर घूमने के बाद सबसे अच्छा समाधान nodemcu संस्करण 0.9.6 था और एक पुराने esp8266_flasher ने सबसे अच्छा काम किया।
www.electrodragon.com/w/File:Nodemcu_20150704_firmware.zip
फिर इंटरनेट से समय देने के लिए एक साधारण PHP वेबपेज--
कोरिडियम टाइम सर्वर
<?php
$timezone = htmlspecialchars($_GET["zone"]); अगर ($टाइमज़ोन == "")
$टाइमज़ोन = 'अमेरिका/लॉस_एंजेल्स';
$tz_object = नया डेटटाइमज़ोन($टाइमज़ोन);
$ डेटाटाइम = नया डेटटाइम ();
$ डेटाटाइम-> सेटटाइमज़ोन ($ tz_object);
गूंज "समय है-", $ डेटाटाइम-> प्रारूप ('एच: आई: एस');
गूंज "";
गूंज "तारीख है-", $ डेटाटाइम-> प्रारूप ('एम/डी/वाई');
?>
वह वेबपेज इसलिए है ताकि आप अनुरोध कर सकें
coridium.us/time.php -- और आपको यूएस पैसिफिक टाइम ज़ोन मिल जाता है
या
coridium.us/time.php?zone=यूरोप/लंदन
कोई त्रुटि जाँच नहीं और सबसे अधिक संभावना कभी नहीं होगी
और लुआ को पढ़ने के लिए -
wifi.sta.config("your_SSID", "your_PASSWORD")>wifi.sta.connect()…
sk=net.createConnection(net. TCP, 0)
sk: on ("प्राप्त करें", फ़ंक्शन (sck, c) प्रिंट (c) अंत)
sk: कनेक्ट (८०, "coridium.us")
sk:send("GET /time.php HTTP/1.1\r\nहोस्ट: coridium.us\r\nकनेक्शन: कीप-अलाइव\r\nस्वीकार करें: */*\r\n\r\n")
और आप के रूप में समय वापस मिलता है
समय है-09:38:49तिथि है-2018-31-12
चरण 5: वेब से समय को पार्स करने के लिए बेसिक कोड जोड़ें
यह पूर्ण बेसिक प्रोग्राम का एक सबसेट है, जिसे पूरा प्रोग्राम अंतिम चरण में लिंक पर देखा जा सकता है।
अगर strstr(build_gets, "समय है-") = 0 तो
घंटा = बिल्ड_गेट्स (8) - "0"
अगर build_gets(9) = ":" तो
मिनट = (बिल्ड_गेट्स(१०) - "0")*10
न्यूनतम += बिल्ड_गेट्स(११) - "0"
अन्यथा
घंटा = घंटा * 10 + बिल्ड_गेट्स (9) - "0"
मिनट = (build_gets(11) - "0")*10
न्यूनतम += बिल्ड_गेट्स(१२) - "0"
अगर अंत
अगर अंत
चरण 6: डिस्प्ले को मंद करने के लिए एक लाइट सेंसर और कोड जोड़ें
कमरे में परिवेश प्रकाश को महसूस करने के लिए एक फोटो ट्रांजिस्टर जोड़ा गया था। इसके बिना डिस्प्ले इतनी ब्राइट है कि रात में मरे हुओं को जगा सकता है।
फोटो ट्रांजिस्टर के आउटपुट का एनालॉग वोल्टेज पढ़ा जाता है और पल्स चौड़ाई मॉड्यूलेशन डिस्प्ले की समग्र चमक को सेट करता है।
चरण 7: घड़ी को ऊपर उठाएं और इसका उपयोग करना शुरू करें।
अंतिम संस्करण समय प्रदर्शित करता है, और लगभग 3 बजे यह वर्तमान समय को पढ़ने के लिए वेब पर जाता है। यह डे लाइट सेविंग टाइम को भी हैंडल करता है।
इस परियोजना के लिए प्रेरणा थी बिजली की विफलता जो हम यहां पहाड़ों में अनुभव करते हैं और घड़ियों को रीसेट करने या बैटरी को जीवित रखने के लिए उन्हें बदलने की आवश्यकता है।
यह परियोजना का एक त्वरित अवलोकन रहा है।
इस DIY वेब कनेक्टेड घड़ी का पूरा विवरण।
सिफारिश की:
बच्चों के लिए कनेक्टेड बेडसाइड क्लॉक: 12 कदम
बच्चों के लिए कनेक्टेड बेडसाइड क्लॉक: इस निर्देशों का पालन करते हुए, आप एक ऐसी घड़ी बनाने में सक्षम होंगे जो गति सक्रिय हो और दिन की तारीख, समय और प्रासंगिक घटना दिखाएगी। यह एक रात का मोड दिखाएगा जब सोने का समय होगा और जब बच्चे जागेंगे तो वे जल्दी से याद कर सकते हैं कि क्या
वेब-आधारित नियंत्रण कक्ष के साथ वेब-कनेक्टेड स्मार्ट एलईडी एनिमेशन घड़ी, टाइम सर्वर सिंक्रोनाइज़्ड: 11 चरण (चित्रों के साथ)
वेब-आधारित कंट्रोल पैनल के साथ वेब-कनेक्टेड स्मार्ट एलईडी एनिमेशन क्लॉक, टाइम सर्वर सिंक्रोनाइज़्ड: इस घड़ी की कहानी बहुत पहले की है - 30 साल से अधिक। मेरे पिता ने इस विचार का बीड़ा उठाया था जब मैं एलईडी क्रांति से बहुत पहले सिर्फ 10 साल का था - जब एलईडी की 1/1000 उनकी वर्तमान चमकदार चमक की चमक थी। सच्चा
वेब ड्राइवर IO ट्यूटोरियल एक लाइव वेब साइट का उपयोग करना और कार्य उदाहरण: 8 कदम
वेब ड्राइवर IO ट्यूटोरियल एक लाइव वेब साइट का उपयोग करना और काम करने के उदाहरण: वेब ड्राइवर IO ट्यूटोरियल एक लाइव वेब साइट का उपयोग करना और काम करने के उदाहरणअंतिम अपडेट: 07/26/2015 (अधिक विवरण और उदाहरणों के साथ इस निर्देश को अपडेट करते समय अक्सर वापस देखें) पृष्ठभूमि मैंने हाल ही में किया था मेरे सामने एक दिलचस्प चुनौती पेश की। मुझे चाहिए
एक वेब कनेक्टेड रोबोट बनाएं (लगभग $500 के लिए) (एक Arduino और नेटबुक का उपयोग करके): 6 कदम (चित्रों के साथ)
एक वेब कनेक्टेड रोबोट बनाएं (लगभग $ 500 के लिए) (एक Arduino और नेटबुक का उपयोग करके): यह निर्देश आपको दिखाएगा कि आप अपना खुद का वेब कनेक्टेड रोबोट कैसे बना सकते हैं (एक Arduino माइक्रो-कंट्रोलर और Asus eee pc का उपयोग करके)। आप एक वेब क्यों चाहते हैं कनेक्टेड रोबोट? बेशक साथ खेलने के लिए। अपने रोबोट को पूरे कमरे से या पूरे काउंट में ड्राइव करें
सस्ते वेब-कनेक्टेड थर्मोस्टेट: 12 कदम (चित्रों के साथ)
सस्ता वेब-कनेक्टेड थर्मोस्टेट: इंटरनेट ऑफ थिंग्स उत्पादों में से एक जो बहुत सारे घरों में अपना रास्ता खोजता है, वह है स्मार्ट थर्मोस्टेट। वे सीख सकते हैं कि जब आप अपने घर को गर्म करना पसंद करते हैं और आमतौर पर किस कमरे के तापमान की आवश्यकता होती है। अच्छी बात यह है कि वे भी