W artykule zostaną przedstawione kroki, które pozwolą na sterowanie modułem PCA9536D. Moduł z którego korzystam jest zintegrowany z ładowarką do paneli słonecznych ADEAS, która posiada akumulatory i pozwala na korzystanie z magazynowanej energii.
Spis treści
- Krótki opis
- Specyfikacja
- Wykorzystane komponenty
- Podłączenie
- Wgranie potrzebnej biblioteki
- Wykorzystanie przykładu
- Przedstawienie działania
- Pliki do pobrania
Krótki opis
Ładowarka do paneli słonecznych z koszyczkiem na akumulatory ADEAS to praktyczne rozwiązanie pozwalające na ładowanie akumulatorów przy użyciu energii słonecznej. Jest to idealne rozwiązanie do zastosowań IOT, gdzie nie ma dostępu do tradycyjnego źródła zasilania.
Specyfikacja
- Napięcie wyjście: 12V 2A/5V 1A/Vax 5V 3A
- Miejsca na akumulatory: 4
- Miejsca na panele słoneczne: 10
- Max napięcie paneli: 32V
- Komunikacja: I2C
- Układy sterowania:
- LTC4162IUFD-L42M
- PCA9536D
- Wymiary: 100×100 mm
Wykorzystane komponenty
- Ładowarka do paneli ADEAS
- MEGA 2560 R3 ATMega2560 16MHz – CH340 + Kabel USB
- Przewody połączeniowe
Podłączenie
Połączenie jest bardzo proste, wystarczy, że wepniemy SCL do SDA arduino i SDA do SCL arduino, GND do GND arduino i gotowe. Dodatkowo do ładowarki muszą być włożone akumulatory.
MEGA 2560 | PCA9536D |
---|---|
SDA | SCL |
SCL | SDA |
GND | GND |
Bardzo ważne, jest też zwarcie ze sobą dwóch prawych wejść ARK środkowej sekcji, ponieważ bez tego nie będzie działać zasilanie. Wystarczy połączyć przewodem na krótki czas, a później odłączyć. Można też zastosować przycisk albo przekaźnik. Wejście, które należy ze sobą złączyć pokazane na zdjęciu niżej.
Wgranie potrzebnej biblioteki
Będziemy potrzebować biblioteki od SparkFun’a o nazwie PCA9536D, można ją znaleźć w bibliotekach arduino albo pobrać na dole artykułu. Informacje o bibliotece znajdują się pod tym linkiem.
Wykorzystanie przykładu
Aby skorzystać z przykładu wybieramy następująco Plik -> Przykłady -> PCA9536D -> Example1-DigitalOutput. Lekko go rozłożyłem na części pierwsze, żeby móc lepiej zarządzać interesującymi nas wyjściami i wejściem. Chcąc włączyć zasilanie na jednym z wyjść dajemy HIGH, a jak wyłączyć, to LOW.
#include <PCA9536D.h> PCA9536 io; void setup() { Serial.begin(115200); Serial.println("PCA9536 example"); Wire.begin(); // Initialize the PCA9536 with a begin function if (io.begin() == false) { Serial.println("PCA9536 not detected. Please check wiring. Freezing..."); while (1) ; } io.pinMode(0, OUTPUT); //ustawienie 0 na wyjście io.pinMode(1, OUTPUT); //ustawienie 1 na wyjście io.pinMode(2, OUTPUT); //ustawienie 2 na wyjście io.pinMode(3, INPUT); //ustawienie 3 na wejście } void loop() { io.write(0, LOW); // wyłączenie/włączenie IO0 io.write(1, LOW); // wyłączenie/włączenie IO1 io.write(2, LOW); // wyłączenie/włączenie IO2 Serial.println(io.read(3)); //odczytywanie stanu naładowania akumulatorów 1 - naładowane, 0 - chwilowy sygnał po rozładowaniu akumulatorów delay(1000); }