INHOUDSOPGAWE:

Aquarium Light PWM Met Arduino: 3 stappe
Aquarium Light PWM Met Arduino: 3 stappe

Video: Aquarium Light PWM Met Arduino: 3 stappe

Video: Aquarium Light PWM Met Arduino: 3 stappe
Video: Lesson 98: Arduino 10 LED Push button Projects, Potentiometer LED Voltmeter and Traffic Light 2024, Julie
Anonim
Akwariumlig PWM Met Arduino
Akwariumlig PWM Met Arduino

Ek het onlangs my akwariumligte van fluoresserende beligting na LED -beligting omskep, en ek het besluit om 'n natuurlike omgewing na te boots waar die lig geleidelik toeneem van dagbreek tot middag en dan afneem tot skemer. In die nag gee die maan min lig.

Die LED-beligting word basies aangedryf deur 'n 12V-kragtoevoer en arduino beheer die intensiteit van die lig deur die spanning te moduleer met behulp van 'n n-kanaal MOSFET (ek het 'n IRFS630 gebruik). Die arduino kan deur dieselfde kragtoevoer aangedryf word, maar ek het 'n aparte 5V USB PS vir arduino gebruik en dit via USB aangedryf, nie deur Vin nie.

Die ligintensiteit is miskien nie die akkuraatste nie, maar dit is die beste waaraan ek kon dink. Die patroon kan deur die kode gewysig word.

Stap 1: Onderdele benodig

Onderdele benodig
Onderdele benodig
Onderdele benodig
Onderdele benodig
Onderdele benodig
Onderdele benodig
Onderdele benodig
Onderdele benodig

Eerstens, versamel al die dele wat nodig is vir die projek. Ek neem aan dat u reeds 'n LED -beligting het waarmee u wil speel, miskien 'n akwariumbeligting, miskien iets anders, miskien nie eens LED's nie, maar iets wat verduistering ondersteun.

Hier is die lys van die onderdele wat ek gebruik het:

1. Arduino nano - 1 stuks

2. LCD 1602 -skerm - 1 stuks

3. IIC/I2C -adapter vir LCD 1602 - 1 stuks

4. DS1302 RTC - 1 stuks (met CR2032 -battery)

5. drukknop met deksel - 1 stuks

6. n -kanaal MOSFET (ek gebruik 'n IRFS630) - 1 stuks

7. 10K ohm weerstand - 1 stuks

8. Opsioneel - sommige mense sê dat u 'n weerstand tussen die arduino pwm -pen en die hek van die MOSFET moet gebruik om die aruino te beskerm; ander mense sê dat u dit nie doen nie, ten minste nie vir toepassings met 'n lae krag nie; ek het niks gebruik nie werk goed, onder 20mA afkomstig van die arduino -pen, maar as u wil, kan u 'n weerstand van 100 ohm gebruik.

UPDATE: Na 2 maande se toets het ek tot die gevolgtrekking gekom dat die 100 ohm 'n moet is! die arduino blokkeer willekeurig sonder dit. Nou werk dit perfek

U benodig ook soldeergereedskap om die I2C -adapter aan die LCD te soldeer, en as u dit wil maak soos op 'n prototipe of op 'n PCB. Ek het kopstukke gebruik om die arduino aan te sluit, want dit gee my die vryheid om die arduino uit te haal, te programmeer en weer aan te sit (en dit is makliker om dit te vervang).

9. Opsioneel - prototipe bord / PCB

10. Opsioneel - kopstukke - met 15 penne of meer elk - 2 stuks (benodig om arduino nano aan die bord te koppel)

Dit is omtrent dit, laat ons nou aan die werk gaan!

Stap 2: Saamvoeg dinge

Om dinge bymekaar te sit
Om dinge bymekaar te sit
Om dinge bymekaar te sit
Om dinge bymekaar te sit
Om dinge bymekaar te sit
Om dinge bymekaar te sit

Eerstens moet u die IIC/I2C -adapter met die LCD 1602 soldeer (werk ook met ander LCD's soos 2004). Gebruik die skema wat hiervoor verskaf word.

As u 'n broodbord wil gebruik, volg die skema en maak seker dat slegs die aarding van die LED -kragtoevoer en die arduino -kragtoevoer gebruik word as u 'n 5V PS vir arduino (op USB -kabel) gebruik, anders kan u die dieselfde PS deur die Vin -pen van die arduino.

As u 'n PCB of 'n prototipe -bord wil gebruik, volg die skema om die komponente te koppel; die ontwerp is aan u; maak seker dat u die skakels uiteindelik nagaan.

Op die I2C -adapter, teenoor die krag- en datapennetjies, is daar 'n trui; hierdie trui verskaf krag aan die LCD -agterlig, terwyl die LCD -lamp aanhoudend brand. Koppel die drukknoppie hier aan om dit slegs te verlig wanneer dit nodig is. U kan ander soorte knoppies of skakelaars gebruik as u wil.

Ek het ook die fritzing -skematika ingesluit.

_

PS = Kragtoevoer (as iemand gewonder het)

PCB = printplaat

Stap 3: Plaas 'n paar kode in die MCU

Ek het die.ino -lêer en die twee biblioteke wat ek gebruik het, aangeheg, sodat daar geen onverenigbaarheid is nie. Die kode word in die.ino -lêer verduidelik.

Ook vir die adres van die I2C-skerm kan u die aangehegte i2c-scanner.ino gebruik om dit uit te vind.

Enige kommentaar of voorstelle is welkom. Hê pret!

Aanbeveel: