Датчики Arduino: Подключение и Примеры

Датчики Arduino: Подключение и Примеры

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

1. Температурные датчики: DS18B20 и DHT22

Температурные датчики позволяют измерять температуру окружающей среды. Два популярных температурных датчика для Arduino - DS18B20 (цифровой) и DHT22 (цифровой с измерением влажности).

 

DS18B20
DS18B20 - это датчик с интерфейсом 1-Wire, что делает его удобным для подключения к Arduino.
Пример кода:

#include <OneWire.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

void setup() {
  sensors.begin();
}

void loop() {
  sensors.requestTemperatures();
  float tempC = sensors.getTempCByIndex(0);
  Serial.print("Temperature: ");
  Serial.println(tempC);
  delay(1000);
}

 

 

DHT22
DHT22 позволяет измерять температуру и влажность.
Пример кода:

#include <DHT.h>

#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);

void setup() {
  dht.begin();
}

void loop() {
  float tempC = dht.readTemperature();
  float humidity = dht.readHumidity();
  Serial.print("Temperature: ");
  Serial.println(tempC);
  Serial.print("Humidity: ");
  Serial.println(humidity);
  delay(2000);
}

2. Датчики движения: PIR и HC-SR04

Датчики движения могут обнаруживать движение в определенной области. PIR (инфракрасный) и HC-SR04 (ультразвуковой) - два распространенных варианта.

 

PIR

Датчик PIR реагирует на изменения инфракрасного излучения.
Пример кода:

int pirPin = 2;

void setup() {
  pinMode(pirPin, INPUT);
  Serial.begin(9600);
}

void loop() {
  int motion = digitalRead(pirPin);
  if (motion == HIGH) {
    Serial.println("Motion detected!");
  } else {
    Serial.println("No motion");
  }
  delay(1000);
}


HC-SR04

HC-SR04 использует ультразвуковой сигнал для измерения расстояния.
Пример кода:

const int trigPin = 9;
const int echoPin = 10;

void setup() {
  Serial.begin(9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
}

void loop() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  long duration = pulseIn(echoPin, HIGH);
  int distance = duration * 0.034 / 2;

  Serial.print("Distance: ");
  Serial.println(distance);
  delay(1000);
}


3. Датчики освещенности: LDR и TSL2561

Датчики освещенности могут измерять уровень освещенности в окружающей среде.
LDR (фото резистор) и TSL2561 (цифровой) - два примера датчиков освещенности.

LDR
LDR меняет свое сопротивление в зависимости от уровня освещенности.
Пример кода:

int ldrPin = A0;

void setup() {
  Serial.begin(9600);
}

void loop() {
  int ldrValue = analogRead(ldrPin);
  Serial.print("Light Intensity: ");
  Serial.println(ldrValue);
  delay(1000);
}

TSL2561

TSL2561 - цифровой датчик, который предоставляет более точные измерения. Пример кода:

#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_TSL2561_U.h>

Adafruit_TSL2561_Unified tsl = Adafruit_TSL2561_Unified(TSL2561_ADDR_LOW);

void setup(void) {
  if (!tsl.begin()) {
    Serial.println("No TSL2561 found");
    while (1);
  }
}

void loop(void) {
  sensors_event_t event;
  tsl.getEvent(&event);
  if (event.light) {
    Serial.print("Light: ");
    Serial.println(event.light);
  }
  delay(1000);
}


Заключение:
Это только небольшой обзор различных датчиков, которые можно подключить к Arduino.
Благодаря встроенным библиотекам и множеству примеров в Arduino IDE, подключение и использование датчиков становится доступным даже для начинающих.
Надеемся, что эта статья поможет вам начать использовать датчики в ваших проектах!


Дополнительная информация
Модули и датчики для Arduino
Платы Ардуино
Элементы для работы с Ардуино