Занятие №2 Кнопка. В котором мы подключаем кнопку - проект Arduino в лицее №17 г. Северодвинска

25.12.2018, 14:20
Источник: parshev.wordpress.com



Что хотим

На монтажной плате диод и кнопка. Нажимаем кнопку — диод горит, отпускаем — не горит, нажимаем — горит, отпускаем — опять не горит. Замечательно не горит.

  • Ардуино
  • Монтажная плата
  • Резистор 220 Ом
  • Резистор 10 кОм
  • Светодиод
  • Тактовая кнопка
  • Проводники
  • Среда программирования Arduino IDE (для ChipKit Uno32 среда программирования MPIDE)

Этапы работы

  • Разбираемся
  • Собираем схему
  • Пишем программу
  • Подсоединяем плату к компьютеру и прошиваем
  • Наслаждаемся
  • Экспериментируем

Разбираемся

На прошлом занятии с помощью команды digitalWrite (13,HIGHT); мы подавали логическую единицу (5В) на 13 Pin платы. На самом деле, таких цифровых выходов на классических Arduino их 14, а на используемом в лицее ChipKIT Uno 32 — целых 42! Как правило на платах они обозначены словом DIGITAL.

Замечательным свойством этих выходов является то, что они могут быть еще и входами. То есть микроконтроллер может узнать, какое логическое значение на этих разъемах: 0 (LOW) или 1 (HIGH). С технической точки зрения логическому 0 соответствует напряжение из диапазона от 0 до 2 В, а логической единице — от 3 до 5В.

Для того, что бы некоторый порт работал на чтение информации, в разделе setup его надо соответствующим образом настроить. Допустим, читать информацию будем со 2-ого Pin’а. Тогда:

void setup (){
PinMode (2,INPUT);
}

Для чтения информации со 2-ого входа в программе будем использовать функцию digitalRead(). Её значение надо запомнить в переменной. Назовём эту переменную Pin2. Оператор в программе запишется так:
Pin2 = digitalRead(2);
Что же будет читать программа? Какое значение записывается в Pin2? Точно ответить на данный вопрос не возможно. Для того, что бы на входе платы оказался 0, его надо притянуть через достаточно большое сопротивление (порядка 10кОм) на GND (ground — земля) платы:
Единицу будем подавать через кнопкуЕдиницу будем подавать через кнопку:

Сопротивление должно быть высокоомнымСопротивление должно быть высокоомным по двум причинам:

1. При замыкании кнопки не произойдёт КОРОТКОЕ ЗАМЫКАНИЕ, плата не сгорит.

2. Ток не уйдёт в землю, а пойдёт туда, куда нам надо — на вход платы.

Собираем схему:

Собираем схему

Пишем программу

Диод должен гореть только если кнопка нажата, т.е. сигнал на Pin2 имеет значение HIGH. Пишется это так:
void loop(){
Pin2 = digitalRead(2); //читаем сигнал на втором Pin'е
if (Pin2 == HIGH) { //Если его состояние HIGH
digitalWrite(13,HIGH); //то зажигаем диод
}
else //иначе
{
digitalWrite(13,LOW); //выключаем диод
}
}

Переменные надо описывать. В самом начале напишем строку
int Pin2 = 0;
Тем самым мы создадим целочисленную переменную с именем Pin2 и присвоим её значение 0.

Программа полностью:


int Pin2 = 0;
void setup (){
PinMode(13,OUT);
PinMode (2,INPUT);
}
void loop(){
Pin2 = digitalRead(2);
if (Pin2 == HIGH) {
digitalWrite(13,HIGH);
}
else
{
digitalWrite(13,LOW);
}
}

Подключаем, прошиваем, радуемся

Экспериментируем

  1. Где можно применить созданный прибор?
  2. Попробуйте сделать нормальным состоянием для диода — включено. При нажатии на кнопку диод должен гаснуть
  3. Можно реализовать такую схему: бегущий огонёк из 3-4 диодов бежит в одну сторону. При нажатии на кнопку огоньки бегут в другую сторону. Схему для подключения диодов можно посмотреть на прошлом занятии.
  4. Подумайте, как подключить вторую кнопку. Для разработки схемы Вам может помочь программа FRITZING. Если у Вас серьезные намерения на освоение основ микроэлектроники вообще и Arduino в частности, то обязательно скачайте и установите эту программу. Схемы, которые вы видите на страницах этого блога делаются именно в этой программе.
  5. А не реализовать ли Вам такой проект: несколько диодов в свободном состоянии выключены. При нажатии на правую кнопку огонёк светодиодов бежит вправо, на левую — влево. Замечательный дополнительный указатель поворота, который можно укрепить на заднее стекло автомобиля. Еще можно добавить третью кнопку — это будет стоп-сигнал — все диоды зажигаются одновременно. А еще четвертую — мигающий сигнал всех диодов — задний ход. А еще… (тут Остап понял, что его понесло… )

Удачных творческих находок

Конец занятия


На нашем сайте доступна подборка инструкций и учебных пособий по ардуино. Ознакомиться и скачать можно в этом разделе: Скачать инструкции - книги по ардуино.

Ключевые слова:
диод
резистор
кнопка
курс микроэлектроники
arduino
микросхема
скетч
плата Ардуино Уно
Микроконтроллер
Платформа Arduino
кнопка
Arduino
сигнал
плата
диодов
digitalRead
Ардуино
PinMode
digitalWrite
проект
программа
занятие
выходы
схема
Роботы на платформе Ардуино
робот


Знакомство с Ардуино Nano CH340G Знакомство с Ардуино Nano CH340G
Знакомство с Ардуино Nano ...
Вернуться в рубрику:

Проекты на платформе Ардуино


Хотите видеть на нашем сайте больше статей? Кликните Поделиться в социальных сетях! Спасибо!

Смотрите также:

Обратите внимание полезная информация.

Робототехника для каждого. 2024г.