Если Вы заинтересованы в моих переводах и хотите меня отблагодарить, то кликните всего на одной ссылке в блоке Оплаченная Реклама

среда, 12 января 2011 г.

DigitalReadSerial


DigitalReadSerial
Этот пример показывает как вести мониторинг состояния выключателя путем установления последовательной связи между Arduino и компьютером через USB.

Требования к аппаратному обеспечению

  • плата Arduino
  • тактовая кнопка
  • 10k резистор
  • макетная плата
  • соединительные провода

Цепь

Подключите три провода к плате Arduino. Первые два, красный и черный, для связи с двумя длинными вертикальными рядами на стороне макета для обеспечения доступа к 5 вольт питания и земле. Третий провод идет от цифрового контакта 2 на одну ногу кнопки. В тот же время нога кнопки подключается через резистор на землю. Другая нога от кнопки подключается к 5 вольт питания.
Кнопки и переключатели соединяют две точки в цепи при нажатии клавиш. Когда кнопка не нажата нет тока между этими двумя ногами кнопки, так что вывод 2 подключен к земле через резистор и читается, как LOW или 0. При нажатии на кнопку, ток идет между его двумя ногами,  так что вывод читается,как HIGH или 1.
Если вы подключите цифровой вывод по-другому, индикатор начнет беспорядочно мигать. Это потому, что вход неопределенный - то есть не имеет четкого подключение к источнику или на землю и будет случайным образом возвращать либо 1, либо 0. Вот почему необходим резистор в цепи.

Схема

Код

В программе ниже, самое первое, что вы сделаете в функции установки - это начнете параллельную связь, в 9600 бит данных в секунду, между Arduino и компьютером:
Serial.begin(9600);
Далее, необходимо инициализировать цифровой пин 2, как вход, который будет читать сигнал с вашей кнопки:
pinMode(2,INPUT);
Теперь, когда установка была выполнена, переходим в основной цикл кода. Когда кнопка нажата, 5 вольт будут свободно проходить в цепи, и когда она не нажата, входной контакт будет соединен с землей через 10кОм резистор. 
Первое, что нужно сделать в основном цикле программы заключается в создании переменной для хранения информации, поступающей от кнопки. Так как информация, поступающая от переключателя будет либо "1" или "0", вы можете использовать тип данных int. Назовем эту переменную sensorValue начнем туда записывать то, что читается на цифровом пине 2:
int sensorValue = digitalRead(2);
После того как Arduino прочитал вход, печатаем эту информацию обратно на компьютер в виде десятичного значения ( DEC ). Вы можете сделать это с помощью команды Serial.println ():
Serial.println(sensorValue, DEC);
Теперь, когда вы открываете Serial Monitor в среде Arduino, вы увидите поток "0", если ваша кнопка открыта, или "1", если ваш переключатель закрыт.
void setup ( ) {
Serial . begin ( 9600 ) ;
pinMode ( 2 , INPUT ) ;
}

void loop ( ) {
int sensorValue = digitalRead ( 2 ) ;
Serial . println ( sensorValue , DEC ) ;
}

Комментариев нет:

Отправить комментарий