реклама

ардуино платкаПоследния път те оставих като се настрои Първи стъпки с вашия Arduino Starter Kit - Инсталиране на драйвери и настройка на дъската и портаТака че, купихте си стартов комплект Arduino и вероятно някои други произволни готини компоненти - сега какво? Как всъщност започвате с програмирането на това нещо от Arduino? Как да го настроите ... Прочетете още Вашият Arduino да работи с Mac или Windows и е качил просто тестово приложение, което мига на бордовия светодиод. Днес ще обясня кода, който сте качили, структурата на софтуера на Arduino и малко повече за електронните битове на самата платка.

Тази статия е част от увод към серията Arduino. Другите статии от поредицата досега са:

  • Какво е Arduino и какво можете да направите с него Какво е Arduino и какво можете да направите с него?Arduino е забележително малко електронно устройство, но ако никога досега не сте използвали такова, какви точно са те и какво можете да направите с такова? Прочетете още ?
  • Какво представлява стартов комплект Arduino и какво съдържа?
    instagram viewer
    Какво е включено в стартовия комплект за Arduino? [MakeUseOf обяснява]По-рано представих хардуера с отворен код на Arduino тук на MakeUseOf, но ще ви трябва повече от само действителния Arduino, за да изградите нещо от него и всъщност да започнете. Arduino "стартови комплекти" са ... Прочетете още
  • Още готини компоненти, които да купите с вашия стартов комплект 8 повече готини компоненти за вашите проекти на ArduinoТака че мислите да вземете стартов комплект Arduino, но се чудите дали някои основни светодиоди и резистори ще бъдат достатъчни, за да ви занимават за уикенда? Вероятно не. Ето още 8 ... Прочетете още
  • Първи стъпки с вашия Arduino Starter Kit - Инсталиране на драйвери и настройка на дъската и порта Първи стъпки с вашия Arduino Starter Kit - Инсталиране на драйвери и настройка на дъската и портаТака че, купихте си стартов комплект Arduino и вероятно някои други произволни готини компоненти - сега какво? Как всъщност започвате с програмирането на това нещо от Arduino? Как да го настроите ... Прочетете още

Хардуерът

Нека разгледаме по-подробно какво има Arduino Uno по отношение на битовете на платката.

Ето разширена диаграма, за да се отнасяте до:

ардуино платка
  • В горната част има 14 цифрови щифта за вход / изход (номерирани 0-13). Това са най-универсалните пинове на вашия Arduino и могат да функционират като вход или изход и ще формират сърцевината на вашите проекти. Digital означава, че сигналът, който тези пинове могат да пишат или четат, ще бъде включен или изключен.
  • 6 от онези цифрови пинове, които са маркирани със знака на тилда ~ са способни да правят това, което се нарича Широчинно импулсна модулация. Аз не съм електроинженер, така че няма да се смущавам, като обяснявам науката зад това, но на вас и на мен това означава, че можем да осигурим диапазон на изходните нива - например затъмняване на светодиод или задвижване на двигател при различни ускорява.
  • Пин 13 е специален по това, че има вграден светодиод. Това е за удобство и тестване само наистина. Можете да използвате този вграден светодиод, както сте направили в приложението Blink, като просто изведете на пин 13 - или може да се използва като стандартен входно-изходен пин.
  • В долната дясна част са 6 аналогови входни щифта. Те ще отчитат стойността на аналоговите сензори, като светломер или променливи резистори.
  • Най-долу вляво до аналоговите входни щифтове са щифтове за захранване. Единствените, за които наистина трябва да се притеснявате, са заземяващите щифтове (GND), 3.3 V и 5 V електропроводи.
  • И накрая, единственият превключвател, открит на Arduino, е ключ за нулиране. Това ще рестартира каквато и програма да има в паметта си.
  • Arduino има зададено количество памет и ако програмата ви е твърде голяма, компилаторът ще ви даде грешка.

Структурата на програма Arduino

Всяка програма на Arduino е съставена от поне две функции (ако не знаете каква е функция, не забравяйте да прочетете моята основен урок за програмиране, част 2 - операции за операции и контрол Абсолютните основи на програмирането за начинаещи (част 2)В част 2 от нашите абсолютни начинаещи ръководства за програмиране ще разгледам основите на функциите, връщащите стойности, контурите и условностите. Уверете се, че сте прочели част 1, преди да се заемете с това, където обясних ... Прочетете още , и част 1, където обсъдихме променливи Основите на компютърното програмиране 101 - Променливи и типове данниСлед като се запознахме и поговорихме малко за обектно-ориентираното програмиране преди и къде е съименникът му идва от, реших, че е време да преминем през абсолютните основи на програмирането в неезиков специфичен начин. Това... Прочетете още преди да продължи).

Първата е функцията за настройка. Това се стартира първоначално - само веднъж - и се използва, за да каже на Arduino какво е свързано и къде, както и за инициализиране на всички променливи, които може да са ви необходими във вашата програма.

На второ място е примката. Това е ядрото на всяка програма на Arduino. Когато Arduino работи, след като функцията за настройка приключи, цикълът ще премине през всички код, след това направете всичко отново - докато или не се загуби захранването или превключвателят за нулиране натиснат. Продължителността на времето, необходимо за завършване на един пълен цикъл, зависи от съдържащия се код. Можете да напишете някакъв код, който гласи „изчакайте 6 часа“, в този случай цикълът няма да се повтаря много често.

Ето една бърза диаграма на състоянието, която илюстрира:

ардуино платка

Разглеждане на програмата за мигане

Обърнете внимание на програмния код на Blink и идентифицирайте функциите за настройка и цикъл.

Ето настройката:

настройка за невалидност () { // инициализирайте цифровия щифт като изход. // Pin 13 има LED, свързан към повечето Arduino платки: pinMode (13, OUTPUT); }

Линиите, които започват с // са просто коментари, за да обяснят кода на човешки четец и те не се качват в Arduino. Така че всъщност има само един ред код за настройка в това конкретно приложение на Arduino. В този ред се казва „Задайте щифт 13 в режим на изход“. 13, не забравяйте, е вградения светодиод.

Тогава има цикъла:

void loop () { digitalWrite (13, HIGH); // включете светодиода. забавяне (1000); // изчакайте секунда. digitalWrite (13, LOW); // изключете светодиода. забавяне (1000); // изчакайте секунда. }

Коментарите в края на всеки ред код обясняват доста добре тяхната функция. HIGH и LOW се отнасят за състоянието ON и OFF на цифров изход - в нашия случай светодиода. Всъщност можете да напишете ON или OFF и в кода, и двете са синоними (както е 0 и 1 също). закъснение казва на Ардуино да изчака малко, в случая 1000 милисекунди (или 1 секунда).

И накрая, бележка за езика за програмиране, използван тук. Забележете, че както функциите за настройка, така и контура имат думата празнота пред тях. Това е специална дума за Нищо, защото функцията не връща нищо когато се извиква - той просто изпълнява кода, съдържащ се вътре. За сега нека го оставим на това, като казваме, че блокът код на функцията е затворен от къдрави скоби {} и че всеки ред код трябва да завършва с a; полу-дебелото черво.

Опитайте се по някакъв начин да промените основната програма, като промените точните стойности на забавяне на нещо по-голямо или по-малко. Вижте колко малко можете да го намалите, преди мигането вече да не се забелязва. Помислете коя стойност да промените, за да я оставите да остане по-дълго или да останете на разстояние по-дълго. Опитайте да добавите още цифрови изписвания и отлагания в функцията на цикъла, за да създадете по-сложен мигащ модел като морзов код за SOS. Ако имате зумер, опитайте да го свържете към пинове 13 и GND (намек: червеният проводник отива на 13, черният - заземен).

Това е всичко за днес. Следващия път ще добавим още няколко светодиода и ще напишем собственото си приложение от нулата. Както винаги, коментарите и споделянията се оценяват много. Не мога да си представя, че имате някакви проблеми с посочения днес код, но ако сте се опитали да коригирате кода леко и сте изпаднали в грешки или неочаквано поведение, не се колебайте да го публикувате в коментарите и ще видим дали можем да работим чрез него заедно.

Джеймс има бакалавърска степен по изкуствен интелект и е сертифициран като CompTIA A + и Network +. Той е водещ разработчик на MakeUseOf и прекарва свободното си време, играейки VR пейнтбол и настолни игри. Той изгражда компютри още от дете.