Здається, що може бути простіше, ніж підключити кнопку? Тим не менше, і тут є свої підводні камені. Давайте розберемося.
Вам знадобиться
- – Arduino;
- – тактова кнопка;
- – резистор 10 кОм;
- – макетна плата;
- – з’єднувальні дроти.
Інструкція
1. Кнопки бувають різні, але всі вони виконують одну функцію – фізично сполучають (або, навпаки, розривають) між собою провідники для забезпечення електричного контакту. В найпростішому випадку – це з’єднання двох провідників, є кнопки, які з’єднують більшу кількість провідників. Деякі кнопки після натискання залишають провідники сполученими (фіксуються кнопки), інші – відразу ж після відпускання розмикають ланцюг (нефиксирующиеся). Також кнопки ділять на нормально розімкнуті і нормально замкнуті. Перші при натисканні замикають ланцюг, другі – розмикають. Зараз знайшов широке застосування тип кнопок, які називають “тактові кнопки”. Тактові – не від слова “такт”, а слова “тактильний”, т. к. натискання добре відчувається пальцями. Це кнопки, які при натисканні замикають електричну ланцюг, а при відпусканні – розмикають.
2. Кнопка – дуже просте і корисне винахід, що служить для кращої взаємодії людини і техніки. Але, як і все в природі, вона не ідеальна. Проявляється це в тому, що при натисканні на кнопку і при її відпусканні виникає т. н. “брязкіт” (“bounce” по-англійськи). Це багаторазове перемикання стану кнопки за короткий проміжок часу (порядку декількох мілісекунд), перш ніж вона прийме сталий стан. Це небажане явище виникає в момент перемикання кнопки з-за пружності матеріалів кнопки або через виникають при електричному контакті микроискр.Побачити своїми очима брязкіт контактів можна з допомогою Arduino, що ми і зробимо трохи пізніше.
3. Щоб підключити нормально розімкнений тактову кнопку до Arduino, можна поступити найпростішим способом: один вільний провідник кнопки з’єднати з харчуванням або землею, інший – з цифровим висновком Arduino. Але, взагалі кажучи, це неправильно. Справа в тому, що в моменти, коли кнопка не замкнута, на цифровому виводі Ардуїнов будуть з’являтися електромагнітні наведення, і з-за цього можливі помилкові спрацьовування.Щоб уникнути наведень, цифровий висновок зазвичай підключають через досить великий резистор (10 кОм) або на землі, або до харчування. В першому випадку це називається “схема з підтягуючим резистором”, у другому – “схема зі стягуючим резистором”. Давайте розглянемо кожну з них.
4. Спочатку підключимо до Arduino кнопку за схемою з підтягуючим резистором. Для цього один контакт кнопки з’єднаємо з землею, другий – з цифровим виходом 2. Цифровий вихід 2 також підключимо через резистор номіналом 10 кОм до живлення +5 Ст.
5. Напишемо ось такий скетч для обробки натискань кнопки і завантажимо в Arduino.Тепер вбудований світлодіод на виводі 13 постійно горить, поки не натиснута кнопка. Коли натискаємо кнопку, вона приймає стан LOW, і світлодіод гасне.
6. Тепер зберемо схему зі стягуючим резистором. Один контакт кнопки з’єднаємо з живленням +5 В, другий – з цифровим виходом 2. Цифровий вихід 2 підключимо через резистор номіналом 10 кОм до землі. Скетч міняти не будемо.
7. Тепер світлодіод не горить, поки не натиснули кнопку.