Sketch Arduino "Lampada in funzione dell'LDR"

Buonasera ragazzi,
è la prima volta che apro un nuovo topic e mi scuso nel caso io abbia involontariamente commesso errori secondo le regole del forum.
Sono alle superiori e stiamo lavorando molto con Arduino.
Abbiamo progettato una lampada che si accende solo quando è buio (utilizzando un LDR, un relè, una lampadina da 220V ed una presa elettrica).
Abbiamo però notato che la lampadina, col tempo, si surriscalda e, considerato che la struttura della lampada vera è propria è costituita di materiali fotolumiscenti cartacei, la nostra paura è il rischio di incendio/bruciature.
L’unica soluzione a cui abbiamo pensato era di inserire all’interno della lampada a fianco della lampadina un sensore di temperatura e, con la funzione ‘if’, se essa fosse stata rilevata troppo elevata, la lampada avrebbe provveduto a spegnersi.
Potete aiutarmi per modificare lo scketch? Oppure anche altre idee sono ben accette! :wink:
Grazie mille,
In allegato lo sketch precedente.

Lampadina_in_funzione_dell_LDR.ino (1.21 KB)

Mettete al posto della lampadina 230V una a LED. A paritá di luce consuma molto meno potenza e percui riscalda molto di meno.

Ciao Uwe

eccoti uno spunto

// Sezioni costanti / DEFINE
#define LDR_PIN    	   A0
#define TH_PIN         A1
#define INTERRUTTORE    3
#define THRESHOLD_ON   11
#define THRESHOLD_OFF   9
#define MAX_TEMP       50
#define DELTA_T        10
#define TURN_ON()      digitalWrite(INTERRUTTORE, HIGH)
#define TURN_OFF()     digitalWrite(INTERRUTTORE, LOW)

// dichiaro le variabili
int base;         // riferimento

void setup() {
   pinMode (LDR_PIN, INPUT);
   pinMode (INTERRUTTORE, OUTPUT);
   base = analogRead(LDR_PIN); // notare che rispetto a prima legge il valore una sola volta!
 }

void loop() {
	int v = analogRead(LDR_PIN);
	int t = analogRead(TH_PIN);

    // CONVERSIONE t in °C -- TODO

	if ((base-v) > THRESHOLD_ON) {
		if (t > MAX_TEMP)
   			TURN_OFF();
		else if (t < MAX_TEMP-DELTA_T)
			TURN_ON();
	} else if ((base-v) < THRESHOLD_OFF)
        TURN_OFF();

 }