- అవసరమైన పదార్థాలు:
- ఆర్టీసీ అంటే ఏమిటి ??
- DS3231 RTC ని MSP430 తో కనెక్ట్ చేస్తోంది:
- ఆర్టీసీ మాడ్యూల్ కోసం ప్రోగ్రామింగ్ MSP430:
ఈ ట్యుటోరియల్లో మేము RTC మాడ్యూల్ DS3231 ను MSP430 తో ఇంటర్ఫేస్ చేయడం ద్వారా డిజిటల్ క్లాక్ తయారు చేస్తాము మరియు సమయం మరియు తేదీని 16x2 LCD లో ప్రదర్శిస్తాము. MSP-EXP430G2 అనేది టెక్సాస్ ఇన్స్ట్రుమెంట్స్ వారి మైక్రోకంట్రోలర్లను ఎలా ఉపయోగించాలో తెలుసుకోవడానికి మరియు సాధన చేయడానికి అందించిన అభివృద్ధి సాధనం. ఈ బోర్డు MSP430 వాల్యూ లైన్ కేటగిరీ పరిధిలోకి వస్తుంది, ఇక్కడ మేము అన్ని MSP430 సిరీస్ మైక్రోకంట్రోలర్లను ప్రోగ్రామ్ చేయవచ్చు. మీరు MSP కి కొత్తగా ఉంటే, MSP430 ట్యుటోరియల్తో మా ప్రారంభాన్ని తనిఖీ చేయండి.
అవసరమైన పదార్థాలు:
- MSP430
- DS3231 RTC మాడ్యూల్
- పాట్ -10 కె
- LCD మాడ్యూల్ 16 * 2
- వైర్లను కనెక్ట్ చేస్తోంది
- బ్రెడ్బోర్డ్
ఆర్టీసీ అంటే ఏమిటి ??
DS3231 అనేది RTC (రియల్ టైమ్ క్లాక్) మాడ్యూల్. చాలా ఎలక్ట్రానిక్స్ ప్రాజెక్టులకు తేదీ మరియు సమయాన్ని నిర్వహించడానికి ఇది ఉపయోగించబడుతుంది. ఈ మాడ్యూల్ దాని స్వంత కాయిన్ సెల్ విద్యుత్ సరఫరాను కలిగి ఉంది, ఇది ప్రధాన శక్తిని తొలగించినప్పుడు లేదా MCU హార్డ్ రీసెట్ ద్వారా వెళ్ళినప్పుడు కూడా తేదీ మరియు సమయాన్ని నిర్వహిస్తుంది. కాబట్టి మేము ఈ మాడ్యూల్లో తేదీ మరియు సమయాన్ని సెట్ చేసిన తర్వాత అది ఎల్లప్పుడూ ట్రాక్ చేస్తుంది. DS1307, DS3231 వంటి అనేక రకాల RTC IC లు అందుబాటులో ఉన్నాయి.
మేము ఇంతకుముందు ఇతర మైక్రోకంట్రోలర్లతో RTC ని దిగువ ప్రాజెక్టులలో ఉపయోగించాము:
గమనిక: ఈ మాడ్యూల్ను మొదటిసారి ఉపయోగిస్తున్నప్పుడు మీరు తేదీ మరియు సమయాన్ని సెట్ చేయాలి. మీరు RTC IC DS1307 ను కూడా ఉపయోగించవచ్చు, మేము ఇంతకుముందు DS1307 ను Arduino తో ఉపయోగించాము.
DS3231 RTC ని MSP430 తో కనెక్ట్ చేస్తోంది:
MSP430 మైక్రోకంట్రోలర్ ఆధారిత డిజిటల్ గడియారం కోసం సర్క్యూట్ రేఖాచిత్రం క్రింద ఇవ్వబడింది. ఇంతకుముందు చెప్పినట్లుగా, DS2231 I2C కమ్యూనికేషన్ సహాయంతో పనిచేస్తుంది కాబట్టి దీనికి సీరియల్ క్లాక్ (SCL) మరియు సీరియల్ డేటా (SDA) పిన్ ఉంటుంది, ఇది మా MSP430 లోని I2C పిన్లతో అనుసంధానించబడి ఉండాలి, ఇది పిన్ 9 (పిన్ 2.1, ఎస్సీఎల్) మరియు పిన్ 10 (పిన్ 2.2, ఎస్డిఎ).
MSP430 3.3V Vcc ఇస్తుంది, కాని దానిని LCD మరియు RTC మాడ్యూల్తో కనెక్ట్ చేయడానికి మాకు 5V అవసరం. కాబట్టి, మేము ఒక హాక్ని ఉపయోగిస్తాము, యుఎస్బి కేబుల్ కనెక్టర్ దగ్గర టిపి 1 పేరుతో ఒక జంపర్ అందుబాటులో ఉంది. మీరు అక్కడ నుండి 5 వి తీసుకోవచ్చు.
సర్క్యూట్ రేఖాచిత్రం:
ఆర్టీసీ మాడ్యూల్ కోసం ప్రోగ్రామింగ్ MSP430:
ఇక్కడ మేము ప్రోగ్రామింగ్ కోసం ఎనర్జియా IDE ని ఉపయోగిస్తున్నాము. ఇది Arduino IDE వలె ఉంటుంది మరియు ఉపయోగించడానికి సులభం. మీరు MSP మరియు ఎనర్జీయాకు క్రొత్తగా ఉంటే, ఎనర్జియా IDE ని ఉపయోగించి MSP తో ప్రారంభించడం ద్వారా వెళ్ళండి. RTC మాడ్యూల్ను ఇంటర్ఫేస్ చేయడానికి ఈ బోర్డు కోసం మాకు లైబ్రరీ అవసరం. ఈ లింక్ నుండి RTC లైబ్రరీని డౌన్లోడ్ చేసి, దాన్ని ఇన్స్టాల్ చేయండి.
మాకు వైర్ (I2C కమ్యూనికేషన్ కోసం ఉపయోగిస్తారు) మరియు ఎనర్జియా IDE లో ముందే ఇన్స్టాల్ చేయబడిన లిక్విడ్ క్రిస్టల్ లైబ్రరీలు కూడా అవసరం.
ఈ MSP430 డిజిటల్ గడియారం కోసం పూర్తి కోడ్ ఈ వ్యాసం చివరిలో ఇవ్వబడింది. కోడ్ సరళమైనది మరియు సులభంగా అర్థమయ్యేది. ఇక్కడ మేము దానిలోని కొన్ని భాగాలను వివరిస్తున్నాము.
మొదట, మేము అవసరమైన లైబ్రరీలను చేర్చాలి.
RTC మాడ్యూల్ మరియు MSP430 మధ్య I2C కమ్యూనికేషన్ కోసం లైబ్రరీ క్రింద ఉంది. ఈ లైబ్రరీలో SDA మరియు SCK పిన్స్ ఇప్పటికే నిర్వచించబడ్డాయి, కాబట్టి మేము ఈ పిన్లను విడిగా ప్రకటించాల్సిన అవసరం లేదు.
# చేర్చండి
అప్పుడు మేము RTC గడియారం కోసం RTClib.h లైబ్రరీని మరియు LCD ఫంక్షన్ల కొరకు LiquidCrystal.h ని చేర్చాము .
# చేర్చండి "RTClib.h" # చేర్చండి
దీని తరువాత, మన RTC మాడ్యూల్ను ప్రారంభించడానికి ఒక ఉదాహరణను సృష్టించాలి.
RTC_DS3231 rtc;
అప్పుడు పరిమాణం 7 యొక్క శ్రేణిని తయారు చేసి, ఏడు రోజులను దాని పేరుతో నిల్వ చేయండి.
char daysOfTheWeek = Sunday "ఆదివారం", "సోమవారం", "మంగళవారం", "బుధవారం", "గురువారం", "శుక్రవారం", "శనివారం"};
LCD డిస్ప్లే ఉపయోగించాల్సిన MSP430 యొక్క పిన్స్ డిక్లరేషన్ ఇక్కడ ఉంది: (RS (P2.0), EN (P1.4), D4 (P1.5), D5 (P2.3), D6 (P2.4), D7 (పి 2.5))
లిక్విడ్ క్రిస్టల్ ఎల్సిడి (8, 6, 7,11,12,13);
లో గర్జన సెటప్ () , మేము LCD స్క్రీన్ మరియు ఆర్టీసీ ఇంటర్ఫేస్ initialized మరియు ప్రదర్శన యొక్క కొలతలు (వెడల్పు మరియు ఎత్తు) పేర్కొన్న, చేసిన ప్రారంభం ()
ఏ ఇతర లైబ్రరీ ఆదేశాలను ముందు అని అవసరం.
శూన్య సెటప్ () { lcd.begin (16, 2); lcd.setCursor (3,0); lcd.print ("RTC క్లాక్"); ఆలస్యం (3000); lcd.clear (); rtc.begin (); // rtc.adjust (డేట్టైమ్ (F (__ DATE__), F (__ TIME__))); }
ఇప్పుడు, ప్రదర్శనలో చూపిన సమయం సరైనది కాని సమస్య ఉంది, మీరు మీ మైక్రోకంట్రోలర్ను పున art ప్రారంభించిన / రీసెట్ చేసిన ప్రతిసారీ, మీరు కోడ్ను అప్లోడ్ చేసిన సమయాన్ని LCD చూపుతుంది. ఎందుకంటే rtc.adjust () ఫంక్షన్ మీ కంప్యూటర్ సమయాన్ని నిల్వ చేస్తుంది, కాబట్టి మీరు రీసెట్ చేసినప్పుడు, అది ఆ సమయంతో మొదలవుతుంది.
ఈ సమస్యను పరిష్కరించడానికి, మొదట ప్రోగ్రామ్ను rtc.adjust () ఫంక్షన్తో అప్లోడ్ చేయండి. అప్పుడు, వెంటనే అదే పంక్తిని వ్యాఖ్యానించండి మరియు ప్రోగ్రామ్ను మళ్లీ అప్లోడ్ చేయండి. ఇప్పుడు, మీ తేదీ మరియు సమయం సెట్ చేయబడింది మరియు మైక్రోకంట్రోలర్ను రీసెట్ చేయడం ద్వారా ప్రభావితం కాదు.
లో లూప్ ఫంక్షన్ మేము ముందే వేరియబుల్ అని ఆర్టీసీ మాడ్యూల్ మరియు స్టోర్ నుండి తేదీ మరియు సమయం పడుతుంది ఇప్పుడు మరియు ఉపయోగించి LCD ప్రదర్శించవచ్చు lcd.print () ఫంక్షన్.
void loop () { డేట్టైమ్ ఇప్పుడు = rtc.now (); lcd.clear (); lcd.setCursor (3,0); lcd.print (now.day (), DEC); lcd.print ("/");…. …….
పూర్తి కోడ్ మరియు వీడియో క్రింద ఇవ్వబడింది.