Съдържание:

Контрол на яркостта, Arduino (с анимации): 7 стъпки
Контрол на яркостта, Arduino (с анимации): 7 стъпки

Видео: Контрол на яркостта, Arduino (с анимации): 7 стъпки

Видео: Контрол на яркостта, Arduino (с анимации): 7 стъпки
Видео: Начало работы с QLC+ Управление цветомузыкой с компьютера. Как управлять светом. 2024, Ноември
Anonim
Image
Image

През последните няколко години изградих две пинбол машини (pinballdesign.com) и две глави на роботи (grahamasker.com), всяка от които се контролира от Arduinos. След като съм имал кариера като машинен инженер, аз съм добре с дизайна на механизмите, но се боря с програмирането. Реших да създам анимации, за да илюстрирам някои от основните концепции на Arduino. Мислех, че това ще помогне на мен и другите да ги разберем. Една картина струва хиляда думи, а анимацията може да бъде хиляда снимки!

Ето едно анимирано обяснение по темата за контрол на яркостта. Анимацията по -горе показва схема на потенциометър, свързан към Arduino. Той показва как регулирането на позицията на потенциометъра може да промени яркостта на светодиода. Ще обясня всички елементи на този процес. За всеки, който не е запознат с потенциометри и светодиоди, ще започна с тях. След това ще обясня защо светодиодът трябва да бъде свързан към PWM активиран щифт Arduino и как функцията MAP се използва в скица на Arduino за преобразуване на входа от потенциометъра в изход, който е подходящ за управление на светодиод.

Ако сте запознати с светодиоди и потенциометри, можете да пропуснете раздели 1 и 2.

Стъпка 1: ЗА LED

ЗА светодиодите
ЗА светодиодите

Лявата илюстрация по -горе показва символа на веригата за LED и полярността на LED краката. Токът ще тече само през светодиод в една посока, така че полярността е важна. По -дългият крак е положителен. Също така има плоска страна на фланеца, това е отрицателната страна.

НАПРЕЖЕНИЕ и ТОК

Необходимото напрежение на светодиода варира от около 2.2v до 3.2 волта в зависимост от цвета му. Техният текущ рейтинг обикновено е 20mA. За да се ограничи токът и да се предотврати прегряване на светодиода, е необходимо да се използва последователно резистор с всеки светодиод. Препоръчвам около 300 ома.

Илюстрацията вдясно по -горе показва начин на запояване на резистор към крака на светодиод и изолирането му с термосвиваема втулка.

Стъпка 2: ПОТЕНТИОМЕТЪР

ПОТЕНЦИОМЕТЪР
ПОТЕНЦИОМЕТЪР

От гледна точка на Arduino, потенциометърът е сензор. „Сензор“се отнася до всяко външно устройство, което при свързване към входни щифтове може да бъде засечено от Arduino. Ще използваме потенциометър, свързан към Arduino, за да контролираме яркостта на светодиода. Потенциометър понякога се нарича делител на напрежение, което според мен е по -добро описание. Диаграмата вляво по -горе показва принципа на делителя на напрежение. В този пример резистор е свързан към земята в единия край и се държи от източник на захранване към 5v в другия край. Ако плъзгачът бъде преместен по протежение на резистора, той ще бъде при напрежение 0v в левия край, 5v в десния край. Във всяка друга позиция тя ще бъде на стойност между 0v и 5v. На половината път, например, той ще бъде при 2.5V. Ако променим подреждането, както е показано вдясно по -горе, това представлява действието на въртящ се потенциометър.

Стъпка 3: КРЪГ

ВРЪЖКА
ВРЪЖКА

Илюстрацията по -горе показва как трябва да свържем потенциометъра и проводника към Arduino.

Ardunio трябва да усети напрежението, което се подава към него от потенциометъра. Напрежението се променя плавно при завъртане на потенциометъра, поради което той е аналогов сигнал и следователно трябва да бъде свързан към аналогов входен щифт на Arduino. Напрежението на този щифт ще се чете от Arduino всеки път, когато програмата го поиска чрез функция „analogRead“.

Arduino има само цифрови изходни щифтове. Обаче тези щифтове с тилда (~) до тях симулират аналогов изход, който е подходящ за контрол на яркостта на Led. Този процес се нарича Pulse Width Modulation (PWM) и се обяснява чрез следващата анимация, Стъпка 4.

Стъпка 4: ШИМ

ШИМ, широчинно -импулсна модулация

Както бе споменато по -рано, щифтовете с тилда, „~“до тях са PWM щифтове. Тъй като щифтовете са цифрови, те могат да бъдат само при 0v или 5v, но с PWM те могат да се използват за затъмняване на светодиод или контрол на скоростта на двигателя. Те правят това, като подават 5v към светодиод, но импулсират между 0v и 5v при 500 Hz (500 пъти в секунда) и разтягат или свиват продължителността на всеки 0v и 5v елемент на импулса. Тъй като светодиодът вижда по -дълъг 5v импулс от 0v импулс, той става по -ярък. В нашата програма използваме функцията analogueWrite () за извеждане на PWM „квадратна вълна“. Той има 256 стъпки, нула дава 0% работен цикъл и 255 дава 100% „работен цикъл“, т.е. непрекъснати 5 волта. Така 127 би дал 50% работен цикъл, половината от времето при 0v и половината от времето при 5v. Анимацията по -горе показва как с увеличаване на този работен цикъл към 100% светодиодът става по -ярък.

Стъпка 5: ПРОГРАМАТА (ARDUINO SKICCH)

Image
Image

Горното видео преминава през програма (скица), която може да се използва за контрол на яркостта на светодиода с помощта на потенциометър. Веригата е същата, както е показано на стъпка 3.

Ако смятате, че този видеоклип е бърз (или бавен) за четене удобно, тогава можете да регулирате скоростта му. В десния край на долната контролна лента има символ, оформен като зъбно колело (понякога с червен етикет „HD“върху него.) Ако щракнете върху него, ще се появи меню, което включва "скорост на възпроизвеждане".

Разбира се, би било по -добре, ако можете да щракнете върху бутон, за да преминете през всеки ред на програмата със собствена скорост, но за съжаление не е възможно да предоставите този интерактивен метод тук. Ако предпочитате да използвате този метод по тази тема и много други теми на Arduino, тогава има безплатна предварителна версия на интерактивна/анимирана електронна книга, достъпна на animatedarduino.com

Има една функция в програмата, която според мен се нуждае от повече обяснения: на line14 се използва функцията "map". Следва, в стъпка 6, обяснение за неговата цел

Стъпка 6: MAP

Потенциометърът е свързан към аналогов щифт. Напрежението на потенциометъра варира между 0v и 5v. Този диапазон е регистриран в процесора на 1024 стъпки. Когато входът на стойност се използва за създаване на изход чрез цифров пин с активирана ШИМ, този диапазон трябва да бъде съпоставен с изходния диапазон на цифров щифт. Това има 255 стъпки. Функцията на картата се използва за тази цел и осигурява изход, който е пропорционален на входа.

Видеото по -горе илюстрира това.

Стъпка 7: Анимиран Arduino

Изображенията в тази инструкция са взети от моята електронна книга Animated Arduino, която е достъпна на www.animatedarduino.com, в която имам за цел да осигуря по -добро разбиране на някои от концепциите, срещани при изучаването на програмирането на Arduino.

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

Препоръчано: