आरटीडी मॉड्यूल का उपयोग कर Arduino Digital क्लॉक

समस्याओं को खत्म करने के लिए हमारे साधन का प्रयास करें





इस पोस्ट में हम RTC या रियल टाइम क्लॉक मॉड्यूल का उपयोग करके एक डिजिटल घड़ी का निर्माण करने जा रहे हैं। हम समझेंगे कि 'RTC' मॉड्यूल क्या है, Arduino के साथ इंटरफ़ेस कैसे करें और यह क्या करता है।

द्वारा:



आरटीसी मॉड्यूल एक सर्किट है, जो वर्तमान समय का सही-सही पता लगाता है। यह दो कार्य करता है, यह बिजली की विफलता के मामले में समय बनाए रखने के लिए वर्तमान समय देने और बैकअप सर्किट के रूप में कार्य करने के लिए माइक्रोकंट्रोलर और माइक्रोप्रोसेसर के साथ संचार करता है, क्योंकि इसमें बिल्ट-इन बैटरी बैकअप सिस्टम है।

हम किसी भी इलेक्ट्रॉनिक उपकरणों में आरटीसी पा सकते हैं जहां समय गैजेट का एक महत्वपूर्ण कार्य है।



उदाहरण के लिए, हमारा कंप्यूटर या लैपटॉप बिजली बंद होने या बैटरी निकाल दिए जाने के बाद भी अपना समय बनाए रखता है। किसी भी कंप्यूटर के मदरबोर्ड पर हम एक CMOS बैटरी पा सकते हैं, जो RTC सर्किट को पावर देती है।

इसी तरह के सर्किट हम इस परियोजना में उपयोग करने जा रहे हैं।

RTC मॉड्यूल एक सस्ता उपकरण है जो किसी भी ई-कॉमर्स साइटों और आपके स्थानीय इलेक्ट्रॉनिक प्रोजेक्ट शॉप पर पाया जा सकता है।

विशिष्ट RTC मॉड्यूल DS1307 का चित्रण:

अधिकांश आरटीसी मॉड्यूल खरीद के समय बैटरी (CR2032) के साथ आते हैं। आकार और मॉडल अलग-अलग हैं, ऊपर चित्रित आपके लिए समान नहीं हो सकता है। लेकिन सुनिश्चित करें कि मॉडल नंबर DS1307 है। इस पोस्ट में लिखा कोड केवल DS1307 के साथ संगत है।

अब आप आरटीसी के बारे में कुछ जानते हैं। अब डिजिटल घड़ी डिज़ाइन पर चलते हैं। इस परियोजना के साथ आगे बढ़ने से पहले आपको निम्न लिंक से लाइब्रेरी को डाउनलोड करना होगा और अपने आईडीई पर स्थापित करना होगा:

• DS1307RTC.h

लिंक: github.com/PaulStoffregen/DS1307RTC

• TimeLib.h

लिंक: github.com/PaulStoffregen/Time

यदि आप नवीनतम संस्करण पर हैं, तो अन्य दो पुस्तकालयों को Arduino IDE पर प्रीइंस्टॉल्ड किया जाएगा।

• लिक्विड क्रिस्टल

• तार.ह

सर्किट:

आर्डिनो और एलसीडी डिस्प्ले के बीच सर्किट कनेक्शन मानक है, जिसे हम अन्य एलसीडी आधारित परियोजनाओं पर समान कनेक्शन पा सकते हैं। एकमात्र अतिरिक्त घटक RTC है।

प्रोटोटाइप के दौरान तार की भीड़ को कम करने के लिए, आरटीसी को सीधे आर्डिनो के एनालॉग पिन में डाला जा सकता है। पुरुष शीर्षलेख पिन के साथ SCl, SDA, Vcc और GND को मिलाएं और इसे प्रोटोटाइप में दिखाए गए अनुसार A2 से A5 पिन में डालें।

लेखक का प्रोटोटाइप:

Arduino पर RTC को ठीक से कैसे डालें:

यदि आपके आरटीसी में अलग-अलग पिन स्थान हैं और जैसा कि ऊपर सचित्र रूप से दोहराया नहीं जा सकता है, तो आप हमेशा कनेक्शन के लिए तारों का उपयोग कर सकते हैं। अब आपका हार्डवेयर सेटअप पूरा हो गया है, आइए परियोजना के सॉफ्टवेयर भाग पर जाएँ।

समय कैसे सेट करें:

एक बार RTC मॉड्यूल प्रोग्राम किए जाने के बाद, यह उस समय को भी बनाए रखता है, जब तक कि उसे arduino से निकाल न दिया जाए। बैटरी कम से कम दो साल तक चलना चाहिए।

निम्नलिखित कार्यक्रम को आरटीसी में समय निर्धारित करने के लिए समय को समायोजित करने के लिए कोई बटन नहीं है। कोड को संकलित करते समय समय आपके कंप्यूटर के समय के साथ स्वचालित रूप से सिंक्रनाइज़ हो जाता है, इसलिए सुनिश्चित करें कि आपके कंप्यूटर को प्रोग्राम अपलोड करने से पहले, सही समय पर सेट किया गया है।
RTC प्लग इन के साथ समय निर्धारित करने के लिए यह 'सेटटाइम' कोड अपलोड करें:

#include  #include  #include  int P=A3 //Assign power pins for RTC int N=A2 const char *monthName[12] = { 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' } tmElements_t tm void setup() { pinMode(P,OUTPUT) pinMode(N,OUTPUT) digitalWrite(P,HIGH) digitalWrite(N,LOW) bool parse=false bool config=false // get the date and time the compiler was run if (getDate(__DATE__) && getTime(__TIME__)) { parse = true // and configure the RTC with this info if (RTC.write(tm)) { config = true } } Serial.begin(9600) while (!Serial)  // wait for Arduino Serial Monitor delay(200) if (parse && config) { Serial.print('DS1307 configured Time=') Serial.print(__TIME__) Serial.print(', Date=') Serial.println(__DATE__) } else if (parse) { Serial.println('DS1307 Communication Error :-{') Serial.println('Please check your circuitry') } else { Serial.print('Could not parse info from the compiler, Time='') Serial.print(__TIME__) Serial.print('', Date='') Serial.print(__DATE__) Serial.println(''') } } void loop() { } bool getTime(const char *str) { int Hour, Min, Sec if (sscanf(str, '%d:%d:%d', &Hour, &Min, &Sec) != 3) return false tm.Hour = Hour tm.Minute = Min tm.Second = Sec return true } bool getDate(const char *str) { char Month[12] int Day, Year uint8_t monthIndex if (sscanf(str, '%s %d %d', Month, &Day, &Year) != 3) return false for (monthIndex = 0 monthIndex < 12 monthIndex++) { if (strcmp(Month, monthName[monthIndex]) == 0) break } if (monthIndex >= 12) return false tm.Day = Day tm.Month = monthIndex + 1 tm.Year = CalendarYrToTm(Year) return true } 

एक बार यह कोड अपलोड हो जाने के बाद, सीरियल मॉनीटर खोलें और एक सफलता संदेश को यह कहते हुए पॉप अप करना चाहिए कि समय निर्धारित किया गया है।

यह दर्शाता है कि RTC और Arduino के बीच आपका संबंध सही है और समय निर्धारित है।

अब एलसीडी में समय प्रदर्शित करने के लिए निम्न कोड अपलोड करें।

//------------Program Developed by R.Girish-------// #include  #include  #include  #include  LiquidCrystal lcd(12, 11, 5, 4, 3, 2) int P=A3 int N=A2 void setup() { lcd.begin(16,2) pinMode(P,OUTPUT) pinMode(N,OUTPUT) digitalWrite(P,HIGH) digitalWrite(N,LOW) } void loop() { tmElements_t tm lcd.clear() if (RTC.read(tm)) { if(tm.Hour>=12) { lcd.setCursor(14,0) lcd.print('PM') } if(tm.Hour<12) { lcd.setCursor(14,0) lcd.print('AM') } lcd.setCursor(0,0) lcd.print('TIME:') if(tm.Hour>12) //24Hrs to 12 Hrs conversion// { if(tm.Hour==13) lcd.print('01') if(tm.Hour==14) lcd.print('02') if(tm.Hour==15) lcd.print('03') if(tm.Hour==16) lcd.print('04') if(tm.Hour==17) lcd.print('05') if(tm.Hour==18) lcd.print('06') if(tm.Hour==19) lcd.print('07') if(tm.Hour==20) lcd.print('08') if(tm.Hour==21) lcd.print('09') if(tm.Hour==22) lcd.print('10') if(tm.Hour==23) lcd.print('11') } else { lcd.print(tm.Hour) } lcd.print(':') lcd.print(tm.Minute) lcd.print(':') lcd.print(tm.Second) lcd.setCursor(0,1) lcd.print('DATE:') lcd.print(tm.Day) lcd.print('/') lcd.print(tm.Month) lcd.print('/') lcd.print(tmYearToCalendar(tm.Year)) } else { if (RTC.chipPresent()) { lcd.setCursor(0,0) lcd.print('RTC stopped!!!') lcd.setCursor(0,1) lcd.print('Run SetTime code') } else { lcd.clear() lcd.setCursor(0,0) lcd.print('Read error!') lcd.setCursor(0,1) lcd.print('Check circuitry!') } delay(500) } delay(500) } //------------Program Developed by R.Girish-------// 

एक बार यह पूरा हो जाने के बाद आपको एलसीडी और रनिंग पर समय और तारीख दिखाई जानी चाहिए।

ध्यान दें: 'सेटटाइम' कोड को RT1 मॉड्यूल के लिए तार कनेक्शन को अनुकूलित करने के लिए DS1307RTC के उदाहरण कोड से संशोधित किया गया है, मूल कोड अपलोड करने के लिए निर्धारित समय नहीं है।

Arduino का उपयोग करके डिजिटल अलार्म घड़ी

इसके बाद के संस्करण में हमने सीखा कि आरटीसी मॉड्यूल का उपयोग करके बुनियादी Arduino घड़ी का निर्माण कैसे किया जाता है, निम्नलिखित धर्म में हम यह जांचते हैं कि यह Arduino का उपयोग करके डिजिटल अलार्म घड़ी सर्किट में कैसे उन्नत किया जा सकता है।

कुछ लोग ऐसे होते हैं जिन्हें अलार्म घड़ी की आवश्यकता नहीं होती है, वे स्वाभाविक रूप से जागते हैं और कुछ लोग होते हैं जो अलार्म घड़ी बजने के बाद उठते हैं और कुछ लोग ऐसे होते हैं जो बार-बार एक बटन को दबाते हैं और अपने कॉलेज के लिए जाते हैं / देर से काम करते हैं कुछ बहाने।

प्रस्तावित मज़ा थोड़ा अलार्म घड़ी परियोजना सुबह उठने के दौरान आलस्य के साथ समस्या का सामना कर सकती है। यदि उपयोगकर्ता ने जवाब नहीं दिया तो अधिकांश अलार्म घड़ियों में अलार्म के लिए एक स्नूज़ बटन और पूर्व निर्धारित कट-ऑफ समय होता है।

हमने इस अलार्म घड़ी को एक आलसी बटन (स्नूज़ बटन) के बिना डिज़ाइन किया है और जब तक उपयोगकर्ता एक बटन को धक्का नहीं देता, अलार्म बंद नहीं होता है।

यह घड़ी 12 घंटे के प्रारूप और DD / MM / YYYY प्रारूप में दिनांक दिखा सकती है।

समय और तारीख 16 x 2 एलसीडी डिस्प्ले पर दिखाई जाएगी। एक आरटीसी या वास्तविक समय घड़ी समय मॉड्यूल समय को ट्रैक करने का ध्यान रखेगा और लंबे समय तक बिजली कटौती के बाद भी सही समय को बनाए रख सकता है।

5 बटन दिए गए हैं, जिन्हें शीघ्र ही समझाया जाएगा। प्रोजेक्ट Arduino का मस्तिष्क आपकी पसंद का कोई भी मॉडल हो सकता है, हम Arduino pro mini या Arduino नैनो को इसके कॉम्पैक्ट आकार की वजह से सुझाएंगे।

अब 'schematics' में गोता लगाएँ।

ऊपर Arduino कनेक्शन प्रदर्शित करने के लिए योजनाबद्ध है, 10K पोटेंशियोमीटर को घुमाकर डिस्प्ले कंट्रास्ट को समायोजित करें।

नीचे सर्किट के बाकी है:

सर्किट 9V 500mA दीवार एडाप्टर संचालित किया जा सकता है।

5 बटन के कार्य:

S1 - इसका उपयोग अलार्म बंद करने के लिए किया जाता है (यह रीसेट बटन भी है)।
S2 - अलार्म सेट करने के लिए उपयोग किया जाता है। S2 को लंबे समय तक दबाने से आपको अलार्म सेटिंग मेनू मिलेगा।
एस 3 - इसका उपयोग घंटे बढ़ाने के लिए किया जाता है।
एस 4 - इसका उपयोग मिनट बढ़ाने के लिए किया जाता है।
S5 - अलार्म स्थिति को टॉगल करने के लिए उपयोग किया जाता है। यदि '*' एलसीडी डिस्प्ले पर दायीं ओर नीचे कोने में मौजूद है, तो अलार्म चालू है, यदि '*' नहीं है, तो अलार्म आँकड़े बंद हैं।

अलार्म सेट करने के तरीके पर अधिक विस्तार से लेख के नीचे समझाया गया है।

नीचे दी गई लाइब्रेरी फ़ाइलों को डाउनलोड करें:

लिंक 1: github.com/PaulStoffregen/DS1307RTC
लिंक 2: github.com/PaulStoffregen/Time

अब, हमें आरटीसी मॉड्यूल के लिए समय निर्धारित करना होगा, समय आपको पीसी से आरटीसी मॉड्यूल के लिए सिंक्रनाइज़ किया जाएगा।

समय निर्धारित करने और सीरियल मॉनिटर खोलने के लिए नीचे दिए गए कोड को अपलोड करें:

//------------------------------------------------// #include  #include  #include  const char *monthName[12] = { 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec' } tmElements_t tm void setup() { bool parse=false bool config=false // get the date and time the compiler was run if (getDate(__DATE__) && getTime(__TIME__)) { parse = true // and configure the RTC with this info if (RTC.write(tm)) { config = true } } Serial.begin(9600) while (!Serial)  // wait for Arduino Serial Monitor delay(200) if (parse && config) { Serial.print('DS1307 configured Time=') Serial.print(__TIME__) Serial.print(', Date=') Serial.println(__DATE__) } else if (parse) { Serial.println('DS1307 Communication Error :-{') Serial.println('Please check your circuitry') } else { Serial.print('Could not parse info from the compiler, Time='') Serial.print(__TIME__) Serial.print('', Date='') Serial.print(__DATE__) Serial.println(''') } } void loop() { } bool getTime(const char *str) { int Hour, Min, Sec if (sscanf(str, '%d:%d:%d', &Hour, &Min, &Sec) != 3) return false tm.Hour = Hour tm.Minute = Min tm.Second = Sec return true } bool getDate(const char *str) { char Month[12] int Day, Year uint8_t monthIndex if (sscanf(str, '%s %d %d', Month, &Day, &Year) != 3) return false for (monthIndex = 0 monthIndex < 12 monthIndex++) { if (strcmp(Month, monthName[monthIndex]) == 0) break } if (monthIndex >= 12) return false tm.Day = Day tm.Month = monthIndex + 1 tm.Year = CalendarYrToTm(Year) return true } //----------------------------------------// 

अब आपने आरटीसी के लिए सफलतापूर्वक समय निर्धारित किया है
इसके बाद, आपको निम्नलिखित मुख्य कोड अपलोड करना होगा:

//------------Program Developed by R.Girish-------// #include  #include  #include  #include  #include  const int rs = 7 const int en = 6 const int d4 = 5 const int d5 = 4 const int d6 = 3 const int d7 = 2 const int buzzer = 8 boolean alarm = false boolean outloop = true const int setAlarm = A0 const int Hrs = A1 const int Min = A2 const int ok = A3 const int HrsADD = 0 const int MinADD = 1 const int ALsave = 2 int HrsVal = 0 int MinVal = 0 int H = 0 int M = 0 int S = 0 int i = 0 int j = 0 int k = 0 LiquidCrystal lcd(rs, en, d4, d5, d6, d7) void setup() { Serial.begin(9600) lcd.begin(16, 2) pinMode(buzzer, OUTPUT) pinMode(setAlarm, INPUT) pinMode(Hrs, INPUT) pinMode(Min, INPUT) pinMode(ok, INPUT) digitalWrite(setAlarm, HIGH) digitalWrite(Hrs, HIGH) digitalWrite(Min, HIGH) digitalWrite(ok, HIGH) } void loop() { tmElements_t tm lcd.clear() if (EEPROM.read(ALsave) == false) { lcd.setCursor(15, 1) lcd.print('') } if (EEPROM.read(ALsave) == true) { lcd.setCursor(15, 1) lcd.print(F('*')) } if (RTC.read(tm)) { if (tm.Hour >= 12) { lcd.setCursor(14, 0) lcd.print('PM') } if (tm.Hour < 12) { lcd.setCursor(14, 0) lcd.print('AM') } lcd.setCursor(0, 0) lcd.print('TIME:') H = tm.Hour if (tm.Hour > 12) { if (tm.Hour == 13) { lcd.print('01') } if (tm.Hour == 14) { lcd.print('02') } if (tm.Hour == 15) { lcd.print('03') } if (tm.Hour == 16) { lcd.print('04') } if (tm.Hour == 17) { lcd.print('05') } if (tm.Hour == 18) { lcd.print('06') } if (tm.Hour == 19) { lcd.print('07') } if (tm.Hour == 20) { lcd.print('08') } if (tm.Hour == 21) { lcd.print('09') } if (tm.Hour == 22) { lcd.print('10') } if (tm.Hour == 23) { lcd.print('11') } } else { lcd.print(tm.Hour) } M = tm.Minute S = tm.Second lcd.print(':') lcd.print(tm.Minute) lcd.print(':') lcd.print(tm.Second) lcd.setCursor(0, 1) lcd.print('DATE:') lcd.print(tm.Day) lcd.print('/') lcd.print(tm.Month) lcd.print('/') lcd.print(tmYearToCalendar(tm.Year)) } else { if (RTC.chipPresent()) { lcd.setCursor(0, 0) lcd.print('RTC stopped!!!') lcd.setCursor(0, 1) lcd.print('Run SetTime code') } else { lcd.clear() lcd.setCursor(0, 0) lcd.print('Read error!') lcd.setCursor(0, 1) lcd.print('Check circuitry!') } } if (digitalRead(setAlarm) == LOW) { setALARM() } if (H == EEPROM.read(HrsADD) && M == EEPROM.read(MinADD) && S == 0) { if (EEPROM.read(ALsave) == true) { sound() } } if (digitalRead(ok) == LOW) { if (EEPROM.read(ALsave) == true) { EEPROM.write(ALsave, 0) alarm = false delay(1000) return } if (EEPROM.read(ALsave) == false) { EEPROM.write(ALsave, 1) alarm = true delay(1000) return } } delay(1000) } void setALARM() { HrsVal = EEPROM.read(HrsADD) MinVal = EEPROM.read(MinADD) lcd.clear() lcd.setCursor(0, 0) lcd.print(F('>>>>SET ALARM<<<')) lcd.setCursor(0, 1) lcd.print(F('Hrs:')) lcd.print(EEPROM.read(HrsADD)) lcd.print(F(' Min:')) lcd.print(EEPROM.read(MinADD)) delay(600) while (outloop) { if (HrsVal > 23) { HrsVal = 0 lcd.clear() lcd.setCursor(0, 0) lcd.print(F('>>>>SET ALARM<<<')) lcd.setCursor(0, 1) lcd.print(F('Hrs:')) lcd.print(HrsVal) lcd.print(F(' Min:')) lcd.print(MinVal) } if (MinVal > 59) { MinVal = 0 lcd.clear() lcd.setCursor(0, 0) lcd.print(F('>>>>SET ALARM<<<')) lcd.setCursor(0, 1) lcd.print(F('Hrs:')) lcd.print(HrsVal) lcd.print(F(' Min:')) lcd.print(MinVal) } if (digitalRead(Hrs) == LOW) { HrsVal = HrsVal + 1 lcd.clear() lcd.setCursor(0, 0) lcd.print(F('>>>>SET ALARM<<<')) lcd.setCursor(0, 1) lcd.print(F('Hrs:')) lcd.print(HrsVal) lcd.print(F(' Min:')) lcd.print(MinVal) delay(250) } if (digitalRead(Min) == LOW) { MinVal = MinVal + 1 lcd.clear() lcd.setCursor(0, 0) lcd.print(F('>>>>SET ALARM<<<')) lcd.setCursor(0, 1) lcd.print(F('Hrs:')) lcd.print(HrsVal) lcd.print(F(' Min:')) lcd.print(MinVal) delay(250) } if (digitalRead(setAlarm) == LOW) { EEPROM.write(HrsADD, HrsVal) EEPROM.write(MinADD, MinVal) lcd.clear() lcd.setCursor(0, 0) lcd.print(F('Alarm is Set for')) lcd.setCursor(0, 1) lcd.print(EEPROM.read(HrsADD)) lcd.print(F(':')) lcd.print(EEPROM.read(MinADD)) lcd.print(F(' Hrs')) delay(1000) outloop = false } } outloop = true } void sound() { lcd.clear() lcd.setCursor(0, 0) lcd.print('Wakey Wakey !!!') lcd.setCursor(0, 1) lcd.print('Its Time now.....') for (j = 0 j < 10 j++) { for (i = 0 i < 2  i++) { digitalWrite(buzzer, HIGH) delay(150) digitalWrite(buzzer, LOW) delay(150) } delay(400) } for (k = 0 k < 10 k++) { for (i = 0 i < 4  i++) { digitalWrite(buzzer, HIGH) delay(150) digitalWrite(buzzer, LOW) delay(150) } delay(250) } while (true) { digitalWrite(buzzer, HIGH) delay(150) digitalWrite(buzzer, LOW) delay(150) } } //------------Program Developed by R.Girish-------// 

उपरोक्त कोड अपलोड करने के बाद आपको डिस्प्ले पर चलने का सही समय और तारीख देखना होगा।

अब देखते हैं कि अलार्म कैसे सेट करें:
• लॉन्ग प्रेस S2 जब तक आप अलार्म मेनू नहीं देख सकते।
• क्रमशः घंटे और मिनट समायोजित करने के लिए S3 और S4 दबाएँ।
• वांछित समय सेट होने के बाद, S2 को एक बार फिर से दबाएं। यह कहेगा कि 'अलार्म xx: xx घंटे के लिए सेट है'।
• यदि अलार्म चालू है तो आप डिस्प्ले पर '*' चिन्ह देख सकते हैं, अगर अलार्म बंद है तो कोई '*' चिन्ह नहीं होगा।
• आप आधे सेकंड के लिए S5 दबाकर अलार्म को चालू / बंद कर सकते हैं। '*' गायब होने तक लंबे समय तक प्रेस न करें (यह फिर से वापस आ जाता है), बस अलार्म स्थिति को टॉगल करने के लिए आधा सेकंड लंबा दबाएं।

महत्वपूर्ण लेख:

किसी भी घड़ी पर अलार्म सेट करते समय सबसे आम गलती अनजाने में एएम / पीएम है, जिसके परिणामस्वरूप हमारी इच्छा के समय अलार्म नहीं बजता है।

इस समस्या से निपटने के लिए प्रस्तावित अलार्म घड़ी की सेटिंग 24 घंटे के घड़ी प्रारूप पर डिज़ाइन की गई है।

एलसीडी पर प्रदर्शित समय एएम / पीएम प्रारूप के साथ 12 घंटे होगा, लेकिन, जब आप इस परियोजना के साथ अलार्म सेट करते हैं तो आपको 0 से 23 घंटे तक 24 घंटे के प्रारूप में सेट करना होगा।

उदाहरण के लिए: यदि आप 9:00 बजे अलार्म सेट करना चाहते हैं तो आपको 21 घंटे और 0 मिनट सेट करने होंगे। 5 बजे: 5 घंटे और 0 मिनट वगैरह के लिए।

लेखक का प्रोटोटाइप:

क्या आपको यह परियोजना पसंद है? इस परियोजना के बारे में कोई भी सवाल है, टिप्पणी में व्यक्त करने के लिए स्वतंत्र महसूस करें, आपको एक त्वरित उत्तर प्राप्त हो सकता है।

वीडियो क्लिप:




पिछला: कंबाइन हार्वेस्टर अनाज टैंक के लिए बीकन स्तर संकेतक सर्किट अगला: 3 उच्च शक्ति SG3525 शुद्ध सिन्वेट इन्वर्टर सर्किट