thermomètre lumineux

Ce projet consiste à lire la température grâce à une lumière de couleur, variant du bleu au rouge.

Nous utilisons une carte Arduino nano sur laquelle nous branchons une LED rvb, un capteur de chaleur et une résistance. Lorsque le code est lu par la carte Arduino, la LED est verte, c’est la température ambiante ( 15 à 25 degrés Celsius ). La lumière devient progressivement bleu dès que la température passe sous les 15 degrés et à l’inverse rouge lorsqu’elle augmente au dessus des 25 degrés.

Le code utiliser est le suivant:

define PIN_TEMP A0

int R = 3;
int V = 6;
int B = 4;
int RV = 0;
int VV = 0;
int BV = 0;

int Value;
int Vmax = 880;
int Vmin = 0;

void setup () {
pinMode(R, OUTPUT);
pinMode(V, OUTPUT);
pinMode(B, OUTPUT);
Serial.begin (115200);
}

void loop () {

Value = analogRead(PIN_TEMP);
Value = constrain(Value,Vmin,Vmax);
int ValueMap = map(Value, Vmin, Vmax, 0, 255);

BV = map(Value, Vmin, Vmax/2, 255, 0);
RV = map(Value, Vmax/2, Vmax, 0, 255);

if (Value < 670) { RV = 0; } if (Value > 700) {
BV = 0;
}

if (Value >= 0 && Value <= 700) {
VV = map(ValueMap, 0, 137, 0, 255);
}

if (Value >= 700 && Value <= 1023) {
VV = map(ValueMap, 138, 255, 255, 0);
}

analogWrite(V, VV);
analogWrite(R, RV);
analogWrite(B, BV);

Serial.print(« Value = « );
Serial.print(Value);
Serial.print(« \t »);
Serial.print(« ValueMap = « );
Serial.print(ValueMap);
Serial.print(« \t »);
Serial.print(RV);
Serial.print(« \t »);
Serial.print(VV);
Serial.print(« \t »);
Serial.println(BV);
delay (100);
}