Как да свържете LED към Arduino платка
Платформата Arduino е изключително популярна по целия свят. Идеален инструмент за първите стъпки в развитието на програмирането и управлението на хардуера. С нарастването на уменията можете да разширите архитектурата, като добавите периферни устройства и изградите по-сложни системи, които изпълняват по-сложни програми. Платките Arduino Uno и Arduino Nano са подходящи за първоначално обучение. В техния пример се разглежда свързването на светодиода към Arduino.
Какво е Arduino Uno и Arduino Nano
Основата на платката Arduino Uno е микроконтролерът ATmega328. Има и допълнителни елементи:
- кварцов резонатор;
- бутон за рестартиране;
- USB конектор;
- интегриран стабилизатор на напрежение;
- захранващ конектор;
- няколко светодиода за индикация на режими;
- комуникационен чип за USB канал;
- конектор за програмиране във верига;
- още няколко активни и пасивни елемента.
Всичко това ви позволява да направите първите стъпки, без да използвате поялник, и да избегнете етапа на производство на печатна платка.Устройството се захранва от външен източник на напрежение 7..12 V или чрез USB конектор. Чрез него модулът се свързва към компютъра за изтегляне на скицата. Платката има източник на напрежение 3,3 V за захранване на външни устройства. 6, 14 цифрови изхода с общо предназначение са налични за работа. Товароносимостта на цифровия изход при захранване от 5 V е 40 mA. Това означава, че LED може да бъде директно свързан към него чрез ограничаващ резистор.
Платката Arduino Nano е напълно съвместима с Uno, но е по-малка по размер и има някои разлики и опростения, посочени в таблицата.
Плати | Контролер | Конектор за външно захранване | Микрочип за USB комуникация | USB конектор |
---|---|---|---|---|
Arduino Uno | ATmega328 | Има | ATmega8U2 | USB A-B |
Arduino Nano | ATmega328 | Не | FT232RL | микро USB |
Разликите не са фундаментални и нямат значение за темата на рецензията.
Какво ви трябва, за да свържете LED към Arduino платка
Има две опции за свързване на светодиода. За учебни цели можете да изберете всяка.
- Използвайте вграден LED. В този случай не е необходимо нищо друго, освен кабел за свързване към компютър чрез USB конектор - за захранване и програмиране. Няма смисъл да използвате външен източник на напрежение за захранване на платката: консумацията на ток е малка.USB A-B кабел за свързване на Arduino Uno към компютър.
- Свържете външни светодиоди. Тук ще ви трябва допълнително:
- самият светодиод;
- токоограничаващ резистор с мощност 0,25 W (или повече) с номинална стойност 250-1000 ома (в зависимост от светодиода);
- проводници и поялник за свързване на външна верига.
Светодиодите са свързани като катод към всеки цифров изход на микроконтролера, анод към общ проводник чрез баластен резистор. При голям брой светодиоди може да е необходим допълнителен източник на захранване.
Възможно ли е да свържете няколко светодиода към един изход
Може да се наложи да свържете външен светодиод или група светодиоди към някой от изходите. Товароносимостта на един изход на микроконтролера, както споменахме, е малка. Към него могат да бъдат директно свързани паралелно един или два светодиода с консумация на ток 15 mA. Не си струва да се тества оцеляването на продукцията с товар на ръба на възможността или надвишаващ го. По-добре е да използвате превключвател на транзистор (полево или биполярно).
Резистор R1 трябва да бъде избран така, че токът през него да не надвишава товароносимостта на изхода. По-добре е да вземете половината или по-малко от максимума. Така че, за да зададете умерен ток в 10 mA, съпротивлението при 5 волта захранване трябва да бъде 500 ома.
Всеки светодиод трябва да има собствен баластен резистор, не е желателно да го замените с един общ. Rbal е избран така, че да зададе работния си ток през всеки светодиод. Така че, за захранващо напрежение от 5 волта и ток от 20 mA, съпротивлението трябва да бъде 250 ома или най-близката стандартна стойност.
Необходимо е да се гарантира, че общият ток през колектора на транзистора не надвишава максималната му стойност. Така че, за транзистора KT3102, най-големият Ik трябва да бъде ограничен до 100 mA. Това означава, че към него могат да бъдат свързани не повече от 6 светодиода с ток. 15 mA. Ако това не е достатъчно, трябва да се използва по-мощен ключ.Това е единственото ограничение за избор на n-p-n транзистор в такава схема. Дори тук теоретично е необходимо да се вземе предвид усилването на триода, но за тези условия (входен ток 10 mA, изход 100) трябва да бъде най-малко 10. Всеки съвременен транзистор може да произведе такъв h21e.
Такава схема е подходяща не само за усилване на токовия изход на микроконтролера. Така че можете да свържете достатъчно мощни задвижващи механизми (релета, соленоиди, електрически двигатели), захранвани от повишено напрежение (например 12 волта). Когато изчислявате, трябва да вземете съответната стойност на напрежението.
Можете също да използвате за изпълнение на клавиши MOSFETs, но може да изискват по-високо напрежение за отваряне, отколкото може да изведе Arduino. В този случай трябва да се осигурят допълнителни вериги и елементи. За да избегнете това, е необходимо да използвате така наречените "цифрови" транзистори с полеви ефект - те се нуждаят от 5 волт да отвориш. Но те са по-рядко срещани.
Програмно управление на светодиод
Простото свързване на светодиод към изхода на микроконтролера прави малко. Необходимо е програмно да се овладее управлението на светодиода от Arduino. Това може да се направи на езика Arduino, който е базиран на C (C). Този език за програмиране е адаптация на C за първоначално обучение. След като го овладеете, преходът към C ++ ще бъде лесен. За да напишете скици (както се наричат програмите за Arduino) и да ги отстраните на живо, трябва да направите следното:
- инсталирайте Arduino IDE на персонален компютър;
- може да се наложи да инсталирате драйвер за USB комуникационния чип;
- свържете платката към компютър с помощта на USB-microUSB кабел.
Компютърните симулатори могат да се използват за отстраняване на грешки в прости програми и схеми. Симулацията на работата на платките Arduino Uno и Nano се поддържа например от Proteus (започвайки от версия 8). Удобството на симулатора е, че е невъзможно да деактивирате хардуера с погрешно сглобена схема.
Скиците се състоят от два модула:
- настройвам - изпълнява се еднократно при стартиране на програмата, инициализира променливи и режими на работа на хардуера;
- цикъл – се изпълнява циклично след блока за настройка до безкрайност.
За LED връзка можете да използвате който и да е от 14-те безплатни пина (пинове), които често неправилно се наричат портове. Всъщност портът е, просто казано, група от щифтове. Пинът е просто елемент.
Разглежда се пример за управление за пин 13 - към него вече е свързан светодиод на платката (чрез усилвател-последовател на платката Uno, през резистор на Nano). За да работите с щифт на порта, той трябва да бъде конфигуриран във входен или изходен режим. Удобно е да направите това в тялото на настройката, но не е необходимо - изходната дестинация може да се променя динамично. Тоест, по време на изпълнението на програмата, портът може да работи или за вход, или за извеждане на данни.
Инициализацията на пин 13 на Arduino (пин PB5 на порт B на микроконтролера ATmega 328) е както следва:
void setup()
{
pinMode(13, изход);
}
След изпълнение на тази команда, пин 13 на платката ще работи в изходен режим, по подразбиране ще бъде логически ниски. По време на изпълнението на програмата в нея може да бъде записана нула или единица. Записът на единицата изглежда така:
празен цикъл ()
{
digitalWrite(13, HIGH);
}
Сега пин 13 на платката ще бъде поставен високо - логически и може да се използва за запалване на светодиода.
За да изключите светодиода, трябва да зададете изхода на нула:
digitalWrite(13, LOW);
Така че, като напишете последователно едно и нула в съответния бит от регистъра на портовете, можете да управлявате външни устройства.
Сега можете да усложните програмата Arduino, за да управлявате светодиода и да научите как да мигате светлинноизлъчващия елемент:
void setup()
{
pinMode(13, изход);
}
празен цикъл ()
{
digitalWrite(13, HIGH);
забавяне (1000);
digitalWrite(13, LOW);
забавяне (1000);
}
Екип забавяне (1000) създава забавяне от 1000 милисекунди или една секунда. Чрез промяна на тази стойност можете да промените честотата или работния цикъл на мигащия светодиод. Ако външен светодиод е свързан към друг изход на платката, тогава в програмата, вместо 13, трябва да посочите номера на избрания щифт.
За по-голяма яснота препоръчваме поредица от видеоклипове.
След като овладеете LED връзките към Arduino и сте научили как да го управлявате, можете да преминете на ново ниво и да пишете други, по-сложни програми. Например, можете да научите как да превключвате два или повече светодиода с бутон, да променяте честотата на мигане с помощта на външен потенциометър, да регулирате яркостта на сиянието с помощта на PWM, да променяте цвета на RGB излъчвател. Нивото на задачите е ограничено само от въображението.