Innholdsfortegnelse:

Akvariumlys PWM med Arduino: 3 trinn
Akvariumlys PWM med Arduino: 3 trinn

Video: Akvariumlys PWM med Arduino: 3 trinn

Video: Akvariumlys PWM med Arduino: 3 trinn
Video: УМНЫЙ СВЕТИЛЬНИК ДЛЯ АКВАРИУМА СВОИМИ РУКАМИ 2024, Juli
Anonim
Akvariumlys PWM med Arduino
Akvariumlys PWM med Arduino

Jeg har nylig konvertert akvariumlysene mine fra fluorescerende belysning til LED -belysning, og jeg har bestemt meg for å prøve å simulere et naturlig miljø der lys gradvis øker fra daggry til middag og deretter reduseres til skumring. Om natten er det lite lys som vanligvis blir gitt av månen.

I utgangspunktet drives LED-belysningen fra en 12V strømforsyning og arduino styrer lysets intensitet ved å modulere spenningen ved hjelp av en n-kanal MOSFET (jeg har brukt en IRFS630). Arduinoen kan drives av samme strømforsyning, men jeg har brukt en separat 5V USB PS for arduino og drevet den via USB ikke gjennom Vin.

Lysintensiteten er kanskje ikke den mest nøyaktige, men det er det beste jeg kunne tenke meg. Mønsteret kan endres gjennom koden.

Trinn 1: Nødvendige deler

Nødvendige deler
Nødvendige deler
Nødvendige deler
Nødvendige deler
Nødvendige deler
Nødvendige deler
Nødvendige deler
Nødvendige deler

Først må du først samle alle delene som trengs for prosjektet. Jeg antar at du allerede har en LED -belysning du vil leke med, kanskje et akvariumbelysning, kanskje noe annet, kanskje ikke engang lysdioder, men noe som støtter dimming.

Så her er listen over delene jeg brukte:

1. Arduino nano - 1 stk

2. LCD 1602 -skjerm - 1 stk

3. IIC/I2C adapter for LCD 1602 - 1 stk

4. DS1302 RTC - 1 stk (med CR2032 batteri)

5. trykknapp med deksel - 1 stk

6. n -kanal MOSFET (jeg brukte en IRFS630) - 1 stk

7. 10K ohm motstand - 1 stk

8. Valgfritt - noen sier at du må bruke en motstand mellom arduino pwm pin og porten til MOSFET for å beskytte aruinoen, andre sier at du ikke gjør det, i hvert fall ikke for applikasjoner med lav effekt, jeg har ikke brukt noen og det fungerer helt fint, langt under 20mA hentet fra arduinos pin, men hvis du vil kan du bruke en 100 ohm motstand.

OPPDATERING: Etter 2 måneders testing har jeg kommet til at 100 ohm er et must! arduinoen fortsatte å blokkere uten den, tilfeldig. Nå fungerer det perfekt

Du trenger også loddeverktøy for lodding av I2C -adapteren til LCD -skjermen, og hvis du vil gjøre det som jeg gjorde på et prototypekort eller på en PCB. Jeg brukte headerpinner for å koble arduinoen fordi dette gir meg frihet til å trekke ut arduinoen, programmere den og sette den på igjen (og det er lettere å bytte den ut).

9. Valgfritt - prototypekort / kretskort

10. Valgfritt - toppnål - med 15 pinner eller mer hver - 2 stk (nødvendig for å koble arduino nano til brettet)

Det er omtrent det, nå skal vi begynne å jobbe!

Trinn 2: Å sette ting sammen

Å sette ting sammen
Å sette ting sammen
Å sette ting sammen
Å sette ting sammen
Å sette ting sammen
Å sette ting sammen

Først må du lodde IIC/I2C -adapteren med LCD 1602 (fungerer også med andre LCD -skjermer som 2004). Bruk skjemaet som følger med for å gjøre det.

Hvis du vil bruke et brødbrett, følger du bare skjemaet og sørger for at bare jording er vanlig for LED -strømforsyningen og arduino -strømforsyningen hvis du bruker en 5V PS for arduino (på USB -kabel), ellers kan du koble til samme PS gjennom Vin -pin på arduinoen.

Hvis du vil bruke et kretskort eller et prototypekort, er det bare å følge skjemaet for å koble komponenter, designen er det opp til deg. Sørg for å dobbeltsjekke koblingene til slutt.

På I2C -adapteren, overfor strøm- og datapinnene, er det en jumper. Denne jumperen leverer strøm til LCD -bakgrunnslyset, mens den lyser på LCD -lyset. Koble til trykknappen her for å bare belyse den når det er nødvendig. Du kan bruke andre typer knapper eller brytere hvis du vil.

Jeg har også inkludert fritzingskjemaet.

_

PS = Strømforsyning (hvis noen lurte på)

PCB = kretskort

Trinn 3: Sett inn noen kode i MCU

Jeg har lagt ved.ino -filen og de to bibliotekene jeg har brukt, så det blir ingen inkompatibilitet. Koden er forklart inne i.ino -filen.

Også for I2C-skjermens adresse kan du bruke vedlagte i2c-scanner.ino for å finne den ut.

Eventuelle kommentarer eller forslag mottas med takk. Ha det gøy!

Anbefalt: