Boa noite.

Alguém pode me ajudar com o PCF8574 para leitura.

Segue código que estou utilizando abaixo:

#include <Wire.h>
#define expansor1 0x20
//#define expansor1 0100000

void setup() {
Serial.begin( 9600 );
Wire.begin();
}

void loop() {
Wire.requestFrom( expansor1, 1 );
if( Wire.available() ) {
// int ocupa 2 bytes (16 bits) de memoria, uint8_t (ou unsigned char) ocupa 1 byte (8 bits).
uint8_t val = Wire.read();


switch( val ) {
case B11111110: // ou 0xFE
Serial.print( "valorP0" );
Serial.println( val, DEC );
break;

case B11111101: // ou 0xFD
Serial.print( "valorP1" );
Serial.println( val, DEC );
break;

case B11111011: // ou 0xFB
Serial.print( "valorP2" );
Serial.println( val, DEC );
break;

case B11110111: // ou 0xF7
Serial.print( "valorP3" );
Serial.println( val, DEC );
break;

case B11101111: // ou 0xEF
Serial.print( "valorP4" );
Serial.println( val, DEC );
break;

case B11011111: // ou 0xDF
Serial.print( "valor P5" );
Serial.println( val, DEC );
break;

case B10111111: // ou 0xBF
Serial.print( "valor P6" );
Serial.println( val, DEC );
break;

case B01111111: // ou 0x7F
Serial.print( "valor P7" );
Serial.println( val, DEC );
break;

}
}
}

O PCF8574P que estou utilizando é da Phillips.

Em anexo está seu datasheet.

No circuíto estou utilizando resistores de 10K, e não estou utilizando interrupção, pois não sei utilizar interrupção e não encontrei tutorial explicando o uso da mesma, também não sei se e necessário sua utilização para leitura.

Atc.

Exibições: 278

Anexos

Responder esta

Respostas a este tópico

Bom dia L2K.

Só ajudo amigos que não colam sketch na área de texto do tópico.

Se remove o code, e anexar como arquivo, posso reconsiderar minha decisão.

Leia: http://labdegaragem.com/forum/topics/sugest-o-de-como-postar

Rui

Boa noite.

Ok. Obrigado pela dica.

Segue código em anexo como arquivo.

Atc.

Anexos

Ok.
Obrigado pelas sugestões.

Abraço.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço