Съобщения
- (слайд) Вторник
- ден на паметта на Дъглас Адамс от Ръководство за галактиката на стопаджия
- на този ден всеки добър тракер има хавлията си на видимо място;)
Проект за нощна светлина
Съставките
- Както споменах, ще ни трябва:
- Светодиод, който ще действа като източник на светлина,
- PIR сензор, който ще засича движение,
- LDR сензор, който ще използваме за откриване на интензивността на светлината, и
- или бутон за включване или изключване на всичко
Диаграма на състоянието
В създаденото устройство можем да идентифицираме следните състояния:
- държави (от английския щат), a
- преходи между държави (от английски преход).
Получената диаграма на състоянието, представляваща това устройство, е показана на следващата фигура:
1. Светкавица на светодиода
Ако искаме да изчислим величината на това съпротивление, можем да направим с Законът на Ом. Трябва обаче да знаем:
- спад на напрежението на светодиода (т.нар. напрежение напред)
- величината на тока, който ще тече в контура
Максималният ток, който може да премине през щифта на платката Arduino, е 40mA. Въпреки това, за LED може да разчитаме на ток от 20mA.
Спадът на напрежението на светодиода зависи от неговия тип, респ. цветове. Така че нека разчитаме на стойност 1,7V.
По този начин, достатъчно съпротивление е 165 ома. Най-близкият резистор, който се използва за производство, е 220 ома.
GPIO щифтове
Arduino UNO
Забележка
Цифровите щифтове работят само с две стойности:
- HIGH - логика 1 (вярно), нивото на напрежението е 5V
- LOW - логика 0 (невярно), нивото на напрежението е 0V
Забележка
Разбира се, това не е точно 5V и точно 0V.
Настройване на изход GPIO Pin
Ще покажем работата с изходния GPIO щифт посредством LED диод, който е свързан към щифт 6 .
- щифт - GPIO номер на пин
- mode - режим на работа с пин, който може да бъде INPUT, OUTPUT (или също като INPUT_PULLUP)
Светодиодът е изходният задвижващ механизъм и е свързан към GPIO щифт 6. Настройките му ще изглеждат така:
Внимание
Когато се използва константа, консумацията на памет е същата като при използване на макрос, което вероятно се дължи на оптимизации на компилатора.
Светкавица LED
(слайд) Функцията digitalWrite () се използва за записване на логическа стойност в цифров щифт. Той има два параметъра:
- щифт - GPIO номер на пин
- стойност - стойност, която е или логическа 0 (LOW), или логическа 1 (HIGH)
Superloop
Ето как всъщност внедрихме примера Blink.
2. Четене на движението от PIR сензор
Свързваме PIR сензор към платката Arduino UNO, за да открием движение. Той ще генерира логическо ВИСОКО ниво на изхода, когато открие движение. В противен случай на изхода на сензора ще има логическо НИСКО ниво .
Забележка
За повече информация относно работата на PIR сензора препоръчвам да прочетете напр. статия Как работи HC-SR501 PIR сензорът и го свързва с Arduino.
(слайд) PIR сензорът има три щифта:
- VCC - захранване
- GND - земя
- OUT - цифров изход
Забележка
PIR сензор: дъска
Изходът от PIR сензора ще бъде свързан към GPIO pin номер. 4, което ще бъде зададено като вход:
- щифт - GPIO номер на пин
Функцията връща стойността на HIGH или LOW логическо ниво .
Изходът от сензора ще се чете във функцията цикъл (). След това можем веднага да използваме прочетената стойност, за да включим или изключим светодиода:
Серийна линия
е просто и евтино
за изпълнението му са достатъчни само два кабела (обаче са необходими четири заедно - комуникацията е двупосочна (пълен дуплекс))
Обикновено се предава 8b, към който в началото се добавя бит START и бит STOP с бит за паритет в края (може или не)
Последователна комуникация
- функции за писане - напр. Serial.print (), Serial.println ()
- функции за четене - напр. Serial.read (), Serial.readString ()