hi, i have a question…why the led red light always , while the led green not light?
arduino code:
// Vengono indicate le temperature per cui i LED si devono accendere
int temperaturaMassima = 25;
int temperaturaMinima = 18;
int t;
int i;
// Vegngono inizializzati i pin a cui sono connessi i LED
int led_red = 7;
int led_green = 6;
int ritardo = 1000;
const int NRLETTURE = 12; // numero letture
const int SensorPin = A0; //variabile lettura sensore
const int fisso = 1.8;
float valori[NRLETTURE]; //array con i valori
int T_campionamento = 80; // tempo campionamento
float sommaGradi; //variabile somma
float mediaGradi; //variabile media
float conversione1;
float conversione2;
#include <LiquidCrystal.h> // includo la libreria del display lcd
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //pin display LCD
void setup()
{
// set up the LCD’s number of columns and rows:
lcd.begin(16, 2);
Serial.begin(9600); //inizializzo la seriale
lcd.print(“Creato da:”);
lcd.setCursor(0,2);
lcd.print(“Gianluca Gallo”);
delay(3000);
pinMode(13,OUTPUT);
digitalWrite(13,LOW);
pinMode(led_red, OUTPUT);
pinMode(led_green, OUTPUT);
}
void loop()
{
for ( int i = 0; i<=NRLETTURE;i++)
{
int sensorVal = analogRead(SensorPin);
float voltage = (sensorVal /1024.0) * 5.0;
float temperature = ((voltage - 0.5) * 100);
// conversione1 = (temperature - 32);
// conversione2 = conversione1 / fisso;
valori = temperature; //conversione2;
-
delay(T_campionamento);*
-
}*
-
sommaGradi = 0; // devi essere sicuro che il primo valore sia zero, altrimenti poi sballa tutto*
-
for (int i=0; i<NRLETTURE; i++) //ciclo che somma i valori dell’array*
-
{*
_ sommaGradi = sommaGradi + valori*;_
_ }*_
* mediaGradi = sommaGradi / NRLETTURE; //divido la somma dei valori per il loro numero (media)*
* lcd.clear(); //pulisco lo schermo*
* Serial.print ("Gradi: "); //scrivo sul display la parola “gradi”*
_ Serial.println(valori*); //scrivo la temperatura sulla seriale*
* lcd.print(“Temperatura:”); //scrivo sul display la parola “temperatura”
lcd.setCursor(0,2); //sposto il cursore sulla seconda linea*
lcd.print(valori*); //scrivo la temperatura*
* lcd.print(" Gradi"); // scrivo sul display la parola “gradi”
if (valori >temperaturaMassima)
{
digitalWrite(13,HIGH);
Serial.println(“Temperatura raggiunta!!!”);
}*_
* // I prossimi due IF fanno accedere i LED, a seconda della temperatura*
* if (t > temperaturaMassima)*
* {*
* digitalWrite(led_green, HIGH); // Viene accesso il LED verde*
* delay(ritardo); *
* digitalWrite(led_green, LOW); // Viene spento il LED verde*
* }*
* if (t < temperaturaMinima)*
* {*
* digitalWrite(led_red, HIGH); // Viene accesso il LED rosso*
* delay(ritardo); *
* digitalWrite(led_red, LOW); // Viene spento il LED rosso*
* }*
* {*
* digitalWrite(13,LOW);*
}
* delay(2000);*
}