С++ тілінде микроконтроллерлерді бағдарламалау

Кунапьянова Маржан Советхановна

Оқытушының портфолиосы

Сипаттама: Пән С++ тіліндегі құрылымдық және модульдік бағдарламалау негіздерін, ATmega микроконтроллерлеріне арналған бағдарлама құрылымын, бағдарламалық өнімдерді әзірлеудің заманауи интеграцияланған орталарын және Arduino-үйлесімді тақталарға бағдарламаларды құруға және жүктеуге арналған Arduino IDE орталарын зерттеуге арналған.

Кредиттер саны: 5

Пререквизиты:

  • Математика 1

Пәннің еңбек сыйымдылығы:

Жұмыс түрлері сағат
Дәрістер 15
Практикалық жұмыстар
Зертханалық жұмыстар 30
СӨЖО 30
СӨЖ 75
Қорытынды бақылау нысаны емтихан
Қорытынды бақылауды жүргізу нысаны жазбаша емтихан

Компонент: ЖОО компоненті

Цикл: Базалық пәндер

Мақсат
  • микропроцессорлық контроллерлер негізінде автоматтандырылған басқару жүйелерінің электрондық құрылғыларынан С++ тілінде бағдарламалау саласында теориялық білім мен тәжрибелік дағдыларды қалыптастыру.
Міндет
  • - бағдарламалау тілдерін, бағдарламалық қамтамасыз етуді жобалау технологияларын зерттеу;
  • - С++ тілінде құрылымдық және модульдік бағдарламалау негіздерін меңгеру;
  • - бағдарламалық өнімдерді әзірлеудің заманауи интеграцияланған орталарын игеру;
  • - ATmega микроконтроллерлерінің бағдарламалық қамтамасыз етуін әзірлеу дағдыларын игеру;
  • - микроконтроллерлік тақталар негізінде орындалған автоматтандыру жүйелерінің электрондық құрылғыларын бағдарламалық басқару дағдыларын қалыптастыру.
Оқыту нәтижесі: білу және түсіну
  • микропроцессорлық контроллерлер негізінде бағдарламалық қамтамасыз етуді электрондық құрылғылар мен аспаптарды автоматтандыру жүйелерін жасау кезінде әзірлеу мен имитациялаудың аспаптық және отладтау құралдарын таңдау;
Оқыту нәтижесі: білім мен ұғымды қолдану
  • басқару жүйелерінің микропроцессорлық контроллерлерінің бағдарламалық қамтамасыз етуін әзірлеу кезінде С языке тілінде құрылымдық және модульдік бағдарламалау технологияларын қолдану;
Оқыту нәтижесі: талқылай білуді қалыптастыру
  • әртүрлі өндіріс объектілерін автоматтандырылған басқару жүйелерінің бағдарламалық кешендерін әзірлеу және енгізу процесін ұйымдастыру;
Оқыту нәтижесі: коммуникативтік қабілеттіліктер
  • мамандарға да, маман еместерге де автоматтандыру жүйелерінде микропроцессорлық кешендерді әзірлеу және пайдалану жөніндегі жұмыстарды ұйымдастыру саласында ұсынылатын жобалық шешім;
Оқыту нәтижесі: Оқу дағдылары немесе сабаққа қабілеттілігі
  • автоматтандырылған басқару жүйелерінің бағдарламалық жасақтамасын әзірлеу және пайдалану үшін С++ бағдарламалау тілін меңгеру.
Оқыту әдістері

интерактивті дәріс (оқытудың келесі белсенді түрлерін қолдану: жетекті (басқарылатын) пікірталас немесе әңгіме; модерация; слайдтарды немесе оқу фильмдерін көрсету; мотивациялық сөйлеу);

ақпараттық-коммуникациялық (қолданбалы бағдарламалардың кәсіби пакеттерін пайдалана отырып, компьютерлік сыныптағы сабақтар);

іздеу-зерттеу (оқу процесінде студенттердің өзіндік зерттеу іс-әрекеті).

Білім алушының білімін бағалау

Оқытушы ағымдағы бақылау жұмыстарының барлық түрлерін жүргізеді және академиялық кезеңде екі рет білім алушылардың ағымдағы үлгеріміне тиісті баға береді. Ағымдағы бақылау нәтижелері бойынша 1 және 2 рейтинг қалыптастырылады. Білім алушының оқу жетістіктері 100 балдық шкала бойынша бағаланады, Р1 және Р2 қорытынды бағасы ағымдағы үлгерім бағасынан орташа арифметикалық ретінде шығарылады. Академиялық кезеңде білім алушының жұмысын бағалауды пән бойынша тапсырмаларды тапсыру кестесіне сәйкес оқытушы жүзеге асырады. Бақылау жүйесі жазбаша және ауызша, топтық және жеке формаларды біріктіре алады.

Кезең Тапсырма түрі Өлшем
1  рейтинг "БЖ орнату, Blink жүктеу" ТЖ 0-100
"GPIO басқару, жыпылықтату" ТЖ
"Түймелерді оқу, debounce бағдарламалық құралы" ТЖ
"Фоторезисторды қосу, мәндерді шығару" ТЖ
"Жарықдиодқа арналған PWM, жарықтықты реттеу" ТЖ
"Бұрылу бұрышын басқару" ТЖ
"Serial Monitor арқылы ретке келтіру" ТЖ
2  рейтинг "TMP102 датчигімен немесе соған ұқсас датчикпен жұмыс істеу" ТЖ 0-100
"Деректерді оқу, SPI баптап реттеу" ТЖ
"Мәтінді, температураны, датчиктердің күйін шығару" ТЖ
"Түймелері бар мәзір, элементтер бойынша жылжу" ТЖ
"Сұрастырусыз оқиғаларға реакция" ТЖ
"Жарықдиодты күй бойынша басқару" ТЖ
"Жоба: термометр, дабыл, робот және т. б." ТЖ
"Құрастыру, жөндеу, көрсету" ТЖ
Қорытынды бақылау емтихан 0-100
Жұмыс түрлері бойынша оқыту нәтижелерін бағалау саясаты
Тапсырма түрі 90-100 70-89 50-69 0-49
Өте жақсы Жақсы Қанағаттанарлық Қанағаттанарлықсыз
Бақылау сұрақтары бойынша сұхбаттасу Жүйелік теориялық білімді көрсетеді, терминологияны біледі, құбылыстар мен процестердің мәнін логикалық және дәйекті түрде түсіндіреді, дәлелді тұжырымдар мен жалпылаулар жасайды, мысалдар келтіреді, монологиялық сөйлеуді еркін меңгергендігін және нақтылау сұрақтарына тез жауап беру қабілетін көрсетеді Ол күшті теориялық білімді көрсетеді, терминологияны біледі, логикалық және дәйекті түрде мәнін, құбылыстары мен процестерін түсіндіреді, дәлелді тұжырымдар мен жалпылаулар жасайды, мысалдар келтіреді, монологиялық сөйлеуді еркін меңгергендігін көрсетеді, бірақ сонымен бірге мұғалімнің өз бетінше немесе шамалы түзетуімен түзететін маңызды емес қателіктер жібереді Ол терең емес теориялық білімді көрсетеді, құбылыстар мен процестерді талдаудың нашар қалыптасқан дағдыларын, дәлелді қорытынды жасай алмайтындығын және мысалдар келтіре алмайтындығын көрсетеді, монологиялық сөйлеуді, терминологияны, логиканы және презентация дәйектілігін жете білмейді, мұғалім түзеткен кезде ғана түзете алатын қателіктер жібереді. Пәннің теориялық негіздерін білмегендігін, құбылыстар мен процестерді талдаудың қалыптаспаған дағдыларын көрсетеді, дәлелді қорытынды жасай алмайды және мысалдар келтіре алмайды, монологиялық сөйлеуді нашар меңгергендігін көрсетеді, терминологияны білмейді, презентацияның қисындылығы мен дәйектілігінің жоқтығын көрсетеді, тіпті мұғалім түзете алмайтын қателіктер жібереді, сабаққа жауап беруден бас тартады
Тәжірибелік сабақтарда жұмыс істеу Қажетті әрекеттер тізбегін сақтай отырып, жұмысты толық көлемде орындады; есеп талаптарға сәйкес ресімделді; қателерді талдауды дұрыс орындайды. Сұрақтарға жауап беру кезінде ол сұрақтың мәнін дұрыс түсінеді, негізгі ұғымдарды дәл анықтайды және түсіндіреді; жауапты жаңа мысалдармен сүйемелдейді, білімді жаңа жағдайда қолдана алады; зерттелген және бұрын зерттелген материал, сондай-ақ басқа пәндерді оқу кезінде алынған материал арасында байланыс орната алады. «5» бағасына қойылатын талап бойынша жұмысты орындады, бірақ 2-3 кемшіліктер жіберілді. Білім алушының сұрақтарға жауабы 5-ке жауапқа қойылатын негізгі талаптарды қанағаттандырады, бірақ жаңа жағдайда білімді қолданбай, бұрын зерттелген материалмен және басқа пәндерді оқу кезінде игерілген материалмен байланысты пайдаланбай беріледі; бір қателік немесе екіден көп емес кемшілік жіберілді, білім алушы оларды дербес немесе оқытушының аздаған көмегі арқылы түзете алады. Жұмысты толық орындамады, бірақ көлемнің кем дегенде 50% - ы, бұл дұрыс нәтижелер мен қорытындылар алуға мүмкіндік береді; жұмыс барысында қателіктер жіберілді. Сұрақтарға жауап беру кезінде білім алушы сұрақтың мәнін дұрыс түсінеді, бірақ жауапта бағдарламалық материалды одан әрі игеруге кедергі келтірмейтін курс сұрақтарын игеруде жекелеген проблемалар бар; бір өрескел қателік пен екі кемшіліктен артық емес жіберілді. Жұмысты толық орындамады немесе жұмыстың орындалған бөлігінің көлемі дұрыс қорытынды жасауға мүмкіндік бермейді. Сұрақтарға жауап беру кезінде Бағдарламаның талаптарына сәйкес негізгі білім мен дағдыларды меңгермегендігін көрсетеді; 3 бағалау үшін қажет болғаннан көп қателіктер мен кемшіліктер жіберілді немесе қойылған сұрақтардың ешқайсысына жауап бере алмайды.
Аралық бақылау Аралық бақылау: 90-100 балл-жоғары деңгейде білім көрсетілді Аралық бақылау: 70-90 балл – базалық деңгейде білім көрсетілді Аралық бақылау: 50-70 балл – Білім қанағаттанарлық деңгейде көрсетілді Аралық бақылау: 0-50 балл – Білім игерілмеген болып саналады
Бағалау нысаны

Пән бойынша білім алушының білімін қорытынды бағалау 100 баллдық жүйе бойынша жүзеге асырылады және:

  • Емтиханда алынған нәтиженің 40%;
  • Ағымдағы үлгерімнің 60% - ы.

Қорытынды бағаны есептеу формуласы:

И= 0,6 Р12 +0,4Э
2

 

мұндағы, Р1, Р2-тиісінше бірінші, екінші рейтингті бағалаудың сандық эквиваленттері;

Э - емтихандағы бағаның сандық баламасы.

Қортынды әріптік бағасы және оның балдық сандық эквиваленті:

Төрт балдық жүйе бойынша цифрлық баламаға сәйкес келетін білім алушылардың оқу жетістіктерін бағалаудың әріптік жүйесі:

Әріптік жүйе бойынша бағалар Балдардың сандық эквиваленті Балдар (%-тік құрамы) Дәстүрлі жүйе бойынша бағалар
A 4.0 95-100 Өте жақсы
A- 3.67 90-94
B+ 3.33 85-89 Жақсы
B 3.0 80-84
B- 2.67 75-79
C+ 2.33 70-74
C 2.0 65-69 Қанағаттанарлық
C- 1.67 60-64
D+ 1.33 55-59
D 1.0 50-54
FX 0.5 25-49 Қанағаттанарлықсыз
F 0 0-24
Дәріс сабақтарының тақырыптары
  • Микроконтроллерлер мен ендірілген жүйелерге кіріспе
  • Ендірілген бағдарламалауға арналған С++ тілі
  • Atmega328Р архитектурасы
  • Arduino IDE және скетчтің құрылымы
  • Сандық енгізу-шығару негіздері
  • Аналогтық сигналдармен жұмыс
  • Таймерлер мен үзілімдер
  • UART-пен жұмыс
  • I2C-мен жұмыс
  • SPI-мен жұмыс
  • Сыртқы датчиктермен жұмыс
  • Дисплейлермен және LCD-мен жұмыс
  • Байланыс протоколдары мен интерфейстері
  • Басқару жүйелерін жобалау
  • С++ тіліндегі ендірілген бағдарламалық жасақтаманың архитектурасы
Негізгі әдебиет
  • 1. Банфорд, с. "Arduino үшін бағдарламалау. Негіздері мен мысалдары", ДМК Пресс, 2020
  • 2. Бланк, М. "Жаңадан бастаушыларға арналған Arduino", Питер, 2021
  • 3. Arduino сайты: https://www.arduino.cc
  • 4. Datasheet ATmega328P: https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-42735-8-bit-AVR-Microcontroller-ATmega328-328P_Datasheet.pdf
Қосымша әдебиеттер
  • Алексей Васильев, " Arduino. Құрылғыларды әзірлеу бойынша практикум", БХВ-Петербург, 2020
  • 2. John Morton, "AVR: An Introduction to C and Assembly Language Programming", Springer, 2013
  • 3. Jack Purdum, "Beginning C for Arduino", Apress, 2015
  • 4. Timur Shemsedinov, " Modern C++ for Embedded Systems Programmers", O’Reilly, 2022