«ан€тие є2  нопка. ¬ котором мы подключаем кнопку - проект Arduino в лицее є17 г. —еверодвинска


»сточник: 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
проект
программа
зан€тие
выходы
схема
–оботы на платформе јрдуино
робот
робототехника


¬ернутьс€ в рубрику:

ѕроекты на платформе јрдуино


≈сли вы хотите видеть на нашем сайте больше статей то кликните ѕоделитьс€ в социальных сет€х! —пасибо!
—мотрите также:

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