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.
Tags:
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.
Ok.
Obrigado pelas sugestões.
Abraço.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por