Подключение цифровых датчиков к Arduino

Опубликовано 13.06.2015 22:28:00


В тематике Arduino имеется большое количество датчиков. В данной статье рассмотрим работу с цифровыми датчиками. Цифровыми они называются из-за того, что в зависимости от внешних факторов на их выходе имеется либо 0 (земля), либо 1 (входное напряжение датчика).

В данной статье мы расскажем о том как их подключить к Arduino и считать цифровой сигнал.

 

 

Цифровые датчики, если они не комбинированные (имеющие и аналоговый и цифровой выводы), имеют три вывода:

G (может также маркироваться как GND): минус питающего напряжения

V (может также маркироваться как VTG, +5V): плюс питающего напряжения

S (может также маркироваться как DO(digital output), SIG, OUT): выходной сигнал

Напряжение питания у различных датчиков может быть 3.3V либо 5V (смотреть в спецификации к датчику)

Обратите внимание, что выводы на датчиках могут быть расположены в произвольном порядке.


 

Подключение к Arduino

Arduino датчики оборудованы трех пиновым разъемом стандарта 2.54мм, что позволит подключить их плате с помощью джамперов.

G : подключается к выводу GND

V : подключается к выводу +5V или 3.3V в зависимости от датчика

S : подключается к любому цифровому входу ( в примере D4 )

 

Самым наглядным примером будет вывести показания датчика в монитор порта Arduino.

 
пример программного кода
void setup() {
  Serial.begin(9600); // Скорость работы монитор порта 
  pinMode(4, INPUT); // Инициализируем цифровой pin 4 как вход 
}

void loop() {
  int sensorValue = digitalRead(4); // Задаем переменную sensorValue для считывания состояния 
  Serial.println(sensorValue); // Выводим состояние кнопки в порт
  delay(500); // Ждем пол секунды
}

 

После заливки скетча открываем Arduino IDE, щелкаем Сервис => Монитор порта и смотрим получаемые значения. Мы получим значения либо 1 либо 0.

 

Для большиства людей казалось бы логичным, что при срабатывании датчика в порт отсылается единица, но большинство датчиков при срабатывании выдают наоборот 0. 


 

Дополнительный пример взаимодействия

В программном коде можно отслеживать цифровой сигнал и в зависимости от его состояния выполнять различные действия. В качестве примера зажжем  светодиод подключенный к pin13 на плате Arduino.

 
пример программного кода
void setup() { 
  pinMode(4, INPUT); // Инициализируем цифровой pin 4 как вход  
}

void loop() {
  int sensorValue = digitalRead(4); // Задаем переменную sensorValue для считывания состояния 
  if (sensorValue == 1) // Если на цифровом входе единица 
  {     
    // Выполняем действие
    digitalWrite(13, HIGH); // Включаем светодиод 
  }  
  else  // В ином случае (если на цифровом входе 0)
  {   
    // Выполняем действие
    digitalWrite(13, LOW);  // Выключаем светодиод 
  }    
  delay(500);
}

 

Статьи в подобной тематике:

•  Подключение аналоговых датчиков к Arduino


А как же комментарии?