Indholdsfortegnelse:

Aquarium Light PWM With Arduino: 3 trin
Aquarium Light PWM With Arduino: 3 trin

Video: Aquarium Light PWM With Arduino: 3 trin

Video: Aquarium Light PWM With Arduino: 3 trin
Video: Arduino Aquarium Auto Lighting System (custom PCB) 2024, Juli
Anonim
Akvariumlys PWM Med Arduino
Akvariumlys PWM Med Arduino

Jeg har for nylig konverteret mine akvarielamper fra fluorescerende belysning til LED -belysning, og jeg har besluttet at prøve at simulere et naturligt miljø, hvor lyset gradvist stiger fra daggry til middag og derefter falder til skumring. Om natten er der normalt lidt lys, som månen giver.

Grundlæggende drives LED-belysningen fra en 12V strømforsyning, og arduino styrer lysets intensitet ved at modulere spændingen ved hjælp af en n-kanal MOSFET (jeg har brugt en IRFS630). Arduinoen kan drives af den samme strømforsyning, men jeg har brugt en adskilt 5V USB PS til arduino og drevet den via USB ikke via Vin.

Lysintensiteten er måske ikke den mest præcise, men det er det bedste, jeg kunne tænke mig. Mønsteret kan ændres gennem koden.

Trin 1: Nødvendige dele

Nødvendige dele
Nødvendige dele
Nødvendige dele
Nødvendige dele
Nødvendige dele
Nødvendige dele
Nødvendige dele
Nødvendige dele

Først skal du først samle alle de dele, der er nødvendige til projektet. Jeg går ud fra, at du allerede har en LED -belysning, som du vil lege med, måske en akvariebelysning, måske noget andet, måske ikke engang LED'er, men noget, der understøtter dæmpning.

Så her er listen over de dele, jeg brugte:

1. Arduino nano - 1 stk

2. LCD 1602 display - 1 stk

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

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

5. trykknap med låg - 1 stk

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

7. 10K ohm modstand - 1 stk

8. Valgfrit - nogle mennesker siger, at du skal bruge en modstand mellem arduino pwm pin og porten til MOSFET for at beskytte aruinoen, andre mennesker siger, at du ikke gør det, i hvert fald ikke til applikationer med lav effekt, jeg har brugt ingen og det fungerer fint, langt under 20mA trukket fra arduinos pin, men hvis du vil kan du bruge en 100 ohm modstand.

OPDATERING: Efter 2 måneders test er jeg nået frem til, at 100 ohm er et must! arduinoen blev ved med at blokere uden det, tilfældigt. Nu fungerer det perfekt

Du skal også bruge loddeværktøjer til lodning af I2C -adapteren til LCD'et, og hvis du vil gøre det som jeg gjorde på et prototype -kort eller på et printkort. Jeg brugte headerstifter til at forbinde arduinoen, fordi dette giver mig frihed til at udtrække arduinoen, programmere den og sætte den på igen (og det er lettere at udskifte den).

9. Valgfrit - prototype board / PCB

10. Valgfri - hovedstifter - med 15 ben eller mere hver - 2 stk. (Nødvendigt for at forbinde arduino nano til brættet)

Det handler om det, lad os nu komme i gang!

Trin 2: Sætte ting sammen

At sætte tingene sammen
At sætte tingene sammen
At sætte tingene sammen
At sætte tingene sammen
At sætte tingene sammen
At sætte tingene sammen

Først skal du lodde IIC/I2C -adapteren med LCD 1602 (fungerer også med andre LCD -skærme som 2004). Brug den medfølgende skema til at gøre det.

Nu, hvis du vil bruge et brødbræt, skal du bare følge skematikken og sørge for, at kun jordforbindelsen er almindelig for LED -strømforsyningen og arduino -strømforsyningen, hvis du bruger en 5V PS til arduino (på USB -kabel), ellers kan du forbinde samme PS gennem Vin pin på arduinoen.

Hvis du vil bruge et printkort eller et prototypebord, skal du bare følge skematikken for at forbinde komponenter, designet er det op til dig, bare sørg for at dobbelttjekke linkene til sidst.

På I2C -adapteren, modsat strøm- og datapinnene, er der en jumper, denne jumper leverer strøm til LCD -baggrundslyset, mens den lyser på LCD -lyset konstant. Tilslut trykknappen her for kun at belyse den, når det er nødvendigt. Du kan bruge andre typer knapper eller kontakter, hvis du vil.

Jeg har også inkluderet fritzing skematisk.

_

PS = Strømforsyning (hvis nogen undrede sig)

PCB = printkort

Trin 3: Indsæt noget kode i MCU'en

Jeg har vedhæftet.ino -filen og de to biblioteker, jeg har brugt, så der vil ikke være nogen inkompatibilitet. Koden forklares inde i.ino -filen.

Også for I2C-skærmens adresse kan du bruge den vedhæftede i2c-scanner.ino til at finde ud af det.

Eventuelle kommentarer eller forslag modtages gerne. Hav det sjovt!

Anbefalede: