ПредишенСледващото

  • основен
  • Проект 2: Отнасяйте се с едно натискане на бутона на пример за LED запалването

Проект 2: Отнасяйте се с едно натискане на бутона на пример за LED запалването


Това е експеримент върху бутона. Ще включим светодиодът на бутона е натиснат и изключване освободите бутона. Обмислете идеята за отпадане и да софтуерни техники, за да го отстранят.

В този експеримент, ние ще използваме контакта D2 Arduino като вход. Това ви позволява да го свържете към бутона, за да си взаимодействат в реално време на проекта. Когато се използва като входове Arduino употреба разтегателни качване и падащи-резистори, за да въведете Arduino не в "спряно" състояние (в това състояние, той ще събере на външни смущения, и да вземат произволни стойности) и имат известен състояние (0 или 1 ). Гостилница резистори издърпайте на входа на захранването на 5 V, падащи-резистор дърпане принос към GND. В допълнение, разтегателен качване и падащи-резистор гарантира, че бутона не създава късо съединение между + 5V и земята при натискане. В нашия експеримент, ние ще използваме падащото-резистор бутон, за да се свържете. електрическа схема е показана на Фиг. 2.1.

Arduino Проект 2 дръжка натискане на пример LED запалването

Фиг. 2.1. Схема на свързване бутони и светодиоди


При натискане на бутона се деактивира, D2 принос ще бъде изтеглен на "земята" през резистор 10K, което ще ограничи притока на ток, а входът е настроена на ниско напрежение. Натискането на входния терминал 5 е свързан директно с V. По-голямата част на тока ще тече по пътя на най-малкото съпротивление чрез бутона затворен и на входа се генерира високо ниво. Когато натиснете бутона, индикаторът, когато са освободени - гасене на пожара.
Код на скицата е показано на Обявата 2.1.

1. дълго рамо на LED (анода) е свързан с цифров терминал D10 Arduino, от друга страна (катод) - чрез 220 ома резистор към терминал GND (виж Фигура 2.1 ..).
2. Един входни бутони се свързват към 5 V, а от друга - през 10 Kohm резистор да GND, бутонът изход свързан към входа D2 Arduino (виж Фигура 2.1 ..).
3. Заредете в борда скица на Фигура 2.1 Ардуино.
4. След като натиснете бутона индикаторът трябва да се запали, когато освободите - заглушени.

Усложни задачата - ще се превключи на LED статус (включване / изключване) при всяко натискане на бутона. Заредете Ардуино скица на Фигура 2.2.

При натискане на бутона индикаторът трябва да променя състоянието си. Но това не винаги ще се случи. Причината за това - бутони на отпадане.
Бутони представляват механично устройство с пружина контакт система. Когато натиснете бутона надолу, сигналът не е просто преминаване от ниска към висока, тя е в рамките на няколко милисекунди, стойността се променя от един към друг, преди контакти плътно прилягат плътно и високо поставени.
Мик ще оправи всичко това натискане, защото отскока е неразличима от настоящото натискането на един бутон. Премахване на влиянието на трака може програмен път. следния алгоритъм:

1. Не забравяйте предишното състояние на бутона и текущото състояние на бутона (дъно при инициализиране).
2. Cchityvaem на текущото състояние на бутона.
3. Ако на текущото състояние на бутона е различно от предишното състояние на бутона, изчакайте 5 мс, така че бутонът може да са се променили състояние.
4. След 5 мс четат състоянието на бутона, и да го използвате като сегашното състояние ключа.
5. Ако предишното състояние на бутона е нисък и текущото състояние на високи бутона, изключете LED статус.
6. Определете предишното състояние на бутона за текущото състояние на един бутон.
7. се върнете към стъпка 2. Добавяне на нашата скица рутинна debounce.
Вземете кода в Обявата 2.3.

Заредете скица в Ардуино и проверка на работата. Сега всичко работи правилно, всяко натискане на резултатите от бутоните до промяна на LED статус.

Подкрепете проекта - споделете линка, благодаря!