01-17-2023, 12:15 PM
command does not work, it was supposed to give a command that if button 1 was LOW, it would activate output P0, what did i do wrong to make it not work?
#include "Arduino.h"
#include "PCF8574.h"
// Define o endereço de entrada do i2c
PCF8574 pcf8574_1(0x22,4,5); // canal 1-8 endereço: 100010
PCF8574 pcf8574_2(0x21,4,5); // endereço do canal 9-16: 100001
PCF8574 pcf8574_3(0x25,4,5);
unsigned long timeElapsed;
void setup()
{
Serial.begin(115200);
atraso(1000);
pcf8574_3.pinMode(P5, OUTPUT);
pcf8574_1.pinMode(P0, ENTRADA);
pcf8574_1.pinMode(P1, ENTRADA);
pcf8574_1.pinMode(P2, ENTRADA);
pcf8574_1.pinMode(P3, ENTRADA);
pcf8574_1.pinMode(P4, INPUT);
pcf8574_1.pinMode(P5, ENTRADA);
pcf8574_1.pinMode(P6, INPUT);
pcf8574_1.pinMode(P7, ENTRADA);
pcf8574_2.pinMode(P0, ENTRADA);
pcf8574_2.pinMode(P1, ENTRADA);
pcf8574_2.pinMode(P2, ENTRADA);
pcf8574_2.pinMode(P3, ENTRADA);
pcf8574_2.pinMode(P4, INPUT);
pcf8574_2.pinMode(P5, ENTRADA);
pcf8574_2.pinMode(P6, INPUT);
pcf8574_2.pinMode(P7, ENTRADA);
Serial.print("Iniciar pcf8574...");
if (pcf8574_1.begin()){
Serial.println("pcf8574_1_OK");
}outro{
Serial.println("pcf8574_1_KO");
}
Serial.print("Iniciar pcf8574...");
if (pcf8574_2.begin()){
Serial.println("pcf8574_2_OK");
}outro{
Serial.println("pcf8574_2_KO");
}
Serial.print("Iniciar pcf8574...");
if (pcf8574_3.begin()){
Serial.println("pcf8574_3_OK");
}outro{
Serial.println("pcf8574_3_KO");
}
}
laço vazio()
{
uint8_t val1 = pcf8574_1.digitalRead(P0);
uint8_t val2 = pcf8574_1.digitalRead(P1);
uint8_t val3 = pcf8574_1.digitalRead(P2);
uint8_t val4 = pcf8574_1.digitalRead(P3);
uint8_t val5 = pcf8574_1.digitalRead(P4);
uint8_t val6 = pcf8574_1.digitalRead(P5);
uint8_t val7 = pcf8574_1.digitalRead(P6);
uint8_t val8 = pcf8574_1.digitalRead(P7);
uint8_t val9 = pcf8574_2.digitalRead(P0);
uint8_t val10 = pcf8574_2.digitalRead(P1);
uint8_t val11 = pcf8574_2.digitalRead(P2);
uint8_t val12 = pcf8574_2.digitalRead(P3);
uint8_t val13 = pcf8574_2.digitalRead(P4);
uint8_t val14 = pcf8574_2.digitalRead(P5);
uint8_t val15 = pcf8574_2.digitalRead(P6);
uint8_t val16 = pcf8574_2.digitalRead(P7);
if (val1==BAIXO) {pcf8574_3.digitalWrite(P0, ALTO);}
if (val1==BAIXO) Serial.println("TECLA 1 PRESSIONADA");
if (val2==BAIXO) Serial.println("TECLA 2 PRESSIONADA");
if (val3==BAIXO) Serial.println("TECLA 3 PRESSIONADA");
if (val4==BAIXO) Serial.println("TECLA 4 PRESSIONADA");
if (val5==BAIXO) Serial.println("TECLA 5 PRESSIONADA");
if (val6==BAIXO) Serial.println("TECLA 6 PRESSIONADA");
if (val7==BAIXO) Serial.println("TECLA 7 PRESSIONADA");
if (val8==BAIXO) Serial.println("TECLA8 PRESSIONADA");
if (val9==BAIXO) Serial.println("TECLA 1 PRESSIONADA");
if (val10==BAIXO) Serial.println("TECLA 2 PRESSIONADA");
if (val11==BAIXO) Serial.println("TECLA 3 PRESSIONADA");
if (val12==BAIXO) Serial.println("TECLA 4 PRESSIONADA");
if (val13==BAIXO) Serial.println("TECLA 5 PRESSIONADA");
if (val14==BAIXO) Serial.println("TECLA 6 PRESSIONADA");
if (val15==BAIXO) Serial.println("TECLA 7 PRESSIONADA");
if (val16==BAIXO) Serial.println("TECLA8 PRESSIONADA");
atraso(300);
}
#include "Arduino.h"
#include "PCF8574.h"
// Define o endereço de entrada do i2c
PCF8574 pcf8574_1(0x22,4,5); // canal 1-8 endereço: 100010
PCF8574 pcf8574_2(0x21,4,5); // endereço do canal 9-16: 100001
PCF8574 pcf8574_3(0x25,4,5);
unsigned long timeElapsed;
void setup()
{
Serial.begin(115200);
atraso(1000);
pcf8574_3.pinMode(P5, OUTPUT);
pcf8574_1.pinMode(P0, ENTRADA);
pcf8574_1.pinMode(P1, ENTRADA);
pcf8574_1.pinMode(P2, ENTRADA);
pcf8574_1.pinMode(P3, ENTRADA);
pcf8574_1.pinMode(P4, INPUT);
pcf8574_1.pinMode(P5, ENTRADA);
pcf8574_1.pinMode(P6, INPUT);
pcf8574_1.pinMode(P7, ENTRADA);
pcf8574_2.pinMode(P0, ENTRADA);
pcf8574_2.pinMode(P1, ENTRADA);
pcf8574_2.pinMode(P2, ENTRADA);
pcf8574_2.pinMode(P3, ENTRADA);
pcf8574_2.pinMode(P4, INPUT);
pcf8574_2.pinMode(P5, ENTRADA);
pcf8574_2.pinMode(P6, INPUT);
pcf8574_2.pinMode(P7, ENTRADA);
Serial.print("Iniciar pcf8574...");
if (pcf8574_1.begin()){
Serial.println("pcf8574_1_OK");
}outro{
Serial.println("pcf8574_1_KO");
}
Serial.print("Iniciar pcf8574...");
if (pcf8574_2.begin()){
Serial.println("pcf8574_2_OK");
}outro{
Serial.println("pcf8574_2_KO");
}
Serial.print("Iniciar pcf8574...");
if (pcf8574_3.begin()){
Serial.println("pcf8574_3_OK");
}outro{
Serial.println("pcf8574_3_KO");
}
}
laço vazio()
{
uint8_t val1 = pcf8574_1.digitalRead(P0);
uint8_t val2 = pcf8574_1.digitalRead(P1);
uint8_t val3 = pcf8574_1.digitalRead(P2);
uint8_t val4 = pcf8574_1.digitalRead(P3);
uint8_t val5 = pcf8574_1.digitalRead(P4);
uint8_t val6 = pcf8574_1.digitalRead(P5);
uint8_t val7 = pcf8574_1.digitalRead(P6);
uint8_t val8 = pcf8574_1.digitalRead(P7);
uint8_t val9 = pcf8574_2.digitalRead(P0);
uint8_t val10 = pcf8574_2.digitalRead(P1);
uint8_t val11 = pcf8574_2.digitalRead(P2);
uint8_t val12 = pcf8574_2.digitalRead(P3);
uint8_t val13 = pcf8574_2.digitalRead(P4);
uint8_t val14 = pcf8574_2.digitalRead(P5);
uint8_t val15 = pcf8574_2.digitalRead(P6);
uint8_t val16 = pcf8574_2.digitalRead(P7);
if (val1==BAIXO) {pcf8574_3.digitalWrite(P0, ALTO);}
if (val1==BAIXO) Serial.println("TECLA 1 PRESSIONADA");
if (val2==BAIXO) Serial.println("TECLA 2 PRESSIONADA");
if (val3==BAIXO) Serial.println("TECLA 3 PRESSIONADA");
if (val4==BAIXO) Serial.println("TECLA 4 PRESSIONADA");
if (val5==BAIXO) Serial.println("TECLA 5 PRESSIONADA");
if (val6==BAIXO) Serial.println("TECLA 6 PRESSIONADA");
if (val7==BAIXO) Serial.println("TECLA 7 PRESSIONADA");
if (val8==BAIXO) Serial.println("TECLA8 PRESSIONADA");
if (val9==BAIXO) Serial.println("TECLA 1 PRESSIONADA");
if (val10==BAIXO) Serial.println("TECLA 2 PRESSIONADA");
if (val11==BAIXO) Serial.println("TECLA 3 PRESSIONADA");
if (val12==BAIXO) Serial.println("TECLA 4 PRESSIONADA");
if (val13==BAIXO) Serial.println("TECLA 5 PRESSIONADA");
if (val14==BAIXO) Serial.println("TECLA 6 PRESSIONADA");
if (val15==BAIXO) Serial.println("TECLA 7 PRESSIONADA");
if (val16==BAIXO) Serial.println("TECLA8 PRESSIONADA");
atraso(300);
}