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

Опубликовано 13.06.2015 21:41:00


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

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

 

 

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

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

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

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

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

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


 

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

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

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

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

S : подключается к любому аналоговому входу ( в примере A0 )

 

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

 
пример программного кода
const int analogPin = 0;

void setup() {
  Serial.begin(9600);   // Скорость работы порта
  Serial.println("Analog Sensor Test"); // Выводим текст
  Serial.println();                             // Пустая строка 
}

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

 

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


 

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

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

 
пример программного кода
const int analogPin = 0;

void setup() {                          
}

void loop() {
  int analogValue = analogRead(analogPin);  // Задаем переменную analogValue для считывания показаний  
    // Подобрать необходимый порог значений вашего датчика
    if (analogValue<500) // Если значение на аналоговом входе < 500 
  {     
    // Выполняем действие
    digitalWrite(13, HIGH); // Включаем светодиод 
  }  
  else  // В ином случае (если значения на аналоговом входе > 500)
  {   
    // Выполняем действие
    digitalWrite(13, LOW);  // Выключаем светодиод 
  }    
  delay(100);
}

 

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

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


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