• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Problem z obsługą PCF8575
#1
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:
Kod:
#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
 
Odpowiedź
#2
Może po prostu otwórz przykład test i obejrzyj. Tam są takie funkcje:
Kod:
void doHigh()
{
  PCF.write(4, HIGH);
  int x = PCF.read16();
  Serial.print("Read ");
  printHex(x);
}


void doLow()
{
  PCF.write(4, LOW);
  int x = PCF.read16();
  Serial.print("Read ");
  printHex(x);
}


void doToggle()
{
  PCF.toggle(4);
  int x = PCF.read16();
  Serial.print("Read ");
  printHex(x);
}
Gdzie PCF. to Twoje ex1. czyli nie digitalWrite, tylko ex1.write(gdzieś,coś).
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#3
Rozwiązaniem problemu z wątku jest:
Kod:
PCF8575 pcf(0x20), pcf2(0x22);

const int Led1 = (pcf, P0);
const int Led2 = (pcf2, P5);

void setup()
{
  pcf.pinMode(Led1, OUTPUT);
  pcf2.pinMode(Led2, OUTPUT);
  pcf.begin();
  pcf2.begin()
}
void loop ()
{
}
pod Led1 jest zadeklarowany pin P0 z pierwszego PCF8575
a pod Led2 jest zadeklarowany pin P5 z drugiego PCF8575
itd...
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości