Skocz do zawartości

Ekspander PCF8575 - przeniesienie pinów


LeKeR

Pomocna odpowiedź

Witam

Potrzebowałem rozszerzyć ilość wejść/wyjść w moim Arduino więc podłączyłem moduł PCF8575. Biblioteki wgrałem, adres I2C ustaliłem ale mam problem jak zacząć korzystać z pinów. Mianowicie w pierwotnym programie mam np:

#include <PCF8575.h>
#include <Wire.h>
#include <Bounce2.h>

PCF8575 ex1;


const int button1a = 2;
const int button1b = 3;
const int ledPin1a = 42;
const int ledPin1b = 43;


void setup() {

ex1.begin(0x20);
ex1.pinMode(P00, OUTPUT); // tutaj pokazuje mi błędy

 
  pinMode(ledPin1a, OUTPUT);
  digitalWrite(ledPin1a, LOW);
  pinMode(ledPin1b, OUTPUT);
  digitalWrite(ledPin1b, LOW);

void loop()
{
}

W nowej wersji programu chciałbym zwolnic piny 2,3 42,43 i "przenieść" je do PCF8575. Np aby pod:

ledPin1a był pin 00 z PCF8575
ledPin1b był pin 01 z PCF8575
itd...

 


Proszę o podpowiedz jak to zrobić gdyż nic konkretnego nie znalazłem w internecie

Link do komentarza
Share on other sites

Jeżeli dobrze pamiętam, to po prostu zapisujesz wartość i czytasz wg potrzeb.

pcf8575.write(PIN, level);

int stan_expandera = pcf8575.read16() & MASKA ;

 

Żadnego pinMode ani digitalWrite/digitalRead. To nie są piny procesora.

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.