В этом проекте мы заставим RGB-светодиод изменять цвет в зависимости от показаний датчика температуры. Задействуем два
цвета: красный и синий. Реализуем следующую логику:
Чем меньше температура — тем больше синего, чем больше температура — тем больше красного.
Необходимые компоненты
- Плата для прототипирования;
- Arduino Nano;
- датчик температуры и влажности DHT11;
- RGB-светодиод;
- два сопротивления по 220 Ом;
- провода.
Схема подключения
Рис. П4.1.Схема подключения датчика температуры и влажности и RGB-светодиода
Порядок подключения
Подключите длинную ножку светодиода (катод) к выводу 5V, а ножки, зажигающие красный и синий свет (аноды), к выводам D11 и D7 соответственно. Ножки 5V и GND датчика DHT11 подключите к соответствующим выводам на Arduino, ножку для передачи данных подключите к выводу D4. Загрузите скетч, представленный в листинге П4.1.
Программное обеспечение
Листинг П4.1
#include "DHT.h"
#define DHTPIN 4
int REDpin = 11;
int BLUEpin = 7;
DHT dht(DHTPIN, DHTTYPE);
void setup(){
Serial.begin(9600);
dht.begin();
}
void loop()
{
float t = dht.readTemperature();
Serial.print("Temperature: ");
Serial.print(t);
Serial.println(" *C");
analogWrite(REDpin, t*7);
analogWrite(BLUEpin, 255-t*7);
}
Для усиления наглядного эффекта оденьте на светодиод шарик и поместите датчик в теплое место. Вы увидите, как светодиод реагирует на потепление, смещая цвет свечения в красный. Если же, наоборот, поместить датчик в холод, то светодиод станет светить синим цветом.