Regolazione di luminosità

In questo progettino ho voluto provare la libreria PID trovata in rete. Con l'occasione ho anche configurato un sensore a ultrasuoni per effettuare la misura di una distanza e una fotoresistenza per la misura della luminosità.

Il progetto risponde ai sguenti requisiti:

1. Il sensore a ultrasuoni misura la distanza da una parete. Se la misura cambia entro un certo valore attiva il regolatore PID.

2. Fissato un setpoint di luminosità il regolatore effettuerà una regolazione PWM che agirà sull'uscità di Arduino collegata alla base del transistor, che andrà a regolare la luminosità del LED ad alta emissione fino al raggiungimento del setpoint.

3. Trascorso un certo tempo impostato, se la misura del sensore a ultrasuoni non dovesse cambiare,  il LED viene spento.

4. Sul display 2x16 caratteri visualizzo il setpoint di luminosità ul primo rigo e sul secondo visualizzo la misura della luminosità.

5. Spengo il display trascorso un certo tempo dall'accensione del sistema. Per riaccendere il display basta avvicinare la mano al sensore ad ultrasuoni a meno di una decina di cm. Trascorso un tempo il display si spegne.

6. Pensando di alimentare il sistema con una batteria 12 V ho pensato di acquisire la misura della stessa, per poter segnalare saltuariamente l'allarme di batteria scarica, mediante lampeggio periodico del LED ad alta emissione.

Aggiungo di seguito lo sketch