Sommario:

Aquarium Light PWM con Arduino: 3 passaggi
Aquarium Light PWM con Arduino: 3 passaggi

Video: Aquarium Light PWM con Arduino: 3 passaggi

Video: Aquarium Light PWM con Arduino: 3 passaggi
Video: Amazing arduino project 2024, Novembre
Anonim
PWM della luce dell'acquario con Arduino
PWM della luce dell'acquario con Arduino

Recentemente ho convertito le luci del mio acquario dall'illuminazione fluorescente all'illuminazione a LED e ho deciso di provare a simulare un ambiente naturale in cui la luce aumenta gradualmente dall'alba fino a mezzogiorno e poi diminuisce fino al tramonto. Di notte c'è poca luce di solito data dalla luna.

Fondamentalmente l'illuminazione a LED è alimentata da un alimentatore a 12V e arduino controlla l'intensità della luce modulando la tensione con l'aiuto di un MOSFET a canale n (ho usato un IRFS630). L'arduino può essere alimentato dallo stesso alimentatore ma ho usato un PS USB 5V separato per arduino e l'ho alimentato tramite USB non tramite Vin.

L'intensità della luce potrebbe non essere la più accurata, ma è la migliore che potessi pensare. Il modello può essere modificato tramite il codice.

Passaggio 1: parti necessarie

Parti necessarie
Parti necessarie
Parti necessarie
Parti necessarie
Parti necessarie
Parti necessarie
Parti necessarie
Parti necessarie

Per prima cosa, raccogli tutte le parti necessarie per il progetto. Presumo che tu abbia già un'illuminazione a LED con cui vuoi giocare, forse un'illuminazione per l'acquario, forse qualcos'altro, forse nemmeno i LED ma qualcosa che supporti l'oscuramento.

Quindi ecco l'elenco delle parti che ho usato:

1. Arduino nano - 1 pz

2. Display LCD 1602 - 1 pz

3. Adattatore IIC/I2C per LCD 1602 - 1 pz

4. DS1302 RTC - 1 pz (con batteria CR2032)

5. pulsante con coperchio - 1 pz

6. MOSFET a canale n (ho usato un IRFS630) - 1 pz

7. Resistenza da 10K ohm - 1 pz

8. Opzionale: alcune persone dicono che devi usare un resistore tra il pin pwm di arduino e il gate del MOSFET per proteggere l'aruino, altre persone dicono di no, almeno non per applicazioni a bassa potenza, io non ne ho usato nessuno funziona bene, molto al di sotto dei 20 mA prelevati dal pin di arduino, ma se vuoi puoi usare un resistore da 100 ohm.

AGGIORNAMENTO: Dopo 2 mesi di test sono arrivato alla conclusione che i 100 ohm sono un must! l'arduino continuava a bloccarsi senza di essa, in modo casuale. Ora funziona perfettamente

Avrai anche bisogno di strumenti di saldatura per saldare l'adattatore I2C all'LCD e se vuoi farlo come ho fatto io su una scheda prototipo o su un PCB. Ho usato i pin dell'intestazione per collegare l'arduino perché questo mi dà la libertà di estrarre l'arduino, programmarlo e rimontarlo (ed è più facile sostituirlo).

9. Opzionale - scheda prototipo/PCB

10. Opzionale - pin di intestazione - con 15 pin o più ciascuno - 2 pezzi (necessari per collegare arduino nano alla scheda)

Questo è tutto, ora mettiamoci al lavoro!

Passaggio 2: mettere insieme le cose

Mettere insieme le cose
Mettere insieme le cose
Mettere insieme le cose
Mettere insieme le cose
Mettere insieme le cose
Mettere insieme le cose

Per prima cosa devi saldare l'adattatore IIC/I2C con l'LCD 1602 (funziona anche con altri LCD come 2004). Utilizzare lo schema fornito per farlo.

Ora se vuoi usare una breadboard segui lo schema e assicurati che solo la messa a terra sia comune per l'alimentatore LED e l'alimentatore arduino se usi un PS 5V per arduino (su cavo USB), altrimenti puoi collegare il stesso PS tramite il pin Vin dell'arduino.

Se vuoi utilizzare un PCB o una scheda prototipo, segui lo schema per collegare i componenti, il design dipende da te, assicurati di ricontrollare i collegamenti alla fine.

Sull'adattatore I2C, di fronte ai pin di alimentazione e dati c'è un ponticello, questo ponticello fornisce alimentazione alla retroilluminazione LCD, con esso la luce LCD rimane accesa continuamente. Collegare qui il pulsante per illuminarlo solo quando necessario. Se lo desideri, puoi utilizzare altri tipi di pulsanti o interruttori.

Ho incluso anche lo schema fritzing.

_

PS = Alimentazione (se qualcuno se lo stesse chiedendo)

PCB = Circuito Stampato

Passaggio 3: inserire del codice nell'MCU

Ho allegato il file.ino e le due librerie che ho usato quindi non ci saranno incompatibilità. Il codice è spiegato all'interno del file.ino.

Anche per l'indirizzo del display I2C è possibile utilizzare l'allegato i2c-scanner.ino per scoprirlo.

Eventuali commenti o suggerimenti sono i benvenuti. Divertiti!

Consigliato: