- Потребни материјали
- Коришћени софтвер
- ГСМ модул
- Комуникација са ГСМ модулом помоћу АТ команди
- Шема интерфејса модула АТМега16 ГСМ
- Креирање пројекта за АТмега16 помоћу ЦодеВисион
- Код и објашњење
- Изградите пројекат
- Отпремите код на Атмега16
ГСМ модули су занимљиви за употребу, посебно када наш пројекат захтева даљински приступ. Ови модули могу да изврше све радње које би могао да уради наш уобичајени мобилни телефон, попут упућивања / примања позива, слања / примања СМС-а, повезивања на Интернет помоћу ГПРС-а итд. На овај модул можете да повежете и уобичајени микрофон и звучник и разговарате на свом мобилни позиви. Ово ће отворити врата многим креативним пројектима ако би се могли повезати са микроконтролером. Стога ћемо у овом упутству научити како можемо да повежемо ГСМ модул (СИМ900А) са АВР микроконтролером АТмега16 и демонстрираћемо га слањем и примањем порука помоћу ГСМ модула.
Потребни материјали
- Атмега16
- ГСМ модул (СИМ900 или било који други)
- ЛЦД дисплеј
- Тастери
- Отпорници 10к, потенциометар
- Повезивање жица
- 12В адаптер
- УСБасп програмер
- 10-пински ФРЦ кабл
Коришћени софтвер
Ми ћемо користити ЦодеВисионАВР софтвер за писање нашег кода и СинаПрог софтвер за отпремање наш код на Атмега16 користећи УСБАСП програмер.
Ове софтвере можете преузети са датих веза:
ЦодеВисионАВР: хттп ://ввв.хпинфотецх.ро/цвавр_довнлоад.хтмл
СинаПрог: хттп ://ввв.аблаб.ин/синапрог-хек-филе-довнлоадер-софтваре-то-довнлоад-цоде-то-авр-мицроцонтроллер/#инлине_цонтент
Пре него што уђемо у шеме и кодове, научићемо о ГСМ модулу и његовом раду.
ГСМ модул
ГСМ модул се може користити чак и без било каквог микроконтролера помоћу АТ командног режима. Као што је приказано изнад, ГСМ модул долази са УСАРТ адаптером који се може директно повезати са рачунаром помоћу МАКС232 модула или се Тк и Рк пинови могу користити за његово повезивање са микроконтролером. Такође можете приметити и остале пинове попут МИЦ +, МИЦ-, СП +, СП- итд. На које се може повезати микрофон или звучник. Модул се може напајати преко 12В адаптера кроз нормалну утичницу за једносмерну струју.
Уметните СИМ картицу у отвор на модулу и укључите је, требало би да приметите да се ЛЕД лампица за напајање УКЉУЧУЈЕ. Сачекајте минуту или тако мало и требали бисте видети црвену (или било коју другу боју) ЛЕД лампицу како трепће једном у 3 секунде. То значи да је ваш модул могао успоставити везу са вашом СИМ картицом. Сада можете наставити са повезивањем вашег модула са телефоном или било којим микроконтролером.
Помоћу ГСМ модула можете да направите много сјајних пројеката попут:
- Бежична огласна плоча која користи ГСМ и Ардуино
- Аутоматска секретарица позива користећи Ардуино и ГСМ модул
- ГСМ аутоматизована кућа користећи Ардуино
- ПИР сензор и сигурносни систем заснован на ГСМ-у
Овде такође проверите све пројекте који се односе на ГСМ.
Комуникација са ГСМ модулом помоћу АТ команди
Као што сте могли претпоставити, ГСМ модул може комуницирати серијском комуникацијом и могао је разумјети само један језик, а то су „ АТ команде “. Шта год да желите да кажете или затражите од ГСМ модула, то би требало да буде само путем АТ команди. На пример, ако желите да знате да ли је ваш модул активан. Требали бисте затражити (послати) наредбу попут „АТ“ и ваш модул ће одговорити „ОК“.
Ове АТ команде су добро објашњене у техничком листу и могу се наћи овде у званичном листу података. У реду! У реду! То је лист са подацима од 271 странице и можда ће вам требати дана да га прочитате. Дакле, дао сам вам неколико најважнијих АТ команди да бисте то ускоро покренули.
АТ |
Одговара са ОК за потврду |
АТ + ЦПИН? |
Проверите квалитет сигнала |
АТ + ПОЛИЦИЈА? |
Пронађите име добављача услуга |
АТД96КСКСКСКСКСКСКСКС; |
Позив на одређени број, завршава се тачком и зарезом |
АТ + ЦНУМ |
Пронађите број СИМ картице (можда неће радити на неким СИМ картицама) |
АТА |
Одговорите на долазни позив |
АТХ |
Прекини тренутни долазни позив |
АТ + КОЛП |
Прикажи број долазног позива |
АТ + ВТС = (број) |
Пошаљите ДТМФ број. Можете користити било који број на мобилној тастатури за (број) |
АТ + ЦМГР |
АТ + ЦМГР = 1 чита поруку на првој позицији |
АТ + ЦМГД = 1 |
Избришите поруку на првом месту |
АТ + ЦМГДА = "ДЕЛ АЛЛ" |
Избриши све поруке са СИМ-а |
АТ + ЦМГЛ = "СВЕ" |
Прочитајте све поруке са СИМ-а |
АТ + ЦМГФ = 1 |
Подесите конфигурацију СМС-а. „1“ је само за текстуални режим |
АТ + ЦМГС = “+91 968837КСКСКСКС” > Текст ЦирцуитДигест
|
Овде шаље СМС на одређени број 968837КСКСКСКС. Када видите „>“ почните да уносите текст. Притисните Цтрл + З да бисте послали текст. |
АТ + ЦГАТТ? |
Да бисте проверили Интернет везу на СИМ картици |
АТ + ЦИПСХУТ |
Да бисте затворили ТЦП везу, што значи да прекидате везу са Интернета |
АТ + ЦСТТ = „АПН“, „корисничко име“, „Пасс“ |
Повежите се на ГПРС помоћу АПН и Пасс кључа. Може се добити од мрежног провајдера. |
АТ + ЦИИЦР |
Проверите да ли СИМ картица садржи пакет података |
АТ + ЦИФСР |
Набавите ИП СИМ мреже |
АТ + ЦИПСТАРТ = „ТЦП“, „СЕРВЕР ИП“, „ЛУКА“ |
Користи се за постављање ТЦП ИП везе |
АТ + ЦИПСЕНД |
Ова наредба се користи за слање података на сервер |
Овде ћемо користити АТ + ЦМГФ и АТ + ЦМГС команду за слање порука.
Ако сте користили ГСМ модул са Ардуином, док примате поруке можете користити + ЦМТ: наредбу за преглед броја мобилног телефона и текстуалне поруке на серијском монитору. Текстуална порука долази у другом реду као што је приказано на слици.
Скенираћемо ову наредбу + ЦМТ: да бисмо проверили да ли је порука доступна или не.
Шема интерфејса модула АТМега16 ГСМ
Везе ће бити следеће
- Тк и Рк ГСМ модула на Рк (Пин14) и Тк (Пин15) Атмега16 респективно.
- Тастери за ПД5 (Пин19) и ПД6 (Пин20).
- ЛЦД везе:
- РС - ПА 0
- Р / В - ПА1
- ЕН - ПА2
- Д4 - ПА4
- Д5 - ПА5
- Д6 - ПА6
- Д7 - ПА7
Креирање пројекта за АТмега16 помоћу ЦодеВисион
Након инсталирања софтвера ЦодеВисионАВР и СинаПрог , следите кораке у наставку за креирање пројекта и писање кода:
Већ отпремљено
Корак 1. Отворите ЦодеВисион Кликните на Филе -> Нев -> Пројецт . Појавиће се дијалошки оквир за потврду. Кликните на Иес
Корак 2. Отвориће се ЦодеВизард. Кликните прву опцију, тј. АТ90 , и кликните ОК.
Корак 3: - Изаберите чип микроконтролера, овде ћемо узети Атмега16Л као што је приказано.
Корак 4: - Кликните на УСАРТ . Изаберите Пријемник и Одашиљач кликом на њих. Како је приказано испод:
Корак 5: - Кликните алфанумерички ЛЦД и изаберите Омогући алфанумерички ЛЦД подршку .
Корак 6: - Кликните на Програм -> Генериши, сачувај и изађи . Сада је више од половине нашег посла завршено
Корак 7: - Направите нову фасциклу на радној површини, тако да наше датотеке остану у фасцикли, у супротном ћемо се расути по целом прозору радне површине. Именујте фасциклу како желите и предлажем да користите исто име за чување програмских датотека.
Имаћемо три дијалошка оквира један за другим за спремање датотека.
Урадите исто са друга два дијалошка оквира која ће се појавити након што сачувате први.
Сада ваш радни простор изгледа овако.
Наш највећи део посла је завршен уз помоћ чаробњака. Сада морамо да напишемо код само за ГСМ.
Код и објашњење
Све датотеке заглавља аутоматски се прилажу након креирања пројекта, морате само да укључите датотеку заглавља делаи.х и декларишете све променљиве. Комплетни код је дат на крају овог водича.
#инцлуде
Направите функцију за пријем података из УДР регистра. Ова функција ће вратити примљене податке.
непотписани знак примљен_вредност (воид) { вхиле (! (УЦСРА & (1 <
Дођите до вхиле петље у којој креирамо две иф изјаве, једну за слање поруке и другу за примање. Дугме за слање је повезано са ПИНД6 од АТмега, а дугме за примање поруке са ПИНД5.
Када се прво притисне ПИНД6 (дугме за слање ), да ли ће се наредба извршити, а све наредбе за слање поруке извршиће се једна по једна.
вхиле ( 1) { // лцд_цлеар (); лцд_путсф ("Сенд-> бттн 1"); лцд_готоки (0,1); лцд_путсф ("Рецеиве-> буттн 2"); иф (ПИНД.6 == 1) { лцд_цлеар (); лцд_готоки (0,0); лцд_путсф ("Слање поруке…"); за (з = 0; цмд_1! = ''; з ++) { УДР = цмд_1; делаи_мс (100); } УДР = ('\ р'); делаи_мс (500); за (з = 0; цмд_2! = ''; з ++) { УДР = цмд_2; делаи_мс (100); } …..
Ако се притисне дугме Примање поруке, док ће петља (б! = '+') Проверити да ли је ЦМТ команда присутна или не. Ако постоји, извршиће се друга вхиле петља и прећи у други ред наредбе и исписати поруку на ЛЦД-у једну по једну.
вхиле (ПИНД.5 == 1) { лцд_цлеар (); лцд_готоки (0,0); лцд_путсф ("Примање поруке…"); б = примљена вредност (); док је (б! = '+') { б = примљена_вредност (); } б = примљена вредност (); ако (б == 'Ц') { б = примљена_вредност (); … ..
Ова петља води програм у другу линију наредбе и чува поруку у низу.
док је (б! = 0к0а) { б = примљена_вредност (); } за (б = 0; б <3; б ++) { ц = примљена_вредност (); мсг = ц; } .. ..
Ова петља фор приказује поруку на ЛЦД-у.
за (з = 0; з <3; з ++) { а = мсг; лцд_путцхар (а); // ШТАМПАЊЕ У лцд делаи_мс (10); }
Комплетни код са Демо Видео је дат у наставку, сада морамо да направимо наш пројекат.
Изградите пројекат
Кликните на Изгради икону пројекта као што је приказано.
Након изградње пројекта, у директоријуму Дебуг-> Еке се генерише ХЕКС датотека која се може наћи у фасцикли коју сте претходно направили да бисте сачували пројекат. Ову ХЕКС датотеку ћемо користити за отпремање у Атмега16 помоћу софтвера Синапрог.
Отпремите код на Атмега16
Спојите своје склопове према датом дијаграму на програм Атмега16. Спајањем једне стране ФРЦ кабла на УСБАСП програмер, а друге стране ће се повезати са СПИ пиновима микроконтролера како је описано у наставку:
- Пин1 женског конектора ФРЦ -> Пин 6, МОСИ од Атмега16
- Пин 2 повезан са Вцц атмега16 тј. Пин 10
- Пин 5 повезан са Ресетовањем атмега16 тј. Пин 9
- Пин 7 повезан са СЦК атмега16, односно пин 8
- Пин 9 повезан са МИСО атмега16 тј. Пин 7
- Пин 8 повезан са ГНД атмега16 тј. Пин 11
Отпремићемо горе генерисану Хек датотеку помоћу Синапрог-а, па је отворите и у падајућем менију Девице одаберите Атмега16. Изаберите ХЕКС датотеку из фасцикле Дебуг-> Еке као што је приказано.
Сада кликните на Програм и ваш код ће се спалити у микроконтролеру АТмега16.
Готови сте и ваш микроконтролер је програмиран. Само притисните тастере за слање и примање порука са ГСМ и АТмега16 микроконтролера.
Комплетни код и демонстрацијски видео је дат у наставку.