Реклама
Прошли пут кад сам те напустио поставивши Први кораци са својим Ардуино Стартер Китом - Инсталирање драјвера и постављање плоче и прикључкаПа, купили сте себи Ардуино стартер сет и вероватно неке друге случајне цоол компоненте - шта сад? Како заправо започињете с програмирањем ове Ардуино ствари? Како то подесити ... Опширније ваш Ардуино за рад са Мац или Виндовс системом и пребацивање једноставне тестне апликације која је трептала ЛЕД-ом на возилу. Данас ћу објаснити код који сте поставили, структуру Ардуино софтвера и мало више о електронским битовима на самој плочи.
Овај чланак је дио увода у серију Ардуино. Остали чланци у низу до сада су:
- Шта је Ардуино и шта можете учинити са тим Шта је Ардуино и шта можете учинити са тим?Ардуино је изузетан мали електронички уређај, али ако га никада раније нисте користили, шта су тачно и шта можете да урадите са њим? Опширније ?
- Шта је Ардуино стартер сет и шта садржи? Шта је укључено у Ардуино Стартер Кит? [МакеУсеОф објашњава]Претходно сам представио Ардуино хардвер отвореног кода овде на МакеУсеОф-у, али требат ће вам више него само стварни Ардуино да бисте из њега нешто направили и заправо започели. Ардуино "стартер комплети" су ... Опширније
- Још цоол компоненти за куповину са својим стартер китом Још 8 компоненти за ваше Ардуино пројектеДакле, размишљате о набавци Ардуино стартног комплета, али питате се да ли ће неки основни ЛЕД и отпорници бити довољни да вас заузму за викенд? Вероватно не. Ево јос 8 ... Опширније
- Први кораци са својим Ардуино Стартер Китом - Инсталирање драјвера и постављање плоче и прикључка Први кораци са својим Ардуино Стартер Китом - Инсталирање драјвера и постављање плоче и прикључкаПа, купили сте себи Ардуино стартер сет и вероватно неке друге случајне цоол компоненте - шта сад? Како заправо започињете с програмирањем ове Ардуино ствари? Како то подесити ... Опширније
Тхе Хардваре
Погледајмо ближе шта Ардуино Уно има у погледу битова на плочи.
Ево увећаног дијаграма на који се односи:
- Дуж врха се налази 14 дигиталних улаза / излаза (са бројевима 0-13). Ово су најсвестраније игле на вашем Ардуино-у и могу функционирати као улаз или излаз и чиниће језгро ваших пројеката. Дигитално значи да ће сигнал који ови пинови могу писати или прочитати бити укључен или искључен.
- 6 оних дигиталних пинова који су обележени знаком тилде ~ способни су да раде оно што се зове Модулација ширине импулса. Нисам инжењер електротехнике, па се нећу осрамотити објашњавајући науку која стоји иза овога, али вама и мени то значи да можемо пружити низ излазних нивоа - на пример, пригушивање ЛЕД-а или покретање мотора у различитим условима брзине.
- Пин 13 је посебан по томе што има уграђену ЛЕД. Ово је стварно у сврху практичности и испитивања. Можете да користите тај уграђени ЛЕД, као што је то случај у апликацији Блинк, једноставним излазом на пин 13 - или се може користити као стандардни улазно / излазни пин.
- У доњем десном углу је 6 аналогних улазних пинова. Они ће очитати вредност аналогних сензора као што су мерачи светла или променљиви отпорници.
- У доњем левом делу поред аналогних улазних пинова налазе се пинови за напајање. Једино о чему заиста требате да се бринете јесу уземљени пинови (ГНД), 3.3В и 5В далеководи.
- Коначно, једини прекидач који се налази на Ардуину је прекидач за ресетовање. Ово ће поново покренути програм који има у меморији.
- Ардуино има подешену количину меморије, а ако вам програм постане превелик, преводилац ће вам дати грешку.
Структура Ардуино програма
Сваки Ардуино програм састоји се од најмање две функције (ако не знате шта је функција, обавезно прочитајте моју основни водич за програмирање, други део - изјаве о функцијама и управљању Апсолутне основе програмирања за почетнике (други део)У другом делу нашег апсолутног водича за почетнике програмирања, покрићу основе функција, повратне вредности, петље и услов. Обавезно прочитајте први део пре него што се позабавите овим, где сам објаснио ... Опширније , и Део 1 где смо разговарали о променљивим Основе рачунарског програмирања 101 - променљиве и типови податакаПредставивши се и поразговарајући о објектно оријентисаном програмирању пре и где је његов имењак долази од, мислио сам да је време да прођемо кроз апсолутне основе програмирања у језику који није специфичан за језик начин. Ово ... Опширније пре него што наставите).
Прва је функција подешавања. Ово се покреће у почетку - само једном - и користи се за рећи Ардуину шта је повезано и где, као и иницијализацији свих променљивих које ће вам можда требати у вашем програму.
Друго је петља. То је срж сваког Ардуино програма. Када се Ардуино покрене, након завршетка функције подешавања, петља ће проћи кроз све кода, а затим све поновите све док се не изгуби или напајање или прекидач за ресетовање притиснуто. Дужина времена потребно да се заврши једна пуна петља зависи од кода који се налази. Можете написати неки код који каже „причекајте 6 сати“, у том случају петља се неће понављати врло често.
Ево кратког дијаграма стања за илустрацију:
Испитивање Блинк Програм-а
Погледајте програмски код Блинк и препознајте функције подешавања и петље.
Ево подешавања:
воид сетуп () { // иницијализира дигитални пин као излаз. // Пин 13 има ЛЕД спојен на већину Ардуино плоча: пинМоде (13, ОУТПУТ); }
Линије које почињу // су једноставно коментари за објашњење кода људском читаоцу и они се не постављају у Ардуино. Тако да у овој Ардуино апликацији постоји само један ред шифре за постављање. У том ретку пише "Подесите пин 13 на излазни режим". 13, запамтите, је уграђени ЛЕД.
Затим је ту петља:
воид лооп () { дигиталВрите (13, ВИСОКО); // укључите ЛЕД. кашњење (1000); // чекај секунду. дигиталВрите (13, НИЗ); // искључите ЛЕД. кашњење (1000); // чекај секунду. }
Коментари на крају сваког ретка кода прилично добро објашњавају њихову функцију. ХИГХ и ЛОВ односе се на ОН и ОФФ стање дигиталног излаза - у нашем случају ЛЕД. У коду можете и да напишете ОН или ОФФ, оба су синонимна (као што је 0 и 1). Кашњење каже Ардуину да причека мало, у овом случају 1000 милисекунди (или 1 секунду).
На крају, напомена о овде коришћеном програмском језику. Имајте на уму да и функције подешавања и петље имају реч празнина пред њима. Ово је посебна реч за ништа, јер функција не враћа ништа када се зове - једноставно покреће код који се налази у. За сада, оставимо то на томе да кажемо да је блок функције затворен коврчавим заградама {} и да се сваки ред кода мора завршити са; тацка зарез.
Покушајте на неки начин измијенити основни програм промјеном прецизних вриједности кашњења у нешто веће или мање. Погледајте како мало можете да га спустите пре него што треперење више не примети. Одредите коју вредност променити да бисте оставили дуже или да бисте остали дуже време. Покушајте да додате још неке изјаве дигиталВрите и одложите у функцију петље да бисте створили сложенији трептајући образац попут морсе код за СОС. Ако имате звучни сигнал, покушајте да га повежете и на игле 13 и ГНД (наговештај: црвена жица иде на 13, црна на земљу).
То је све за данас. Следећи пут ћемо додати још неке ЛЕД диоде и написати сопствену апликацију од почетка. Као и увек, коментари и дељења су много цењени. Не могу да замислим да имате проблема са кодом који се помиње данас, али ако сте покушали мало прилагодити код и јесте наиђете на грешке или неочекивано понашање, слободно га објавите у коментарима и видећемо да ли можемо да прођемо кроз њега заједно.
Јамес има диплому о вештачкој интелигенцији и сертификат је ЦомпТИА А + и Нетворк +. Он је водећи програмер МакеУсеОф-а и своје слободно време проводи играјући ВР паинтбалл и таблегамес. Градио је рачунаре још од детета.