మొబైల్ ఫోన్ శతాబ్దం యొక్క విప్లవాత్మక ఆవిష్కరణ. ఇది ప్రధానంగా కాల్స్ & టెక్స్ట్ సందేశాలను చేయడానికి మరియు స్వీకరించడానికి రూపొందించబడింది, అయితే స్మార్ట్ ఫోన్ చిత్రంలోకి వచ్చిన తర్వాత ఇది మొత్తం ప్రపంచంగా మారింది. ఈ ప్రాజెక్ట్లో మేము ఒక ఇంటి ఆటోమేషన్ వ్యవస్థను నిర్మిస్తున్నాము, ఇక్కడ ఒక గృహోపకరణాలను నియంత్రించవచ్చు, సాధారణ GSM ఆధారిత ఫోన్ను ఉపయోగించి, తన ఫోన్ ద్వారా SMS పంపడం ద్వారా. ఈ ప్రాజెక్ట్లో, స్మార్ట్ ఫోన్ అవసరం లేదు, పాత GSM ఫోన్ ఎక్కడి నుండైనా, ఏదైనా ఇంటి ఎలక్ట్రానిక్ ఉపకరణాలను ఆన్ మరియు ఆఫ్ చేయడానికి పనిచేస్తుంది. మీరు ఇక్కడ మరికొన్ని వైర్లెస్ హోమ్ ఆటోమేషన్ ప్రాజెక్ట్లను కూడా తనిఖీ చేయవచ్చు: ఆర్డునో ఉపయోగించి ఐఆర్ రిమోట్ కంట్రోల్డ్ హోమ్ ఆటోమేషన్, బ్లూటూత్ కంట్రోల్డ్ హోమ్ ఆటోమేషన్తో పాటు డిటిఎంఎఫ్ బేస్డ్ హోమ్ ఆటోమేషన్, పిసి కంట్రోల్డ్ హోమ్ ఆటోమేషన్ ఆర్డునో ఉపయోగించి.
పని వివరణ
ఈ ప్రాజెక్ట్లో, మొత్తం ప్రక్రియను నియంత్రించడానికి Arduino ఉపయోగించబడుతుంది. ఇక్కడ మేము గృహోపకరణాలను నియంత్రించడానికి GSM వైర్లెస్ కమ్యూనికేషన్ను ఉపయోగించాము. AC గృహోపకరణాలను నియంత్రించడానికి మేము “# A.light on *”, “# A.light off *” వంటి కొన్ని ఆదేశాలను పంపుతాము. GSM ద్వారా Arduino ఇచ్చిన ఆదేశాలను స్వీకరించిన తరువాత, Arduino రిలే డ్రైవర్ను ఉపయోగించి గృహోపకరణాలను ఆన్ లేదా ఆఫ్ చేయడానికి రిలేలకు సిగ్నల్ పంపుతుంది.
సర్క్యూట్ భాగాలు:
- ఆర్డునో UNO
- GSM మాడ్యూల్
- ULN2003
- రిలే 5 వోల్ట్
- హోల్డర్తో బల్బ్
- వైర్లను కనెక్ట్ చేస్తోంది
- బ్రెడ్ బోర్డు
- 16x2 LCD
- విద్యుత్ పంపిణి
- సెల్ ఫోన్
ఇక్కడ మనం “#A” అనే కమాండ్ స్ట్రింగ్లో ఉపసర్గను ఉపయోగించాము. ప్రధాన ఉపదేశం దాని ప్రక్కన వస్తోందని గుర్తించడానికి ఈ ఉపసర్గ ఉపయోగించబడుతుంది మరియు * స్ట్రింగ్ చివరిలో సందేశం ముగిసినట్లు సూచిస్తుంది.
మేము మొబైల్ ద్వారా GSM మాడ్యూల్కు SMS పంపినప్పుడు, GSM ఆ SMS ను స్వీకరించి Arduino కి పంపుతుంది. ఇప్పుడు Arduino ఈ SMS ను చదివి, అందుకున్న స్ట్రింగ్ మరియు స్టోర్ల నుండి ప్రధాన ఆదేశాన్ని వేరియబుల్లో సేకరించండి. దీని తరువాత, ఆర్డునో ఈ స్ట్రింగ్ను ముందే నిర్వచించిన స్ట్రింగ్తో పోల్చండి. మ్యాచ్ జరిగితే, ఆర్డునో గృహోపకరణాలను ఆన్ మరియు ఆఫ్ చేయడానికి రిలే డ్రైవర్ ద్వారా రిలేకి సిగ్నల్ పంపుతుంది. మరియు సాపేక్ష ఫలితం తగిన ఆదేశాలను ఉపయోగించి 16x2 LCD లో ప్రింట్ చేస్తుంది.
ఇక్కడ ఈ ప్రాజెక్ట్లో మేము అభిమాని, కాంతి మరియు టీవీని సూచించే ప్రదర్శన కోసం 3 జీరో వాట్ బల్బును ఉపయోగించాము.
అభిమాని, కాంతి మరియు టీవీని ఆన్ మరియు ఆఫ్ చేయడానికి SMS ద్వారా మేము పంపే సందేశాల జాబితా క్రింద ఉంది:
ఎస్.నో. |
సందేశం |
ఆపరేషన్ |
1 |
# A.fan ఆన్ * |
అభిమాని ఆన్ |
2 |
# A. ఫ్యాన్ ఆఫ్ * |
అభిమాని ఆఫ్ |
3 |
# A. లైట్ ఆన్ * |
లైట్ ఆన్ చేయండి |
4 |
# A. లైట్ ఆఫ్ * |
లైట్ ఆఫ్ |
5 |
# A.tv ఆన్ * |
టీవీ ఆన్ |
6 |
# A.tv ఆఫ్ * |
టీవీ ఆఫ్ |
7 |
# A.all on * |
అన్నీ ఆన్లో ఉన్నాయి |
8 |
# A. అన్ని ఆఫ్ * |
అన్ని ఆఫ్ |
GSM మాడ్యూల్:
GSM (గ్లోబల్ కమ్యూనికేషన్ ఫర్ మొబైల్ కమ్యూనికేషన్స్) టెక్నాలజీపై ఆధారపడిన అనేక కమ్యూనికేషన్ పరికరాల్లో GSM మాడ్యూల్ ఉపయోగించబడుతుంది. ఇది కంప్యూటర్ ఉపయోగించి GSM నెట్వర్క్తో సంభాషించడానికి ఉపయోగించబడుతుంది. GSM మాడ్యూల్ AT ఆదేశాలను మాత్రమే అర్థం చేసుకుంటుంది మరియు తదనుగుణంగా స్పందించగలదు. చాలా ప్రాథమిక ఆదేశం “AT”, GSM సరే స్పందిస్తే అది బాగా పనిచేస్తుంది లేకపోతే అది “ERROR” తో స్పందిస్తుంది. కాల్కు సమాధానం ఇవ్వడానికి ATA, కాల్ డయల్ చేయడానికి ATD, సందేశాన్ని చదవడానికి AT + CMGR, SMS పంపడానికి AT + CMGS వంటి వివిధ AT ఆదేశాలు ఉన్నాయి. AT ఆదేశాలను క్యారేజ్ రిటర్న్ అనగా \ r (హెక్స్లో 0D), “AT + CMGS \ r” వంటిది. ఈ ఆదేశాలను ఉపయోగించి మేము GSM మాడ్యూల్ను ఉపయోగించవచ్చు:
ATE0 - ఎకో ఆఫ్ కోసం
AT + CNMI = 2,2,0,0,0
ATD
AT + CMGF = 1
AT + CMGS = ”మొబైల్ నంబర్”
ఇప్పుడు మన సందేశాన్ని వ్రాయవచ్చు
>> సందేశం రాసిన తరువాత
Ctrl + Z సందేశ సందేశాన్ని పంపండి (దశాంశంలో 26).
HEX లో ENTER = 0x0d
SIM900 పూర్తి క్వాడ్-బ్యాండ్ GSM / GPRS మాడ్యూల్ GSM / అందిస్తాడు GPRS 850/900/1800 / 1900MHz వాయిస్, SMS మరియు తక్కువ శక్తి వినియోగం తో డేటా కోసం ప్రదర్శన.
సర్క్యూట్ వివరణ
ఈ GSM ఆధారిత హోమ్ ఆటోమేషన్ సర్క్యూట్ యొక్క కనెక్షన్లు చాలా సులభం, ఇక్కడ 4-బిట్ మోడ్లో ఆర్డునోతో నేరుగా అనుసంధానించబడిన గృహోపకరణాల స్థితిని ప్రదర్శించడానికి ద్రవ క్రిస్టల్ ప్రదర్శన ఉపయోగించబడుతుంది. RS, EN, D4, D5, D6, D7 యొక్క LCD యొక్క డేటా పిన్స్ arduino డిజిటల్ పిన్ నంబర్ 6, 7, 8, 9, 10, 11 తో అనుసంధానించబడి ఉన్నాయి. మరియు GSM మాడ్యూల్ యొక్క Rx మరియు Tx పిన్ నేరుగా Tx మరియు Rx వద్ద అనుసంధానించబడి ఉన్నాయి వరుసగా ఆర్డునో యొక్క పిన్. మరియు GSM మాడ్యూల్ 12 వోల్ట్ అడాప్టర్ ఉపయోగించి శక్తిని పొందుతుంది. లైట్, ఫ్యాన్ మరియు టీవీని నియంత్రించడానికి 5 వోల్ట్ ఎస్పిడిటి 3 రిలేలను ఉపయోగిస్తారు. మరియు లైట్లను వరుసగా లైట్, ఫ్యాన్ మరియు టీవీని నియంత్రించడానికి రిలే డ్రైవర్ ULN2003 ద్వారా ఆర్డునో పిన్ నంబర్ 3, 4 మరియు 5 లకు అనుసంధానించబడి ఉంది.
కోడ్ వివరణ
ఈ ప్రాజెక్ట్ యొక్క ప్రోగ్రామింగ్ భాగంలో, మొదట ప్రోగ్రామింగ్లో మేము లిక్విడ్ క్రిస్టల్ డిస్ప్లే కోసం లైబ్రరీని కలిగి ఉన్నాము మరియు తరువాత మేము ఎల్సిడి మరియు గృహోపకరణాల కోసం డేటా మరియు కంట్రోల్ పిన్లను నిర్వచిస్తాము.
# చేర్చండి
ఈ సీరియల్ కమ్యూనికేషన్ 9600 బిపిఎస్ వద్ద ప్రారంభించబడిన తరువాత మరియు ఉపయోగించిన పిన్కు దిశను ఇస్తుంది.
శూన్య సెటప్ () {lcd.begin (16,2); సీరియల్.బెగిన్ (9600); పిన్మోడ్ (దారితీసింది, OUTPUT); పిన్మోడ్ (అభిమాని, అవుట్పుట్); పిన్ మోడ్ (లైట్, U ట్పుట్); పిన్మోడ్ (టీవీ, అవుట్పుట్);
డేటాను సీరియల్గా స్వీకరించడానికి మేము రెండు ఫంక్షన్లను ఉపయోగించాము, ఒకటి సీరియల్. అందుబాటులో ఉంది, ఇది ఏదైనా సీరియల్ డేటా వస్తోందో లేదో తనిఖీ చేస్తుంది మరియు మరొకటి సీరియల్.రెడ్, ఇది సీరియల్గా వచ్చే డేటాను చదువుతుంది.
అయితే (Serial.available ()) {char inChar = Serial.read ();
డేటాను సీరియల్గా స్వీకరించిన తరువాత మేము దానిని స్ట్రింగ్లో నిల్వ చేసి ఎంటర్ కోసం వేచి ఉన్నాము.
void serialEvent () {అయితే (Serial.available ()) {if (Serial.find ("# A.")) {DigitalWrite (led, HIGH); ఆలస్యం (1000); డిజిటల్ రైట్ (దారితీసింది, తక్కువ); అయితే (Serial.available ()) {char inChar = Serial.read (); str = inChar; if (inChar == '*') {temp = 1; తిరిగి; }
ఎంటర్ వచ్చినప్పుడు ప్రోగ్రామ్ అందుకున్న స్ట్రింగ్ను ఇప్పటికే నిర్వచించిన స్ట్రింగ్తో పోల్చడం ప్రారంభిస్తుంది మరియు స్ట్రింగ్ సరిపోలితే కోడ్లో ఇవ్వబడిన తగిన ఆదేశాన్ని ఉపయోగించి సాపేక్ష ఆపరేషన్ జరుగుతుంది.
void check () {if (! (strncmp (str, "tv on", 5%)) {DigitalWrite (TV, HIGH); lcd.setCursor (13,1); lcd.print ("ఆన్"); ఆలస్యం (200); } else if (! (strncmp (str, "tv off", 6%)) {DigitalWrite (TV, LOW); lcd.setCursor (13,1); lcd.print ("ఆఫ్"); ఆలస్యం (200); }