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 ) ;
}
Serial . begin ( 9600 ) ;
pinMode ( 2 , INPUT ) ;
}
void loop ( ) {
int sensorValue = digitalRead ( 2 ) ;
Serial . println ( sensorValue , DEC ) ;
}
Комментариев нет:
Отправить комментарий