electronic sinhalen

සිංහල භාෂාවෙන් විද්‍යා හා තාක්ෂණ කරුණු ලබාදෙන, SENRO-TECH යුගයේ අපූර්වතම විද්‍යා හා තාක්ෂණ ගෙව්ශණය. SENROTECH is all about connecting you to the Technologies ©Copyrighted

Wednesday, February 12, 2020

microcontroller sinhala - මයික්‍රෝකොන්ට්‍රෝලර්ස් (pic microcontroller programming) - 35

pic microcontroller UART communication -4(PIC to Modem Communication using UART MikroC)

මයික්‍රෝකොන්ට්‍රෝලරය GSM Modem එකක් සමග සම්බන්ද කර සංනිවේදනය කිරීම

මයික්‍රෝකොන්ට්‍රෝලර සමග RS232 ක්‍රමය යොදාගෙන සංනිවේදනය කිරීම සදහා  සම්බන්ද කරන අනෙක් ප්‍රධානම උපාංගය වන්නේ GSM Modem වේ.මෙය මයික්‍රෝකොන්ට්‍රෝලරය සමග සම්බන්ද කර සංනිවේදනය කිරීමට යොදාගැනීමට පෙර GSM Modem එකක් යනු කුමක්ද යන්න සහ ඒ මගින් කුමක් කල හැකිද යන්න පළමුව විමසා බැලිය යුතුය

GSM Modem එකක් යනු 

 

GSM යනු Global System for Mobile Communications යන්න කෙටිකර දැක්වීමයි.ඒ අනුව පැහැදිලිවන කරුන නම් මෙම උපකරනය යොදාගනු ලබන්නේ Mobile Communications (ජංගම සංනිවේදන කටයුතු) සිදුකර ගැනීම සදහා වේ. ඒ අනුව මේ සදහා ජංගම දුරකථනවල මෙන් සිම් කාඩ්පතක් යොදාගනු ලබන අතර mobile service provider (dialog,mobitel වැනි) දායකත්වය හරහා ක්‍රියාත්මක වේ.මේ අනුව මෙමගින්ද SMS ,MMS යැවීම වැනි ජංගම දුරකථනයෙන් සිදුකරන කාර්යන් සිදුකර ගත හැක.ඒ අනුව  GSM Modem එක ජංගම දුරකථනයක් මෙන් පෙනේ.

 

ජංගම දුරකථන ක්‍රියාත්මක වන්නේ රේඩියෝ තරංග වලින් වේ.ඒ අනුව රේඩියෝ තරංග යොදාගෙන සංනිවේදනය කරන ආකාරය විමසා බලමු. මෙහිදී සිදුකරන්නේ ජංගම දුරකතන වලින් අදාල සංඥාව (එය SMS ,MMS හෝ voice එකක් විය හැක) නිර්මාණය කරනු ලබයි. ඉන් අනතුරුව මෙම සංඥාව වහක තරංගයක් සමග මුහුර්ජනය කර රේඩියෝ තරංගයක් බවට පත් කර අනෙක් අන්තයට (වෙනත් ජංගම දුරකතනයකට) යවනු ලබයි.මෙම මුහුර්ජන කාර්ය සිදු කරන පරිපථය මොඩියුලේටර් පරිපථ (modulation circuit) ලෙස හැදින් වේ.අනෙක් අන්තයේ ඇති උපකරනය විසින් කරනු ලබන්නේ සංඥාව සමග මුහුර්ජනය වී ඇති තරංගය ඉවත් කර සංඥාව ලබාගෙන ඊට අදාල ප්‍රතිදානය ලබා දීමයි (SMS එකක් නම් ජංගම දුරකතනයේ තිරයේ ප්‍රදර්ශනය කිරීම). මෙම මුහුර්ජන තරංගය ඉවත්කර අදාල සංඥාව ලබාගන්නා කාර්ය සිදු කරන පරිපථ ඩිමොඩියුලේටර් පරිපථ ලෙසහැදින් වේ.

 

(රේඩියෝ තරංග නිර්මාණය කිරීම සදහා කිසිදු විශේෂිත පරිපථ අවශ්‍ය නොවන අතර ඕනෑම විදුලි සංඥාවක් සංනායකයක් තුලින් ගමන් කර වූ විට ඉබේම රේඩියෝ තරංගයක් නිර්මාණය වේ.රේඩියො තරංග සොයාගත් කාලයේ සිට මේ දක්වා රේඩියෝ තරංග නිර්මාණය කිරීම සදහා යොදාගනු ලබන්නේ මෙම ක්‍රමය වේ. )

 

මෙහි Modem යන්නේ අර්තය මොඩියුලේටර් ,ඩිමොඩියුලේටර් කරන පරිපථය යන්නයි.ඒ අනුව GSM Modem එකක් යනු ජංගම දුරකතනය මෙන් රේඩියො තරංග යොදාගෙන සංනිවේදන කටයුතු කල හැකි උපකරනයකි.

 

GSM උපකරන අතර සංනිවේදනය

ඉහත පැහැදිලි කිරීම් අනුව පෙනෙන කාරය නම් GSM උපකරන අතර සංනිවේදය කිරීම සදහා යොදාගන්නා මාධ්‍යය රේඩියො තරංග වන බවයි.මෙම රේඩියෝ තරංග බොහෝ සංනිවේදන කටයුතු සදහා යොදාගනු ලබයි. රූපවාහිනීය,ගුවන් විදුලිය, ජංගම දුරකතන අතර සංනිවේදනය මෙම රේඩියෝ තරංග යොදාගන්නා ප්‍රධානම අවස්ථාවන් වේ.මෙහිදී පැන නගින ප්‍රධානම කරුන නම් මෙම තරංග පැටලෙන්නේ නැතිවකෙලෙසද යොදාගන්නේ යන්නයි.ඒ සදහා යොදාගෙන ඇති ක්‍රමය වන්නේ රේඩියෝ තරංග යොදාගන්නා සංනිවේදන ක්‍රමය අනුව ඒවාට වෙනස් වූ සංඛ්‍යතයන් ලබා දීමයි.ඒ අනුව රූපවාහිනීය තරංග විසුරවා හැරීමට එක් සංඛ්‍යතයක්ද, ගුවන් විදුලිය තරංග විසුරවා හැරීමට එක් සංඛ්‍යතයක්ද, ජංගම දුරකතන අතර සංනිවේදනය සදහා තවත් සංඛ්‍යතයක්ද ලෙස සංඛ්‍යත වෙන් කිරීම සිදුකර ඇත.මෙහිදී එම අදාල සංනිවේදනය සදහා ඇති උපකරන නිර්මාණය කරන්නේ ඊට අදාල සංඛ්‍යතයන්ගෙන් යුක්ත තරංග ග්‍රහනය කර ගැනීමට හැකි වෙන ලෙස වේ.උදාහරනයක් ලෙස GSM උපකරන අතර සංනිවේදනය සදහා වෙන් කර ඇති සංඛ්‍යතයන් වන්නේ 900MHz හා 1800MHz වේ.ඒ අනුව GSM උපකරන නිර්මාණය කර ඇත්තේ මෙම සංඛ්‍යතය ග්‍රහණය කරගැනීමට හැකි වන පරිදි වේ. 
(සාමාන්‍යයෙන් රේඩියෝ තරංග යොදාගෙන සංනිවේදනය කරන විට එක් සංඛ්‍යතයක් පමණක් යොදාගෙන සංනිවේදනය නොකරනු ලබයි.එනම් මෙහිදී කරනු ලබන්නේ එක් එක් සංනිවේදනය සදහා  සංඛ්‍යත පරාසයන් වෙන් කර තිබීමයි.ඒ අනුව GSM උපකරන යොදාගෙන සංනිවේදනය කිරීම සදහා යොදාගෙන ඇති සංඛ්‍යත පරාසයන් වන්නේ  890 - 915 MHz ,925 - 960 MHz,1710 - 1785 MHz , 1805 - 1880 MHz වේ.මෙහිදී බාවිතයේ පහසුවතකා මෙම සංඛ්‍යත පරාසයන්ගේ මැද සංඛ්‍යතයන්ගෙන් මෙම පරාස හදුන්වනු ලබයි.  )

දෙදනකු අතර සංනිවේදනයක් සිදුකිරීමට නම් එම දෙදනාම දන්නා පොදු භාෂාවක් තිබිය යුතුය.එසේම GSM උපකරන අතර සංනිවේදනය සිදු කිරීම සදහාද එලෙස පොදු සංනිවේදන භාෂාවක් තිබිය යුතුය.AT command යනු GSM උපකරන අතර සංනිවේදනය සිදුකරන භාෂාව වේ.ඒ අනුව GSM උපකරන මගින් කරනු ලබන්නේ AT command යොදාගෙන සංඥාව නිර්මාණය කර එය රේඩියෝ තරංගයක් බවට පත්කිරීම සහ රේඩියෝ තරංගය  නැවත AT command වලින් යුක්ත සංඥාවක් බවට පත්කර සංනිවේදනය කරලීමයි.



AT command යොදාගෙන සංනිවේදනය කිරීම



පහත දැක්වෙන්නේ GSM උපකරන වල බහුලව යොදාගැනෙන AT command වේ.
AT command යොදාගෙන සංනිවේදනය කිරීම පැහැදිලි කර ගැනීම සදහා GSM Modem එක පරිඝණකය සමග සම්බන්ද කර සංනිවේදනය කරන ආකාරය විමසා බලමු.මෙහිදී SMS එකක් send කිරීම සහ read කිරීමට අදාල AT command පමණක් යොදාගනු ලබයි.

GSM Modem එක පරිඝණකය සමග සම්බන්ද කර සංනිවේදනය කිරීම
මේ සදහා fargo maestro 10 GSM Modem එක පරිඝණකය සමග සම්බන්ද කර සංනිවේදනය කරන ආකාරය විමසා බලමු.

ප්‍රථමයෙන් මෙම GSM Modem එක ඉහත දක්වා ඇති ආකාරයට පරිඝණකයේ serial port එක හරහා පරිඝණකය සමක සම්බන්ද කල යුතුය.ඉන් අනතුරුව GSM Modem එකේ Baud Rate එක 9600 ලෙස සකස්කර ගත යුතුය.මේ සදහා device maneger වෙත ගොස් එහි ports යටතෙන් අදාල modem එක තොරා ඒ මත right click කර properties වෙත ගමන් කර මෙම සකස් කිරීම් සිදු කර ගත හැක.

 
ඉන් පසු Hyperterminal මෘදුකාංගයේ ද Baud Rate එක 9600 ලෙස සකස්කර එයද විවෘත කර ගැනීම කල යුතුය.ඒ අනුව පරිඝණකය හා GSM Modem එක අතර සංනිවේදන සිදුකිරීමට හැකිදැයි බැලීමට ඇති විධානය වන්නේ “AT” වේ.මෙහිදී  Hyperterminal මෘදුකාංගයේ AT ලෙස ටයිප් කර ENTER කල විට modem එකෙන් “OK ලෙස ලබා දේ නම් GSM Modem එක හා පරිඝණකය නිවැරදිව සම්බන්ද වී ඇති අතර දැන් පරිඝණකය යොදාගෙන GSM Modem එක මගින් SMS එකක් send කිරීම සහ read කිරීම සිදු කල හැක.
පහත දැක්වෙන්නේ SMS එකක් send කිරීමට අදාල AT command වේ.

1.      AT+CMGF=1<ENTER>  මෙම විධානය දෙනු ලබන්නේ messge එකේ text format එකසකස් කිරීම සදහා වේ.මෙ විධානය දුන් පසු Modem එක විසින් පහත දක්වා ඇති ආකාරයට reply දෙනු ලබයි.

Response1:+CMGF: 
Response2: OK
2. ඉන් පසු දෙවන පියවර ලෙස AT+CMGS=”PONE NUMBER” <ENTER>  කල යුතුය එවිට  modem එක මගින් “< ලෙස reply එකක් දෙනු ලබයි.දැන් අප විසින් යැවිය යුතු  message  එක Type කර <CTR+Z> කල යුතුය.එවිට  message එක නිසියාකාරව අප විසින් සදහන් කල PONE NUMBER එකට send වූයේ නම් Modem එක විසින් පහත දක්වා ඇති ආකාරයට reply දෙනු ලබයි.
     Response:+CMGS: 27 [මෙය reference number එක ලෙස හැදින්වේ ]
    Response: OK


SMS එකක් Read කිරීම

 

Modem  එකට message එකක් ලැබුන විට  +CMTI “SM”, 1 ලෙස reply එකක් Modem එක විසිනු දෙන් ලබයි.ඒ මගින්  message එකක් ලැබුන බව දැනගත හැක.මෙහි 1 ලෙස දක්වා ඇති අංකය index අංකය වේ.ඒ මගින් message එකක් Read කිරීම, Delete කිරීම ආදිය කල හැක.පහත දැක්වෙන්නේ message එකක් Read, Delete කිරීමට ලබා දිය යුතු AT command වේ.

 

Delete a specific Message from the SIM

Command: AT+CMGD=X [Where X is index number]
 Response: OK
Read a specific SMS message from the SIM

Command: AT+CMGR=X [Where X is index number]
Response1: +CMGR: X,”REC UNREAD”,”+94xxxxxxxxxx,
This is the message text
Response2: OK

පහත දැක්වෙන්නේ මෙලෙස ලැබෙන Message වල format එක වේ.

+CMGR: <index>, <status>, <from address>, <mr>, <scts> <CRLF> <data>

Index – The memory index number, use this index to read or delete this message.
Status – Message එක READ කල එකක්ද නැතහොත් UNREAD Message එකක්ද යන්න සටහන් කරනු ලබයි
From address – Message එක ලැබුන අංකය පෙන්නුම් කරනු ලබයි
mr - The reference number of this message. බොහෝ modems වල මෙම field එක empty වේ.
Scts - The time when the message is forwarded to this phone or modem.
Data – Message එක අන්තර්ඝත වේ.



මයික්‍රෝකොන්ට්‍රෝලරය යොදාගෙන ජංගම දුරකථනයකට Message එකක් යැවීම 

 

ඉහත පැහැදිලි කරනු ලැබුවේ පරිඝණකය යොදාගෙන Modem එකක් මගින් Message එකක් Read කිරීම හා Send කරන ආකාරය වේ.දැන් මයික්‍රෝකොන්ට්‍රෝලරය යොදාගෙන ජංගම දුරකථන අංකයකට කෙටි පණිවුඩයක් යවන ආකාරය විමසා බලමු.ඒ අනුව පහත දැක්වෙන්නේ මයික්‍රෝකොන්ට්‍රෝලරය හා Modem එකක් යොදාගෙන ජංගම දුරකථනයකට SMS යැවීමට අදාල වැඩසටහනක පරිපථ සටහන වේ.

 

 


මෙම වැඩසටහන මගින් කරනු ලබන්නේ, push button එක වරක් push කල  විට LED එක දැල්වෙන අතර එය දැල්වු බවට SMS එකක් ජංගම දුරකතනයකට යවනු ලබයි.නැවත වරක් , push button එක push කල  විට LED එක නිවීයන අතර ඒ බව SMS එකක් මගින් ජංගම දුරකතනයකට දැනුම් දෙනු ලබයි.

mikroC code