Лабораторија 1 - Ардуино
содржина
- 1 Што е Arduino и како НЕ да се убие
- 2 Каде да се купи Arduino
- 3 Инсталирање на возачите
- 4 основни работи што треба да ги знаете за Arduino
- 5 ИДЕ
- 6 Пример
- 6.1 Трепкање
- 6.2 Испраќање на податоци до сериската порта на компјутерот.
- 6.3 Примање информации од серискиот интерфејс (или од кит).
- 7 вежби
- 7.1 Проблем 1 (10пт)
Што е Arduino и како НЕ да се убие
Arduino е платформа што се користи за програмирање на низа процесори од семејството Атмел. Arduino користи процесори SoC (Систем на чип), спецификациите за секој тип Arduino може да се најдат на https://www.arduino.cc/en/Products/Compare .

Серија копии на платформата Arduino Uno ќе се користат во лабораториите DSFUM, копиите се земени од Кина и, освен еден модул за вчитување на програмите што Кинезите сметаат дека е соодветно да ги заменат со изградена од нив, модулот работата и спецификациите се идентични. Значи, процесорот што ќе се користи е ATmega328P, работи на напон од 5V (иако влезниот напон за Arduino може да биде помеѓу 7V и 12V) и има 16Mhz. Иако се чини мало, 16Mhz се доволни за да направат многу сложени програми, но тие нема да ви дадат слобода како процесорот на компјутер: овој пат ќе мора максимално да го оптимизирате кодот, во спротивно имате шанси програмата да не одговара во RAM меморија (2Kb) или да не работи со задоволителна брзина (се надевам дека знаете како е со комплексноста на алгоритмите).
Бидејќи сретнавме студенти кои се плашат од Ардуино, мора да напоменеме дека напонот што може да биде опасен за луѓето е над 24V (иако само над 50V можат да станат фатални) - така да можете да работите со Arduino без страв дека може да добиете струја. Наместо тоа, може да го оштетите Arduino ако не ги ставите жиците правилно или ако го ставите во несоодветен трансформатор (над 12V). Во оваа лабораторија ќе го поврзете Arduino со USB портите на компјутерите и бидејќи тие обезбедуваат 5V (500mA), напојувањето е доволно за Arduino да работи. Постојат некои уреди што можат да бидат прикачени на Arduino и на кои им треба струја поголема од 5V, но за нив ќе разговараме во идна лабораторија. За почетници, еве неколку ограничувања што треба да ги имате предвид за да не ги запалите плочите Ардуино што ги имаме:
Иако горенаведеното има за цел малку да ве исплаши, Arduino не е толку скап (приближно 30 леи), па затоа неговото горење не е толку голема драма. Исто така, USB-портите изгореа поради Arduino што не сум го видел многу (но не е невозможно).
Каде да купите Arduino
Неколку врски до онлајн продавници во Романија:
https://www.robofun.ro - тука тие се поскапи, но оригинални
Или, ако сакате, можете да купите Arduinos и други компоненти од нашите кинески браќа кои се наоѓаат на целиот eBay (сепак, видете дека лицето од кое купувате има висок процент на позитивни критики или е заверено од ebay). Сајтови како алибаба, алиекспрес, екстремен рид, итн. тие исто така ви даваат компоненти Arduino +. Препорачуваме да купите строго што ви треба, а не цели пакувања сензори што подоцна немате каде да ги користите.
Може да ги испробате и колегите кои го направија Ардуино минатата година.
Инсталација на возачот
За неоригинални Arduinos (особено оние од кинески или од романски страници со пониски цени), ќе ви треба двигател за компонентата што ја вчитува програмата во процесорот на Arduino. Може да се најде на страницата на курсот или директно на: https://profs.info.uaic.ro/
За да го инсталирате возачот, прво поврзете ја таблата Arduino со компјутерот, а потоа наведете ја локацијата каде што сте го отпакувале возачот. Во случај да не работи на овој начин, во возачот ќе најдете и извршна програма што ќе изврши присилна инсталација (но сепак треба претходно да го поврзете arduino и да го одржувате поврзан за време на инсталацијата - за инсталерот да открие кој тип на arduino го поврзавте). Ардуиносот што го имаме не работи со MacOS (колку што знаеме), студентите кои го имаат инсталирано овој оперативен систем на лаптопите се поканети да работат на постојните компјутери во лабораторија.
Основните работи што треба да ги знаете за Ардуино
Ардуино е изграден специјално за употреба во образованието, особено за техничките училишта ориентирани кон електроника. Платформата Arduino може да се напојува од USB-портата на кој било компјутер (или дури и од полнач што нуди USB-порт). Може да се програмира со јазик многу сличен на јазикот C, чии спецификации може да се најдат на страницата arduino.cc, официјалната страница на платформата Arduino (поточно на https://www.arduino.cc/en/Reference/HomePage).
Различни сензори и активатори можат да бидат поврзани со ардуино. Сензорите земаат информации од околината, а активаторите се користат за нивно менување на одреден начин (на пример, преку сензор за светло можеме да го земеме фактот дека надвор се затемнило и можеме да затвориме реле поврзано со сијалицата во дневната соба до фати). За приложување на хардвер, Arduino UNO нуди број од 14 дигитални врски (нумерирани од 0 до 13) и 6 аналогни врски (нумерирани од 0 до 5). Обично дигиталните врски се користат за поврзување на активатори и аналогни за поврзување на сензори (иако тоа не е правило).
Како и секој компјутер (се прашувам дали сте го знаеле тоа), Ардуино работи во бесконечна јамка. Кога е вклучено (или откако е подигната нова програма), се извршува делот за поставки по што автоматски влегува во областа наречена јамка. Затоа, наједноставната структура на програмата што може да ја извршува Arduino е:
Постојат неколку ИДЕ за програмирање на платформата Ардуино (не е ни чудо ако земеме предвид дека сè тука се одвива во дворот на тековниот OpenSource), оној што ќе го користиме на овој курс е официјалниот, лоциран на страницата arduino.cc ( поточно на https://www.arduino.cc/en/Main/Software).
Најважните/интересни локации на овој интерфејс, кои ве покануваме да ги најдете, сметаме дека се:
Примери
Трепкај
Првиот пример што ќе го видиме во лабораторијата 1 е Blink (од менито File-> Examples-> Basics-> Blink). Улогата на оваа програма е да се вклучи, а потоа да се исклучи ЛЕР-тата плоча Arduino и која е поврзана со пинот 13. Обично оваа програма се користи за да се потврди добра комуникација помеѓу компјутер и платформата Arduino (можете да проверите дали е поставена програма, и дека работи правилно - обично новите Arduinos доаѓаат со оваа претходно инсталирана програма токму затоа што се користи за проверка на правилното работење). Вредноста LED_BUILTIN (што е константа) може да се замени со 13 - дигиталниот пин на кој е поврзана ЛЕР. Бидејќи кога поставувате програма на платформата Arduino, ова се случува преку сериската порта, можете да видите како трепкаат две TX/RX LED диоди на таблата Arduino. Ако не гледате како трепкаат овие две LED диоди, тоа значи дека не сте ја избрале правилно портата на која е поврзан Arduino или не сте ги инсталирале драјверите.
Испраќање на податоци до сериската порта на компјутерот.
Сериската порта е веројатно најстарата што постои. Испраќа знаци еден по друг (како што сугерира името: сериски). Иако сериската порта е надградена и сега е позната како USB (универзална сериска порта), режимот на пренос е сличен. За да се синхронизираат двата уреди, обајцата мора да ја знаат брзината со која се прави комуникацијата. Оваа брзина за сериската порта се мери во baud и го означува бројот на кодови што можат да се пренесат во една секунда. Колку е поголема оваа вредност, толку побрза е комуникацијата и побрза инструкцијата што го испраќа кодот. За овој пример ќе користиме бауд од 9600 (иако Arduino може да достигне 2.000.000 карактери во секунда). Во IDE ќе напишеме, а потоа ќе го поставиме следниот код, објаснувањата ќе ги понуди наставникот по лабораторија:
Ако сте виделе како работи програмата (користете сериски монитор со големина од 9600 - видете погоре како да пристапите до неа), отворете ја апликацијата кит што можете да ја преземете од Интернет, на типот на врска изберете „Сериски“, потоа изберете ја портата што е поврзано со Arduino (може да се види во долниот десен агол на IDE) и изберете ја брзината од 9600. Откако ќе го притиснете копчето Open, ќе можете да ги видите информациите пренесени од Arduino.
Примање информации од серискиот интерфејс (или од кит).
Може да користите Сериски монитор во IDE интерфејсот или апликацијата Кит за да видите како работи следната апликација.
Вежби
Проблем 1 (10пт)
Направете програма за Arduino што прима од сериската порта една од опциите 1,2 или 3.
- (3pt) Ако избраната опција е 1, зборот "вклучено" ќе се прикаже на сериската порта и ЛЕР-от од игла 13 ќе се запали.
- (3pt) Ако избраната опција е 2, зборот "исклучено" ќе се прикаже на сериската порта и ЛЕР-от од игла 13 ќе се изгасне.
- (3pt) Ако избраната опција е 3, зборот „трепкање“ ќе се прикаже на сериската порта и ќе трепка ЛЕР од игла 13 (слично на апликацијата за трепкање).
- (1пл) Ефектот од испраќање на кодот е непосреден (моментален). Beе се тестира ако трепне. кога сијалицата е запалена, вметната е опцијата 1, ЛЕР ќе остане осветлена, соодветно, ако за време на трепкањето, ако е исклучена ЛЕР, вметне е ЛЕР.