Inhoudsopgave:

Aquariumlicht PWM met Arduino - Ajarnpa
Aquariumlicht PWM met Arduino - Ajarnpa

Video: Aquariumlicht PWM met Arduino - Ajarnpa

Video: Aquariumlicht PWM met Arduino - Ajarnpa
Video: DIY Arduino/Nextion aquarium controller 2024, Juli-
Anonim
Aquariumlamp PWM met Arduino
Aquariumlamp PWM met Arduino

Ik heb onlangs mijn aquariumverlichting omgebouwd van TL-verlichting naar LED-verlichting en ik heb besloten om te proberen een natuurlijke omgeving te simuleren waar het licht geleidelijk toeneemt van zonsopgang tot 12.00 uur en vervolgens afneemt tot zonsondergang. 'S Nachts is er meestal weinig licht van de maan.

In principe wordt de LED-verlichting gevoed door een 12V-voeding en regelt Arduino de intensiteit van het licht door de spanning te moduleren met behulp van een n-kanaals MOSFET (ik heb een IRFS630 gebruikt). De Arduino kan worden gevoed door dezelfde voeding, maar ik heb een aparte 5V USB PS voor Arduino gebruikt en deze via USB gevoed, niet via Vin.

De lichtintensiteit is misschien niet de meest nauwkeurige, maar het is de beste die ik kon bedenken. Het patroon kan worden gewijzigd via de code.

Stap 1: benodigde onderdelen

Onderdelen nodig
Onderdelen nodig
Onderdelen nodig
Onderdelen nodig
Onderdelen nodig
Onderdelen nodig
Onderdelen nodig
Onderdelen nodig

Verzamel eerst alle onderdelen die nodig zijn voor het project. Ik neem aan dat je al een LED-verlichting hebt waarmee je wilt spelen, misschien een aquariumverlichting, misschien iets anders, misschien zelfs geen LED's maar iets dat dimmen ondersteunt.

Dus hier is de lijst van de onderdelen die ik heb gebruikt:

1. Arduino nano - 1 stuks

2. LCD 1602-display - 1 stuks

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

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

5. drukknop met deksel - 1 stuks

6. n-channel MOSFET (ik gebruikte een IRFS630) - 1 stuks

7. 10K ohm weerstand - 1 stuks

8. Optioneel - sommige mensen zeggen dat je een weerstand moet gebruiken tussen arduino pwm-pin en de poort van de MOSFET om de aruino te beschermen, andere mensen zeggen dat je dat niet doet, althans niet voor toepassingen met laag vermogen, ik heb er geen gebruikt en het werkt prima, ver onder de 20mA getrokken uit de pin van Arduino, maar als je wilt, kun je een weerstand van 100 ohm gebruiken.

UPDATE: Na 2 maanden testen ben ik tot de conclusie gekomen dat de 100 ohm een aanrader is! de arduino bleef willekeurig blokkeren zonder. Nu werkt het perfect

Je hebt ook soldeergereedschap nodig om de I2C-adapter op het LCD-scherm te solderen en als je het wilt maken zoals ik deed op een prototypebord of op een PCB. Ik heb header-pinnen gebruikt om de arduino aan te sluiten, omdat dit me de vrijheid geeft om de arduino uit te pakken, te programmeren en weer aan te zetten (en het is gemakkelijker om hem te vervangen).

9. Optioneel - prototypebord / PCB

10. Optioneel - header-pinnen - met elk 15 pinnen of meer - 2 stuks (nodig om arduino nano op het bord aan te sluiten)

Dat was het zo'n beetje, laten we nu aan het werk gaan!

Stap 2: dingen samenbrengen

Dingen samenbrengen
Dingen samenbrengen
Dingen samenbrengen
Dingen samenbrengen
Dingen samenbrengen
Dingen samenbrengen

Eerst moet je de IIC/I2C-adapter solderen met de LCD 1602 (werkt ook met andere LCD's zoals 2004). Gebruik hiervoor het meegeleverde schema.

Als je nu een breadboard wilt gebruiken, volg dan gewoon het schema en zorg ervoor dat alleen de aarding gemeenschappelijk is voor de LED-voeding en de arduino-voeding als je een 5V PS voor arduino gebruikt (op USB-kabel), anders kun je de dezelfde PS via de Vin-pin van de Arduino.

Als je een PCB of een prototypebord wilt gebruiken, volg dan gewoon het schema om componenten te koppelen, het ontwerp is aan jou, zorg er wel voor dat je de links op het einde dubbel controleert.

Op de I2C-adapter zit tegenover de stroom- en datapinnen een jumper, deze jumper levert stroom aan de LCD-achtergrondverlichting, bij deze blijft de LCD-verlichting continu branden. Sluit hier de drukknop aan om deze alleen te verlichten als dat nodig is. U kunt desgewenst andere soorten knoppen of schakelaars gebruiken.

Ik heb ook het fritzing-schema bijgevoegd.

_

PS = Voeding (als iemand het zich afvroeg)

PCB = printplaat

Stap 3: Plaats wat code in de MCU

Ik heb het.ino-bestand en de twee bibliotheken die ik heb gebruikt bijgevoegd, zodat er geen incompatibiliteit is. De code wordt uitgelegd in het.ino-bestand.

Ook voor het adres van het I2C-display kun je de bijgevoegde i2c-scanner.ino gebruiken om het te achterhalen.

Alle opmerkingen of suggesties zijn welkom. Veel plezier!

Aanbevolen: