- கூறுகள் தேவை
- ஜி.பி.எஸ்ஸிலிருந்து இருப்பிடத் தரவைப் பெறுதல்
- சுற்று வரைபடம்
- ஏ.வி.ஆர் மைக்ரோகண்ட்ரோலருடன் ஜி.பி.எஸ் இடைமுகத்திற்கான படிகள்
- குறியீடு விளக்கம்
தீர்க்கரேகை மற்றும் அட்சரேகை ஒருங்கிணைப்புகளின் அடிப்படையில் இருப்பிடத்தைக் கண்டறிய மின்னணு பயன்பாடுகளில் ஜி.பி.எஸ் தொகுதிகள் பரவலாகப் பயன்படுத்தப்படுகின்றன. வாகன கண்காணிப்பு அமைப்பு, ஜி.பி.எஸ் கடிகாரம், விபத்து கண்டறிதல் எச்சரிக்கை அமைப்பு, போக்குவரத்து வழிசெலுத்தல், கண்காணிப்பு அமைப்பு போன்றவை ஜி.பி.எஸ் செயல்பாடு அவசியமான சில எடுத்துக்காட்டுகள். ஒன்றுக்கும் மேற்பட்ட செயற்கைக்கோள்களிலிருந்து எடுக்கப்பட்ட குறிப்பிட்ட இருப்பிடம் பற்றிய உயரம், அட்சரேகை, தீர்க்கரேகை, யுடிசி நேரம் மற்றும் பல தகவல்களை ஜிபிஎஸ் வழங்குகிறது. ஜி.பி.எஸ்ஸிலிருந்து தரவைப் படிக்க, ஒரு மைக்ரோகண்ட்ரோலர் தேவைப்படுகிறது, எனவே இங்கே ஜி.வி.எஸ் தொகுதியை ஏ.வி.ஆர் மைக்ரோகண்ட்ரோலர் அட்மேகா 16 உடன் இணைக்கிறோம் மற்றும் 16x2 எல்சிடி டிஸ்ப்ளேயில் தீர்க்கரேகை மற்றும் அட்சரேகைகளை அச்சிடுகிறோம்.
கூறுகள் தேவை
- ஆட்மேகா 16/32
- ஜி.பி.எஸ் தொகுதி (uBlox Neo 6M GPS)
- நீண்ட கம்பி ஆண்டெனா
- 16x2 எல்சிடி
- 2.2 கே மின்தடை
- 1000uf மின்தேக்கி
- 10uF மின்தேக்கி
- இணைக்கும் கம்பி
- எல்எம் 7805
- டி.சி ஜாக்
- 12 வி டிசி அடாப்டர்
- பர்க்ஸ்டிப்ஸ்
- பிசிபி அல்லது பொது நோக்கம் பிசிபி
Ublox Neo 6M என்பது ஒரு தொடர் ஜிபிஎஸ் தொகுதி, இது தொடர் தொடர்பு மூலம் இருப்பிட விவரங்களை வழங்குகிறது. இது நான்கு ஊசிகளைக் கொண்டுள்ளது.
|
முள் |
விளக்கம் |
|
வி.சி.சி. |
2.7 - 5 வி மின்சாரம் |
|
Gnd |
தரையில் |
|
TXD |
தரவை அனுப்பவும் |
|
ஆர்.எக்ஸ்.டி |
தரவைப் பெறுக |

Ublox neo 6M GPS தொகுதி TTL இணக்கமானது மற்றும் அதன் விவரக்குறிப்புகள் கீழே கொடுக்கப்பட்டுள்ளன.
|
பிடிப்பு நேரம் |
குளிர் தொடக்க: 27 வி, சூடான தொடக்க: 1 வி |
|
தொடர்பு நெறிமுறை |
என்.எம்.இ.ஏ |
|
தொடர் தொடர்பு |
9600 பிபிஎஸ், 8 டேட்டா பிட்கள், 1 ஸ்டாப் பிட், சமநிலை இல்லை மற்றும் ஓட்டம் கட்டுப்பாடு இல்லை |
|
இயக்க மின்னோட்டம் |
45 எம்.ஏ. |
ஜி.பி.எஸ்ஸிலிருந்து இருப்பிடத் தரவைப் பெறுதல்
ஜி.பி.எஸ் தொகுதி 9600 பாட் விகிதத்தில் பல சரங்களில் தரவை அனுப்பும். 9600 பாட் வீதத்துடன் UART முனையத்தைப் பயன்படுத்தினால், ஜி.பி.எஸ் மூலம் பெறப்பட்ட தரவைக் காணலாம்.
ஜி.பி.எஸ் தொகுதி நிகழ்நேர கண்காணிப்பு நிலை தரவை என்.எம்.இ.ஏ வடிவத்தில் அனுப்புகிறது (மேலே உள்ள ஸ்கிரீன் ஷாட்டைப் பார்க்கவும்). NMEA வடிவம் பல வாக்கியங்களைக் கொண்டுள்ளது, இதில் நான்கு முக்கியமான வாக்கியங்கள் கீழே கொடுக்கப்பட்டுள்ளன. என்.எம்.இ.ஏ வாக்கியம் மற்றும் அதன் தரவு வடிவம் பற்றிய கூடுதல் விவரங்களை இங்கே காணலாம்.
- $ GPGGA: குளோபல் பொசிஷனிங் சிஸ்டம் ஃபிக்ஸ் டேட்டா
- $ ஜிபிஜிஎஸ்வி: ஜிபிஎஸ் செயற்கைக்கோள்கள் பார்வையில்
- $ ஜிபிஜிஎஸ்ஏ: ஜிபிஎஸ் டிஓபி மற்றும் செயலில் உள்ள செயற்கைக்கோள்கள்
- $ ஜி.பி.ஆர்.எம்.சி: பரிந்துரைக்கப்பட்ட குறைந்தபட்ச குறிப்பிட்ட ஜி.பி.எஸ் / டிரான்ஸிட் தரவு
ஜி.பி.எஸ் தரவு மற்றும் என்.எம்.இ.ஏ சரங்களைப் பற்றி மேலும் அறிக.
9600 பாட் விகிதத்தில் இணைக்கப்படும்போது ஜி.பி.எஸ் பெறும் தரவு இதுவாகும்.
$ GPRMC, 141848.00, A, 2237.63306, N, 08820.86316, E, 0.553,, 100418,,, A * 73 $ GPVTG,, T,, M, 0.553, N, 1.024, K, A * 27 $ GPGGA, 141848.00, 2237.63306, என், 08820.86316, இ, 1,03,2.56,1.9, எம், -54.2, எம்,, * 74 $ ஜிபிஜிஎஸ்ஏ, ஏ, 2,06,02,05,,,,,,,,, 2.75, 2.56,1.00 * 02 $ ஜிபிஜிஎஸ்வி, 1,1,04,02,59,316,30,05,43,188,25,06,44,022,23,25,03,324, * 76 $ ஜிபிஜிஎல்எல், 2237.63306, என், 08820.86316, இ, 141848.00, எ, எ * 65
எந்த இடத்தையும் கண்காணிக்க ஜி.பி.எஸ் தொகுதியைப் பயன்படுத்தும்போது, எங்களுக்கு ஆயத்தொகுப்புகள் மட்டுமே தேவை, இதை $ GPGGA சரத்தில் காணலாம். $ GPGGA (குளோபல் பொசிஷனிங் சிஸ்டம் ஃபிக்ஸ் டேட்டா) சரம் மட்டுமே பெரும்பாலும் நிரல்களில் பயன்படுத்தப்படுகிறது மற்றும் பிற சரங்கள் புறக்கணிக்கப்படுகின்றன.
$ GPGGA, 141848.00,2237.63306, N, 08820.86316, E, 1,03,2.56,1.9, M, -54.2, M,, * 74
அந்த வரியின் பொருள் என்ன?
அந்த வரியின் பொருள்: -
1. சரம் எப்போதும் “$” அடையாளத்துடன் தொடங்குகிறது
2. ஜிபிஜிஜிஏ என்பது குளோபல் பொசிஷனிங் சிஸ்டம் ஃபிக்ஸ் டேட்டாவைக் குறிக்கிறது
3. “,” கமா இரண்டு மதிப்புகளுக்கு இடையிலான பிரிவைக் குறிக்கிறது
4. 141848.00: GMT நேரம் 14 (மணி): 18 (நிமிடம்): 48 (நொடி): 00 (எம்.எஸ்)
5. 2237.63306, என்: அட்சரேகை 22 (பட்டம்) 37 (நிமிடங்கள்) 63306 (நொடி) வடக்கு
6. 08820.86316, இ: தீர்க்கரேகை 088 (பட்டம்) 20 (நிமிடங்கள்) 86316 (நொடி) கிழக்கு
7. 1: அளவு 0 = தவறான தரவு, 1 = செல்லுபடியாகும் தரவு, 2 = டிஜிபிஎஸ் பிழைத்திருத்தம்
8. 03: தற்போது பார்க்கப்பட்ட செயற்கைக்கோள்களின் எண்ணிக்கை.
9. 1.0: HDOP
10. 2.56, எம்: உயரம் (மீட்டரில் கடல் மட்டத்திலிருந்து உயரம்)
11. 1.9, எம்: ஜியோயிட்ஸ் உயரம்
12. * 74: செக்சம்
எனவே தொகுதி இருப்பிடம் அல்லது அது அமைந்துள்ள இடம் பற்றிய தகவல்களை சேகரிக்க எங்களுக்கு எண் 5 மற்றும் எண் 6 தேவை. இந்த திட்டத்தில் அட்சரேகை மற்றும் தீர்க்கரேகைகளைப் பிரித்தெடுக்க சில செயல்பாடுகளை வழங்கும் ஜி.பி.எஸ் நூலகத்தைப் பயன்படுத்தியுள்ளோம், எனவே அதைப் பற்றி நாம் கவலைப்பட வேண்டியதில்லை.
பிற மைக்ரோகண்ட்ரோலர்களுடன் முன்பு ஜி.பி.எஸ் இடைமுகம் வைத்திருக்கிறோம்:
- Arduino உடன் GPS ஐ எவ்வாறு பயன்படுத்துவது
- ராஸ்பெர்ரி பை ஜி.பி.எஸ் தொகுதி இடைமுக பயிற்சி
- பி.ஐ.சி மைக்ரோகண்ட்ரோலருடன் ஜி.பி.எஸ் தொகுதிக்கு இடைமுகம்
- Arduino, ESP8266 & GPS ஐப் பயன்படுத்தி கூகிள் வரைபடத்தில் ஒரு வாகனத்தைக் கண்காணிக்கவும்
ஜி.பி.எஸ் தொடர்பான அனைத்து திட்டங்களையும் இங்கே பாருங்கள்.
சுற்று வரைபடம்
ஏ.வி.ஆர் அட்டெம்கா 16 மைக்ரோகண்ட்ரோலருடன் ஜி.பி.எஸ் இடைமுகத்திற்கான சுற்று வரைபடம் கீழே கொடுக்கப்பட்டுள்ளது:

முழு அமைப்பும் 12 வி டிசி அடாப்டரால் இயக்கப்படுகிறது, ஆனால் சுற்றுகள் 5 வி இல் இயங்குகின்றன, எனவே மின்சாரம் 5 வி க்கு எல்எம் 7805 மின்னழுத்த சீராக்கி மூலம் கட்டுப்படுத்தப்படுகிறது. 16x2 எல்சிடி 4-பிட் பயன்முறையில் கட்டமைக்கப்பட்டுள்ளது மற்றும் அதன் முள் இணைப்புகள் சுற்று வரைபடத்தில் காட்டப்பட்டுள்ளன. ஜி.பி. மைக்ரோகண்ட்ரோலரைக் கடிகாரம் செய்ய 8 மெகா ஹெர்ட்ஸ் படிக ஆஸிலேட்டர் பயன்படுத்தப்படுகிறது.

ஏ.வி.ஆர் மைக்ரோகண்ட்ரோலருடன் ஜி.பி.எஸ் இடைமுகத்திற்கான படிகள்
- ஆஸிலேட்டர் உள்ளமைவை உள்ளடக்கிய மைக்ரோகண்ட்ரோலரின் உள்ளமைவுகளை அமைக்கவும்.
- டி.டி.ஆர் பதிவு உட்பட எல்சிடிக்கு விரும்பிய துறைமுகத்தை அமைக்கவும்.
- USART ஐப் பயன்படுத்தி ஜிபிஎஸ் தொகுதியை மைக்ரோகண்ட்ரோலருடன் இணைக்கவும்.
- 9600 பாட் வீதத்துடன் எல்சிடி மற்றும் 4 பிட் பயன்முறையில் ஐஎஸ்ஆர் பயன்முறையில் கணினி UART ஐத் தொடங்கவும்.
- அட்சரேகை மற்றும் தீர்க்கரேகைகளின் நீளத்தைப் பொறுத்து இரண்டு எழுத்து வரிசைகளை எடுத்துக் கொள்ளுங்கள்.
- ஒரு நேரத்தில் ஒரு எழுத்துக்குறியைப் பெற்று, அது from இலிருந்து தொடங்கப்பட்டதா இல்லையா என்பதைச் சரிபார்க்கவும்.
- $ பெறப்பட்டால் அது ஒரு சரம், நாம் $ ஜிபிஜிஜிஏ, இந்த 6 எழுத்துக்களை சரிபார்க்க வேண்டும்.
- இது GPGGA ஆக இருந்தால், முழுமையான சரம் பெற்று கொடிகளை அமைக்கவும்.
- அட்சரேகை மற்றும் தீர்க்கரேகைகளை இரண்டு வரிசைகளில் திசைகளுடன் பிரித்தெடுக்கவும்.
- இறுதியாக அட்சரேகை மற்றும் தீர்க்கரேகை வரிசைகளை எல்சிடியில் அச்சிடுங்கள்.

குறியீடு விளக்கம்
ஒரு ஆர்ப்பாட்டம் வீடியோவுடன் முழுமையான குறியீடு இறுதியில் கொடுக்கப்பட்டுள்ளது, இங்கே குறியீட்டின் சில முக்கியமான பகுதிகள் விளக்கப்பட்டுள்ளன.
முதலில் குறியீட்டில் தேவையான சில தலைப்புகளைச் சேர்த்து, பின்னர் எல்சிடி மற்றும் யுஆர்டி உள்ளமைவுக்கு பிட்மாஸ்கின் மேக்ரோஸை எழுதுங்கள்.
# F_CPU 8000000ul ஐ வரையறுக்கவும் # அடங்கும் # அடங்கும்
இப்போது ஜி.பி.எஸ் சரம், அட்சரேகை தீர்க்கரேகை மற்றும் கொடிகளை சேமிப்பதற்கான சில மாறிகள் மற்றும் வரிசைகளை அறிவித்து துவக்கவும்.
கரி பஃப்; கொந்தளிப்பான கரி, கொடி, சரம் பெறப்பட்டது; char gpgga = {'$', 'G', 'P', 'G', 'G', 'A'}; கரி அட்சரேகை; கரி லாஜிட்யூட்;
அதன் பிறகு எல்சிடியை இயக்க சில எல்சிடி டிரைவர் செயல்பாடு உள்ளது.
void lcdwrite (char ch, char r) { LCDPORT = ch & 0xF0; ஆர்.டபிள்யூ; if (r == 1) RSHigh; வேறு RSLow; ENHigh; _ தாமத_எம்எஸ் (1); ENLow; _ தாமத_எம்எஸ் (1); LCDPORT = ch << 4 & 0xF0; ஆர்.டபிள்யூ; if (r == 1) RSHigh; வேறு RSLow; ENHigh; _ தாமத_எம்எஸ் (1); ENLow; _ தாமத_எம்எஸ் (1); } வெற்றிடத்தை lcdprint (எரிப்பதை * str) { போது (* str,) { lcdwrite (* str, ++ தகவல்களும்); // __ தாமதம்_எம்எஸ் (20); } } வெற்றிட lcdbegin () { char lcdcmd = {0x02,0x28,0x0E, 0x06,0x01}; for (int i = 0; i <5; i ++) lcdwrite (lcdcmd, CMD); }
அதன்பிறகு ஜி.பி.எஸ் உடனான தொடர் தகவல்தொடர்புகளை நாங்கள் துவக்கி, பெறப்பட்ட சரத்தை "ஜிபிஜிஜிஏ" உடன் ஒப்பிட்டோம்:
void serialbegin () { UCSRC = (1 << URSEL) - (1 << UCSZ0) - (1 << UCSZ1); UBRRH = (BAUD_PRESCALE >> 8); UBRRL = BAUD_PRESCALE; UCSRB = (1 <
இப்போது பெறப்பட்ட சரம் GPGGA உடன் வெற்றிகரமாக பொருந்தினால், பின்னர் முக்கிய செயல்பாட்டு சாற்றில் மற்றும் இருப்பிடத்தின் அட்சரேகை மற்றும் தீர்க்கரேகை ஒருங்கிணைப்பைக் காண்பி:
lcdwrite (0x80,0); lcdprint ("Lat:"); சீரியல் பிரிண்ட் ("அட்சரேகை:"); (int i = 15; i <27; i ++) { அட்சரேகை = buf; lcdwrite (அட்சரேகை, 1); சீரியல்ரைட் (அட்சரேகை); if (i == 24) { lcdwrite ('', 1); i ++; } } serialprintln (""); lcdwrite (192,0); lcdprint ("பதிவு:"); சீரியல் பிரிண்ட் ("லாஜிட்யூட்:"); for (int i = 29; i <41; i ++) { logitude = buf; lcdwrite (தீர்க்கரேகை, 1); சீரியல்ரைட் (லாஜிட்யூட்); if (i == 38) { lcdwrite ('', 1); i ++; } }
எனவே இருப்பிட ஒருங்கிணைப்புகளைக் கண்டறிய ஜிபிஎஸ் தொகுதி ATmega16 உடன் இணைக்கப்படலாம்.
கண்டுபிடிக்க முழு குறியீடு மற்றும் வேலை வீடியோ கீழே.
