Arduino Polska Forum

Pełna wersja: Expander PCF8574 nie działa prawidłowo
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
O co tu chodzi bo mi już pomysłów brakuje ?
Ustawiam wszystkie piny na stan wysoki a pin 4 zawsze się buntuje. Nie da się go ustawić. 
Myslałem że mam uwalony moduł ale sprawdzałem na jeszcze czterech i to samo. 

Kod:
#include <Wire.h>    // Required for I2C communication
#include "PCF8574.h" // Required for PCF8574


PCF8574 expander;


void setup() {


  Serial.begin(9600);
 

  expander.begin(0x27);
 

  expander.pinMode(0, OUTPUT);
  expander.pinMode(1, OUTPUT);
  expander.pinMode(2, OUTPUT);
  expander.pinMode(3, OUTPUT);
  expander.pinMode(4, OUTPUT);
  expander.pinMode(5, OUTPUT);
  expander.pinMode(6, OUTPUT);
  expander.pinMode(7, OUTPUT);
 
   expander.write(0b11111111); // stan startowy - filtry wyłączone
   Serial.println(expander.read(), BIN);
}

void loop() {

}

Do expandera nic nie jest podłączone.
[attachment=1012]
[attachment=1013]
A co masz podłączone do pinu 4 ?
To jest moduł do wyświetlacza LCD. Może tam jest coś podłączone do tego pinu i wymusza stan niski.
Jeśli wierzyć schematowi HW-061 ze strony https://www.electroschematics.com/arduin...-tutorial/

[attachment=1014]

Do pinu P3 jest podłączony tranzystor sterujący podświetlaniem. Dlatego odczytując wartość z PCF8574 dostajesz tam zero. Czyli wszystko działa jak powinno, teraz musisz tylko zrozumieć zasadę działania użytego układu, albo sobie darować i przyjąć że tak ma być.
Dzięki, faktyczne pin 4 w ogóle nie był podłączony do wyprowadzeń zewnętrznych tylko do tranzystora.
Wszystko działa.
[attachment=1015]

Ta ogólnie to expander załącza filtry pasmowe w radiu.