Innehållsförteckning:

Aquarium Light PWM With Arduino: 3 steg
Aquarium Light PWM With Arduino: 3 steg

Video: Aquarium Light PWM With Arduino: 3 steg

Video: Aquarium Light PWM With Arduino: 3 steg
Video: DIY Arduino Aquarium Controller Part11: PWM LED dimming, opto-isolation, & light scheduling 2024, Juli
Anonim
Akvariumljus PWM med Arduino
Akvariumljus PWM med Arduino

Jag har nyligen konverterat mina akvarielampor från fluorescerande belysning till LED -belysning och jag har bestämt mig för att försöka simulera en naturlig miljö där ljuset gradvis ökar från gryning till middag och sedan minskar till skymning. På natten är det lite ljus som vanligtvis ges av månen.

I grund och botten drivs LED-belysningen från en 12V strömförsörjning och arduino styr ljusets intensitet genom att modulera spänningen med hjälp av en n-kanal MOSFET (jag har använt en IRFS630). Arduino kan drivas av samma strömförsörjning men jag har använt en separat 5V USB PS för arduino och drivit den via USB inte via Vin.

Ljusintensiteten är kanske inte den mest exakta men det är det bästa jag kunde tänka mig. Mönstret kan modifieras genom koden.

Steg 1: Delar som behövs

Delar som behövs
Delar som behövs
Delar som behövs
Delar som behövs
Delar som behövs
Delar som behövs
Delar som behövs
Delar som behövs

Först och främst samla alla delar som behövs för projektet. Jag antar att du redan har en LED -belysning som du vill leka med, kanske en akvariebelysning, kanske något annat, kanske inte ens lysdioder men något som stöder dimning.

Så här är listan över de delar jag använde:

1. Arduino nano - 1 st

2. LCD 1602 display - 1 st

3. IIC/I2C -adapter för LCD 1602 - 1 st

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

5. tryckknapp med lock - 1 st

6. n -kanal MOSFET (jag använde en IRFS630) - 1 st

7. 10K ohm motstånd - 1 st

8. Valfritt - vissa människor säger att du måste använda ett motstånd mellan arduino pwm -stift och porten till MOSFET för att skydda aruino, andra säger att du inte gör det, åtminstone inte för applikationer med låg effekt, jag har inte använt något och det fungerar bra, långt under 20mA från arduinos stift, men om du vill kan du använda ett 100 ohm motstånd.

UPPDATERING: Efter 2 månaders test har jag kommit fram till att 100 ohm är ett måste! arduino fortsatte blockera utan det, slumpmässigt. Nu fungerar det perfekt

Du behöver också lödningsverktyg för att löda I2C -adaptern till LCD -skärmen och om du vill göra det som jag gjorde på ett prototypkort eller på ett kretskort. Jag använde headerpinnar för att ansluta arduino eftersom det ger mig frihet att extrahera arduino, programmera den och sätta på den igen (och det är lättare att byta ut den).

9. Valfritt - prototypkort / kretskort

10. Valfritt - huvudstiften - med 15 stift eller mer vardera - 2 st (behövs för att ansluta arduino nano till kortet)

Det är ungefär det, nu ska vi börja jobba!

Steg 2: Att sätta ihop saker

Att sätta ihop saker
Att sätta ihop saker
Att sätta ihop saker
Att sätta ihop saker
Att sätta ihop saker
Att sätta ihop saker

Först måste du löda IIC/I2C -adaptern med LCD 1602 (fungerar även med andra LCD -skärmar som 2004). Använd schemat som tillhandahålls för att göra det.

Om du vill använda en brödbräda följer du bara schemat och ser till att endast jordningen är vanlig för LED -strömförsörjningen och arduino -strömförsörjningen om du använder en 5V PS för arduino (på USB -kabel), annars kan du länka samma PS genom Vin -pin på arduino.

Om du vill använda ett kretskort eller ett prototypkort följer du bara schemat för att länka komponenter, designen är upp till dig, se bara till att dubbelkolla länkarna i slutändan.

På I2C -adaptern, mittemot ström- och datastiften, finns en bygel, den här bygeln levererar ström till LCD -bakgrundsbelysningen, med den på LCD -lampan förblir tänd kontinuerligt. Anslut tryckknappen här för att bara belysa den vid behov. Du kan använda andra typer av knappar eller omkopplare om du vill.

Jag har också inkluderat fritzing schemat.

_

PS = Strömförsörjning (om någon undrade)

PCB = kretskort

Steg 3: Lägg in lite kod i MCU

Jag har bifogat.ino -filen och de två bibliotek jag har använt så det blir ingen inkompatibilitet. Koden förklaras inuti.ino -filen.

Även för I2C-skärmens adress kan du använda den bifogade i2c-scanner.ino för att ta reda på det.

Alla kommentarer eller förslag är välkomna. Ha så kul!

Rekommenderad: