В этом проекте мы заставим 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);
}



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