முந்தைய டுடோரியல்களில், கணினியுடன் ஜி.பி.எஸ் தொகுதியை எவ்வாறு இடைமுகப்படுத்துவது மற்றும் ஜி.எஸ்.எம் மற்றும் ஜி.பி.எஸ் பயன்படுத்தி வாகனத்தை எவ்வாறு கண்காணிப்பது என்பது பற்றி அறிந்து கொண்டோம். ஆர்டுயினோ மற்றும் முடுக்க மானியைப் பயன்படுத்தி வாகன விபத்து எச்சரிக்கை அமைப்பையும் உருவாக்கினோம். இங்கே நாங்கள் மீண்டும் அதே திட்டத்தை உருவாக்குகிறோம், ஆனால் இந்த முறை வாகன விபத்தை கண்டறிய ஒரு MSP430 லான்ஸ்பேட் மற்றும் அதிர்வு சென்சார் பயன்படுத்தப்படும். எனவே இந்த திட்டம் MSP430 லான்ஸ்பேடில் ஒரு அதிர்வு சென்சார் இடைமுகப்படுத்துவது பற்றியும் சொல்லும். மேலும் MSP430 திட்டங்களை இங்கே காணலாம்.
இங்கே அதிர்வு சென்சார் தொகுதி வாகனத்தின் அதிர்வுகளைக் கண்டறிந்து MSP430 Launchpad க்கு ஒரு சமிக்ஞையை அனுப்புகிறது. MSP430 ஜி.பி.எஸ் தொகுதியிலிருந்து தரவைப் பெற்று ஜி.எஸ்.எம் தொகுதியைப் பயன்படுத்தி எஸ்.எம்.எஸ் வழியாக பயனர் மொபைல் தொலைபேசியில் அனுப்புகிறது. ஒரு எல்.ஈ.டி ஆக்சிடென்ட் அலர்ட் சிக்னலாக ஒளிரும், இந்த எல்.ஈ.டி சில அலாரத்தால் மாற்றப்படலாம். விபத்து நடந்த இடம் கூகிள் மேப் இணைப்பு வடிவத்தில் அனுப்பப்படுகிறது, இது அட்சரேகை மற்றும் தீர்க்கரேகை ஆகியவற்றிலிருந்து ஜி.பி.எஸ் தொகுதியிலிருந்து பெறப்படுகிறது. டெமோ வீடியோவை இறுதியில் காண்க.
![]()
ஜி.பி.எஸ் தொகுதி கண்காணிப்பு நிலை தொடர்பான தரவை நிகழ்நேரத்தில் அனுப்புகிறது, மேலும் இது பல தரவுகளை என்.எம்.இ.ஏ வடிவத்தில் அனுப்புகிறது (கீழே உள்ள ஸ்கிரீன் ஷாட்டைப் பார்க்கவும்). NMEA வடிவத்தில் பல வாக்கியங்கள் உள்ளன, இதில் நமக்கு ஒரு வாக்கியம் மட்டுமே தேவை. இந்த வாக்கியம் $ GPGGA இலிருந்து தொடங்குகிறது மற்றும் ஆயத்தொகுப்புகள், நேரம் மற்றும் பிற பயனுள்ள தகவல்களைக் கொண்டுள்ளது. இந்த ஜிபிஜிஜிஏ உலகளாவிய நிலைப்படுத்தல் அமைப்பு திருத்த தரவுக்கு குறிப்பிடப்படுகிறது. என்.எம்.இ.ஏ வாக்கியங்கள் மற்றும் ஜி.பி.எஸ் தரவைப் படித்தல் பற்றி மேலும் அறிக.
சரத்தில் உள்ள கமாக்களை எண்ணுவதன் மூலம் நாம் $ GPGGA சரத்திலிருந்து ஒருங்கிணைப்பைப் பிரித்தெடுக்க முடியும். நீங்கள் $ ஜிபிஜிஜிஏ சரத்தைக் கண்டுபிடித்து அதை ஒரு வரிசையில் சேமித்து வைப்பீர்கள் என்று வைத்துக்கொள்வோம், பின்னர் இரண்டு கமாக்களுக்குப் பிறகு அட்சரேகை கண்டுபிடிக்கப்படலாம் மற்றும் நான்கு காற்புள்ளிகளுக்குப் பிறகு தீர்க்கரேகை கண்டுபிடிக்கப்படலாம். இப்போது, இந்த அட்சரேகை மற்றும் தீர்க்கரேகை மற்ற வரிசைகளில் வைக்கப்படலாம்.

விளக்கத்துடன் $ GPGGA சரம் கீழே உள்ளது:
$ GPGGA, 104534.000,7791.0381, N, 06727.4434, E, 1,08,0.9,510.4, M, 43.9, M,, * 47 $ GPGGA, HHMMSS.SSS, அட்சரேகை, N, தீர்க்கரேகை, E, FQ, NOS, HDP, உயரம், எம், உயரம், எம்,, செக்சம் தரவு
|
அடையாளங்காட்டி |
விளக்கம் |
|
$ GPGGA |
குளோபல் பொசிஷனிங் சிஸ்டம் தரவை சரிசெய்கிறது |
|
HHMMSS.SSS |
மணிநேர நிமிட வினாடிகள் மற்றும் மில்லி விநாடிகள் வடிவத்தில் நேரம். |
|
அட்சரேகை |
அட்சரேகை (ஒருங்கிணைப்பு) |
|
என் |
திசை N = வடக்கு, எஸ் = தெற்கு |
|
தீர்க்கரேகை |
தீர்க்கரேகை (ஒருங்கிணைப்பு) |
|
இ |
திசை E = கிழக்கு, W = மேற்கு |
|
FQ |
தரமான தரவை சரிசெய்யவும் |
|
NOS |
பயன்படுத்தப்படும் செயற்கைக்கோள்களின் எண்ணிக்கை |
|
HDP |
துல்லியத்தின் கிடைமட்ட நீக்கம் |
|
உயரம் |
உயரம் (கடல் மட்டத்திலிருந்து மீட்டர் மேலே) |
|
எம் |
மீட்டர் |
|
உயரம் |
உயரம் |
|
செக்சம் |
செக்சம் தரவு |
ஜிஎஸ்எம் தொகுதி
SIM900 என்பது ஒரு முழுமையான குவாட்-பேண்ட் ஜிஎஸ்எம் / ஜிபிஆர்எஸ் தொகுதி, இது வாடிக்கையாளர் அல்லது பொழுதுபோக்கால் எளிதில் பயன்படுத்தப்படலாம். SIM900 GSM தொகுதி ஒரு தொழில்-தரமான இடைமுகத்தை வழங்குகிறது. SIM900 குரல், எஸ்எம்எஸ், குறைந்த மின் நுகர்வு கொண்ட தரவு ஆகியவற்றிற்கான ஜிஎஸ்எம் / ஜிபிஆர்எஸ் 850/900/1800/1900 மெகா ஹெர்ட்ஸ் செயல்திறனை வழங்குகிறது. இது சந்தையில் எளிதாகக் கிடைக்கும்.
- AMR926EJ-S கோரை ஒருங்கிணைக்கும் ஒற்றை-சிப் செயலியைப் பயன்படுத்தி வடிவமைக்கப்பட்ட SIM900
- குவாட்-பேண்ட் ஜிஎஸ்எம் / ஜிபிஆர்எஸ் தொகுதி சிறிய அளவில்.
- GPRS இயக்கப்பட்டது
![]()
AT கட்டளைகள்
AT என்றால் ATTENTION. இந்த கட்டளை ஜிஎஸ்எம் தொகுதியைக் கட்டுப்படுத்தப் பயன்படுகிறது. எங்கள் முந்தைய ஜிஎஸ்எம் திட்டங்களில் ஆர்டுயினோவுடன் நாங்கள் பயன்படுத்திய அழைப்பு மற்றும் செய்தி அனுப்ப சில கட்டளைகள் உள்ளன. ஜிஎஸ்எம் தொகுதியை சோதிக்க நாங்கள் AT கட்டளையைப் பயன்படுத்தினோம். AT கட்டளையைப் பெற்ற பிறகு ஜிஎஸ்எம் தொகுதி சரி என்று பதிலளிக்கவும். இதன் பொருள் ஜிஎஸ்எம் தொகுதி நன்றாக வேலை செய்கிறது. இந்த திட்டத்தில் நாங்கள் இங்கு பயன்படுத்திய சில AT கட்டளைகள் கீழே:
ATE0 எதிரொலிக்க
AT + CNMI = 2,2,0,0,0
ATD
AT + CMGF = 1
AT + CMGS = ”மொபைல் எண்”
இப்போது நம் செய்தியை எழுதலாம்
ஒரு செய்தி எழுதிய பிறகு
Ctrl + Z செய்தி கட்டளையை அனுப்புகிறது (தசமத்தில் 26).
HEX இல் ENTER = 0x0d
(ஜிஎஸ்எம் தொகுதி பற்றி மேலும் அறிய, பல்வேறு மைக்ரோகண்ட்ரோலர்களுடன் எங்கள் பல்வேறு ஜிஎஸ்எம் திட்டங்களை இங்கே சரிபார்க்கவும்)
அதிர்வு சென்சார் தொகுதி
இந்த MSP430 விபத்து எச்சரிக்கை அமைப்பு திட்டத்தில், அதிர்வுகளை அல்லது திடீர் மாடுலேஷன்களைக் கண்டறியும் அதிர்வு சென்சார் தொகுதியைப் பயன்படுத்தினோம். அதிர்வு சென்சார் தொகுதி ஒரு டிஜிட்டல் வெளியீட்டை உயர் / குறைந்த தர்க்கத்தை தொகுதியைப் பொறுத்து வழங்குகிறது. எங்கள் விஷயத்தில், செயலில் உள்ள உயர் தர்க்க அதிர்வு சென்சார் தொகுதியைப் பயன்படுத்தினோம். அதிர்வு சென்சார் அதிர்வுகளைக் கண்டறியும் போதெல்லாம் அது மைக்ரோகண்ட்ரோலருக்கு உயர் தர்க்கத்தைக் கொடுக்கும்.
![]()
சுற்று விளக்கம்
இந்த வாகன விபத்து எச்சரிக்கை அமைப்பு திட்டத்தின் சுற்று இணைப்புகள் எளிது. இங்கே ஜி.பி.எஸ் தொகுதியின் டிஎக்ஸ் முள் எம்எஸ்பி 430 லாஞ்ச்பேட்டின் (வன்பொருள் சீரியல்) டிஜிட்டல் முள் எண் பி 1_1 உடன் நேரடியாக இணைக்கப்பட்டுள்ளது மற்றும் ஜிபிஎஸ் தொகுதிக்கு சக்தி அளிக்க 5 வி பயன்படுத்தப்படுகிறது. இங்கே மென்பொருள் சீரியல் நூலகத்தைப் பயன்படுத்துவதன் மூலம், முள் P_6 மற்றும் P1_7 இல் தொடர் தகவல்தொடர்புக்கு அனுமதித்தோம், மேலும் அவற்றை முறையே Rx மற்றும் Tx ஆக்கி ஜிஎஸ்எம் தொகுதிடன் இணைக்கிறோம். ஜிஎஸ்எம் தொகுதிக்கு சக்தி அளிக்க வோல்ட் சப்ளை பயன்படுத்தப்படுகிறது. அதிர்வு சென்சார் P1_3 இணைக்கப்பட்டுள்ளன. விபத்து கண்டறிதலைக் குறிக்க எல்.ஈ.டி பயன்படுத்தப்படுகிறது. மீதமுள்ள இணைப்புகள் சுற்று வரைபடத்தில் காட்டப்பட்டுள்ளன.
![]()
![]()
நிரலாக்க விளக்கம்
ஜி.பி.எஸ் பகுதியைத் தவிர இந்த திட்டத்திற்கான நிரலாக்க எளிதானது. திட்டத்தின் முடிவில் முழுமையான குறியீடு கொடுக்கப்பட்டுள்ளது. MSP430 இல் குறியீட்டை எழுத அல்லது தொகுக்க நாங்கள் எனர்ஜியா ஐடிஇயைப் பயன்படுத்தினோம், இது ஆர்டுயினோ இணக்கமானது. Arduino IDE செயல்பாட்டின் பெரும்பகுதி இந்த எனர்ஜியா IDE இல் நேரடியாகப் பயன்படுத்தப்படலாம்.
எனவே முதலில் நாம் தேவையான நூலகங்களையும், அறிவிக்கப்பட்ட முள் மற்றும் மாறிகளையும் சேர்த்துள்ளோம்.
#சேர்க்கிறது
அதிர்வு சென்சார் சமிக்ஞையைப் படிக்க கொடுக்கப்பட்ட செயல்பாடு பயன்படுத்தப்படுகிறது. இந்த செயல்பாடு சிறிய அல்லது தவறான அதிர்வுகளையும் வடிகட்டும்.
# count_max 25 char SensorRead (int pin) ஐ வரையறுக்கவும் // sw with debounce { char count_low = 0, count_high = 0; செய்ய { தாமதம் (1); if (DigitalRead (pin) == HIGH) { count_high ++; count_low = 0; } else { count_high = 0; count_low ++; } } போது (count_low <count_max && count_high <count_max); (count_low> = count_max) குறைவாக திரும்பினால்; வேறு திரும்பவும்; }
செயல்பாடு கீழே அதிர்வு கண்டறிந்து அழைப்பு gpsEvent () பெற செயல்பாடு ஜிபிஎஸ் ஒருங்கிணைக்க மற்றும் இறுதியாக அழைக்க அனுப்புக () எஸ்எம்எஸ் அனுப்ப செயல்பாடு.
void loop () { if (SensorRead (அதிர்வுசென்சர்) == HIGH) { DigitalWrite (led, HIGH); gpsEvent (); அனுப்பு(); டிஜிட்டல்ரைட் (தலைமையிலான, குறைந்த); தாமதம் (2000); } }
கொடுக்கப்பட்ட செயல்பாடு ஜி.பி.எஸ் தொகுதியிலிருந்து ஜி.பி.எஸ் சரங்களை பெறுவதற்கும், அவற்றிலிருந்து ஆயங்களை பிரித்தெடுப்பதற்கும் அவற்றை டிகிரி-தசம வடிவத்தில் மாற்றுவதற்கும் பொறுப்பாகும்.
வெற்றிட gpsEvent () { char gpsString; கரி சோதனை = "ஆர்எம்சி"; i = 0; (1) { போது (Serial.available ()) // ஜி.பி.எஸ் { char inChar = (char) Serial.read () இலிருந்து தொடர் உள்வரும் தரவு ; gpsString = inChar; // ஜி.பி.எஸ் முதல் தற்காலிக சரம் str i ++ வரை உள்வரும் தரவை சேமிக்கவும் ; if (i <4) { if (gpsString! = test) // சரியான சரம் சரிபார்க்கவும் i = 0; }
முழு பட்டம் = 0; பட்டம் = gpsString-48; பட்டம் * = 10; பட்டம் + = gpsString-48; int minut_int = 0; minut_int = gpsString-48; minut_int * = 10; minut_int + = gpsString-48; int minut_dec = 0; minut_dec + = (gpsString-48) * 10000; minut_dec + = (gpsString-48) * 1000; minut_dec + = (gpsString-48) * 100; minut_dec + = (gpsString-48) * 10; minut_dec + = (gpsString-48); float minut = ((மிதவை) minut_int + ((மிதவை) minut_dec / 100000.0%)) / 60.0; அட்சரேகை = ((மிதவை) பட்டம் + நிமிடம்);
இறுதியாக, குறியீட்டின் இந்த பகுதியில் செருகப்பட்ட பயனர் எண்ணுக்கு எஸ்எம்எஸ் அனுப்ப அனுப்ப () செயல்பாடு பயன்படுத்தப்படுகிறது.
void Send () { GSM.print ("AT + CMGS ="); GSM.print ('"'); GSM.print (" 961 **** 059 "); // உங்கள் மொபைல் எண்ணை உள்ளிடவும் GSM.println ('"'); தாமதம் (500); // ஜி.எஸ்.எம்.பிரிண்ட் ("அட்சரேகை:"); // GSM.println (அட்சரேகை); GSM.println ("விபத்து நடந்தது"); தாமதம் (500); // ஜி.எஸ்.எம்.பிரிண்ட் ("தீர்க்கரேகை:"); // GSM.println (தீர்க்கரேகை); GSM.println ("இருப்பிடத்தைக் காண இணைப்பைக் கிளிக் செய்க"); GSM.print ("http://maps.google.com/maps?&z=15&mrt=yp&t=k&q="); ஜி.எஸ்.எம்.பிரிண்ட் (அட்சரேகை, 6); GSM.print ("+"); ஜி.எஸ்.எம்.பிரிண்ட் (லாஜிட்யூட், 6); ஜி.எஸ்.எம்.ரைட் (26); தாமதம் (4000); }
முழுமையான குறியீடு மற்றும் டெமோ வீடியோ கீழே கொடுக்கப்பட்டுள்ளது, நீங்கள் குறியீட்டில் உள்ள அனைத்து செயல்பாடுகளையும் சரிபார்க்கலாம்.
