Андай Arduino функцияларын білесіз?

Функция – атауы бар жне андай да бір іс-рекеттер бірізділігінен тратын программаны рылымды бірлігі

Arduino-да жазылан программа скетч деп аталады. рбір скетч е аз дегенде екі функциядан труы керек:

void setup()
{
іс-рекеттер;
}

void loop()
{
іс-рекеттер;
}

Программа басында, setup функциясынан алдын детте айнымалылар жарияланады. Платаа уат осыланнан кейін бірінші setup функциясы орындалады. Ол тек бір рет ана орындалады. детте онда порттарды жмыс режимдері бапталады: р трлі датчиктерге жаланан порттар кіріс ретінде, ал атарушы рылылара жаланан порттар шыыс ретінде.

loop() функциясында жазылан код setup() функциясы орындаланнан кейін орындалады, жне шексіз циклде айта-айта орындалады. Бл функцияда негізгі жмыс орындалады: р трлі есептеулер, датчиктер мндерін алу, мндерді порттара шыару.

Функция Сипатталуы
digitalRead(2); ШЫНДЫ мнін айтарады, егер портта HIGH мні болса жне ЖАЛАН, егер LOW болса.
analogRead(0); Берілген порттан аналогты мнді айтарады.
analogWrite(5,255); Порта 0-ден 255 дейін аналогты мн айтарады.
digitalWrite(10,LOW); Берілген порта LOW мнін жібереді.
digitalWrite(10, HIGH); Берілген порта HIGH мнін жібереді.
delay(100); Миллисекундтардаы кідіру.
if (/*шарт*/) {/*егер шарт орындалса, орындалатын рекеттер */ } else {/*егер шарт орындалмаса, орындалатын рекеттер */ }; Алдыы функцияа сас орындалады, біра else сзінен кейін шарт жалан болан жадайда орындалуы ажет рекеттер белгіленеді.
if (/*шарт*/) {/*егер шарт орындалса, орындалатын рекеттер */ }; Егер шарт шынды болса, бейнелі жаша арасында крсетілген рекеттерді орындайды. Егер орындалатын рекет біреу болса, ол бейнелі жашаа алынбаса болады. Шарт келесі атынас операторлары кмегімен жазылады: == - тедікті тексеру, < - аз, > - кп, <= - аз немесе те, >= кп немесе те, != - те емес.
void loop() { /*плата уаты осулы уаытта рашан орындалатын рекеттер */ } Міндетті функцияларды бірі. Ішінде уат осулы уаытта рашан орындалатын рекеттер орналасады.

 


Санды шыыс шін: кіріс порты ретінде конфигурацияланан енгізу / шыару портыны асиеттерін (PIN); тарту(жктеу) резисторларын; шыыс порты ретінде конфигурацияланан енгізу / шыару портыны асиеттері (PIN) тсіндірііз.

азіргі заман компьютерлік жйелер мен рылылар дискретті санды (цифрлы) жне микропроцессорлы (интегралды) элементтерден рыланы бріне млім. Аталан рылылар з міндетіне жне рылымына байланысты р трлі крсеткіштермен жне параметрлермен сипатталынады.

Санды жйелерді рылымын жне жмыс істеу тртібін бейнелеу шін бірнеше дегейді олданады. Жоары (логикалы) дегейде жйені рылымды элементтерді атаратын міндеттеріне байланысты сипаттамалар арастырылады. Тменгі физикалы дегейде компьютерлік жйені райтын р элементті физикалы рылымы жне жмыс істеу реті еске алынады жне оны физикалы сипаттамалары есептелінеді.

Сондытан цифрлы жйелерді сенімділігін баалау шін оларды логикалы жне физикалы дегейде рылымын жне жмыс істеу тртібін жне олара атысты параметрлер мен сипаттамаларды мндер диапазонын жн болып табылады. рылыны сипаттау р дегейде жеке асиеттер болады. Оларды жинатамасы жобалаушыны ойан масатына байланысты.

Мліметтерді лшеу, жинатау, жеткізу, абылдау, баылау, сатау, трлендіру жне беру сияты ызметтер атаратын азіргі заманы электронды жйелер рамына аналогты жне цифрлы ондырылар кіреді.

Сигналдар уаыт бойынша здіксіз згеретін аналогты ондырылардан згеше, санды (санріптік) одырыларда екі бекітілген (белгіленген) дегейі бар сигналдар олданылады. Бл оларды санды трде бейнелеуге, мысалы жоары дегейді «1», тменгі дегейді «0»- белгілерімен, ммкіндік береді. з кезінде сигналдарды екілік жйеде бейнелеу, электроникалы тіркестік тізбектерін растыруда логикалы алгебраны (Буль алгебрасыны) математикалы амалдарын олдануга ммкіндік береді. Мндай тізбекті шыысындаы сигнал ( «0» и «1») кірістегі сигналдарды тіркесінен бір мнді аныталады.

Микропроцессорлы жйелерді ке таралуы оны негізінде тиімді жне олайлы ртрлі рылыларды жне бкіл кешендерді басару жйелерді руа ммкіндік береді. Аталан асиеттерге осымша бл жйелер иілгіш, тасымалды, сенімді жне алпына келтірілетін болып табылады. Осы факторлар компьютерлік басару жйелерді деушілер мен сатып алушылар жаынан микропроцессорлы жйелерге назар аудару себебі болып танылады.

Кдімгі микропроцессорлы жйе келесі негізгі элементтерден трады [8]:

· CPU (Central Processing Unit) – орталы процессор немесе орталы процессорлы рылы.

· RAM (Random Access Memory) – жедел жады.

· ROM (Read Only Memory) – тураты сатау рылы.

· Port I/O (Port Input/Output) – енгізу/шыару рылы.

Процессор жедел жадымен жне тураты сатау рылымен бірдей жмыс істейді жне оларды ажыратпайды. Біра оларды арасында бір маызды айырмашылыы бар: жедел жады апаратты оректену кернеуі бар боланша сатайды. Жедел жады яшыны мысалы – D-триггерде рылан арапайым регистр. Осындай регистрге апаратты жазуа жне оны кейін оуа болады. Ол схемаа оректену беріліп туранша саталынады.Біра оректенуді сндіріп регистрді айтадан осанда D-триггерлер кез келген жаадйа орналасады. Апарат жойылады.

азіргі жедел жады микросхемалар динамикалы оталатын миниатюрлы сыйымдылытарда рылады. р конденсатор апаратты бір битын сатайды. Кіріс сигнал ішкі коммутация сигналдар арылы бл конденсатора тседі. Егер оны мні логикалы бірлікке те болса конденсатор оталады, егер нлге те болса – керісінше заряд жойылады. Сонан кейін ішкі кілт конденсаторды барлы тізбектерден ажыратады жне зарядталан конденсаторлар біраз уаыт з зарядын сатайды.Енгізу/шыару порттарды блек те бірге де арастыруа болады. Процессор енгізу/шыару порттарымен жадыны яшытарымен сияты жмыс істейді. р портты з адресі бар. Біра яшыты адресі мен порт адресі абсолютты ртрлі адрестер болып табылады. Олар ртрлі адрестік кеістіктерде орналасады. Процессор кез келген санды кез келген енгізу/шыару порта жаза алады. Сонеан со санды порттан сол адрес бойынша ои алады. Кейбір кездерде ол бірдей сандар болып табылады. Біра кбінесе жазу бір рылыа (шыару порты) атарылады ал процессор баса рылыдан (енгізу порты) оиды.

Шыару порт ретінде кдімгі параллельді регистр олданыла алады. Шыару порты микропроцессорлы жйе ртрлі сырты рылыларды басаруа ммкіндігін амтамасыз ету шін арналан. Шыару порт арылы цифрлы-аналогты трлендіруші (АЦП), индикаторлар сияты рылыларды басаруа болады. Портты шыуына микропроцессорлы жйеге оданда уатты рылыларды басаруа ммкіндік беретін электронды кілттерді осуа болады. Мысалы электромагнитты реле, шамдар, жары диодтар, озаушылар, соленоидтар ж. т. б. Шыару порттар кмегімен микропроцессорлы рылыны схеманы ішінде жаадан осуларды жасауа болады. Олар кілттер мен логикалы элементтер жрдемімен жасалынады. Осындай микропроцессорлы рылы иігішті жне автоматты орындалатын есепке жанастыра салынуа абілетті болады.

Енгізу порты – микропроцессор сырты мліметтерді абылдай алуа кмектесетін арнайы схема. Бл кірулерге аналогты-цифрлы трлендірушілерді, батырмаларды, датчиктерді ж.т.б. осуа болады.

Микропроцессорлы жйені негізгі басару элементі болып процессор табылады. Ол баса рылыларды басарады. алан рылылар, мысалы жедел жады, ПЗУ жне енгізу/шыару порттар жетектегі болып табылады. Сол себебінен оларды перифериялы рылылар немес периферия деп атайды.

Микропроцессорлы жйені барлы тйіндері зара келесі ш негізгі шиналармен байланысан.:

– мліметтер шинасы (DATA bus);

– адрес шинасы (ADDR bus);

– басару шинасы (CONTROL bus).

Олар барлыы бірге жйелік шинаны райды.

Мліметтер шинасы микропроцессордан сырты рылылара жне кері баытта мліметтерді беруге арналан. Шинаны иені олданылатын процесорды трімен аныталады. арапайым процессорларда мліметтер шинасыны разрядтыы 8-ге те. азіргі процессорларда 16, 32, 64 разрядты мліметтер шиналары болу ммкін.

Барлы шиналарда бір байтты беру режимы (кіші разрядтар бойынша) ескерілген. Бл кезде жоары разрядтар олданылмайды.

Адрес шинасы электронды формада екілік сандарды хабарлауа арналан ткізгіштер жиынтыы болып табылады. Бл сандар процессор азір баытталан жады яшыыны немесе енгізу/шыару порты адресі болып табылады. Адрестік шинаны разрядтар саны те р трлі.

азіргі процессорларды адрестік шинаны разрядтар саны 32 жне одан жоары. Адрес шинасыны разрядтар санынан процессор адрестей алатын жады яшытарыны саны туелді. Он алты разрядты адрес шинасы бар процессор 216 (яни 65536) яшытарды адрестей алады. Бл сан адрестелінетін жадыны клемі деп аталады. Наты клем бл саннан кем болу ммкін біра ешашанда одан лкен болмайды.

Енгізу/шыару порттарды адрестеу шін де адрес шинасы керек. Екі жадайларда бл бір шина. Біра ешбір микропроцессорлы жйеде жедел жады яшытар саны сияты порттар саны ажет болмайды. Сондытан енгізу/шыару порттармен апарат алмасу шін тек сегіз (немесе 16) адрес шинасыны кіші разрядтары олданылады.

Басару шинасыны айын рылымы жо. Басару шинасына процессордан барлы сырты рылылара жне кері арай ртрлі басару сигналдарды хабарлайтын сызытар жиынтыын біріктіреді.

Кез келген басару шинасында келесі сигналдарды таымалдайтын сызытар кездеседі:

· RD (Read) – оу сигналы.

· WR (Write) – жазу сигналы.

· MREQ – жады рылысын инициализациялау сигналы.

· IORQ – енгізу/шыару порттарды инициализациялайтын сигнал.

Сонымен атар басару шинаны сигналдарына жататын:

· READY – дайынды синалы.

· RESET – айта жктеу сигналы.

Микропроцессорлы жйені жмыс істеу тртібі 1 суретте крсетілген. Негізгі режимед бкіл микрокроцессорлы жйені жмысын орталы процессор басарады. Жне де кезкелген перифериялы рылылара арай процессор уаытты р моментінде келесі операцияларды бірін орындай алады: жадыны яшыынан оу, жадыны яшыына жазу, порттан оу жне порта жазу.

Байтты жадыны яшыынан оу шін процессор адреа шинасына ажетті яшыты адресін орнатады. Сонан со ол MREQ сигналын активті алпына орнатады, яни оны логикалы нлге теестіреді. Бл сигнал жады рылыларына тседі жне оларды жмысына рсат болып табылады. Жне де IORQ сигналы логикалы 1 те болады. Сондытан микропроцессорлы жйені енгізу/шыару порттары активті емес болып табылады. Бдан кейін процессор активті кйіне RD сигналды аударады. Бл сигнал жады рылысына жне енгізу/шыару порттара тседі. Біра порттар бл сигнала жауап айтармайды йткені олар IORQ сигналды жоары денгейімен сндірілген. Жады рылысы керісінше RD жне MREQ басару сигналдарды абылдап мліметтер шинасына адресі уаытты бл моментінде адрес шинасында орналасан жады яшыынан апарат байтын шыарады.

Мліметтерді жадына жазу процессі келесі тізбек бойынша орындалалды. Алдымен орталы процессор адрес шинасына ажетті яшыты адресын ояды. Сонан со ол мліметтер шинасына бл яшыа жазуа арналан байтты ояды. Бдан со мліметтер шинасына бл яшыа жазуа арналан байт орнатылады. Сонан кейін жадыныны модуліне расттама беретін MREQ сигналы активтендіріледі. Тек ана сонда процессор WR сигналын активті алпына орнатады (лог. 0). Осы сигал бойынша адресі адрес шинасында орналасан жадыны яшыына байтты жазу басталады.

Жадыны кейібір трлері те жай істейді. Олар орталы процессор сияты жылдам апаратты шыаруа немесе жазуды орындауа. Жадыны баяу рылыларды жмысын жылдам процессормен малдау шін READY (дайынды) сигналы бар. Процессор оу немесе жазу сигналын активті кйіне орнатан со лезде жады рылысы READY сигналын пассивті кйіне орнатады (лог. 0). Осындай сигнал дегейі сырты рылы дайын емес екенін яни команданы орындамаанын белгілейді. READY сигналы процессора тседі да ол кту режиміне кшеді. Жады рылысы аымдаы операцияны орындааннан со ол READY сигналын активті кйіне орнатады. Бл сигналы алып процесор з жмысын айтадан бастайды. READY сигналы баяу порттармен жмыс істеу кезінде олданылады.

Порттара жазу жне порттан оу операциялар жедел жады рылылардан оу/жазу операциялаа сас орындалады. Айырмашылыы тек ана MREQ сигналды орнына активті кйге порттарды жмысына рсат беретін IORQ сигнал кшеді.