- This topic has 0 replies, 1 voice, and was last updated 1 year, 3 months ago by .
- You must be logged in to reply to this topic.
Hi guys, I have a board with ESP32 and two PCF8574 expanders, one for inputs and the other one for outputs. The “output” ‘s ports are connected to an ULN2003 (darlington NPN amplifier) that is used to switch on relays. I did a simple program to test the board out. I can change the states of PCF_Output pins on a read input but the relays do not switch on. If I add an external pull up resistor 10k from VCC to a pin, the corresponding relay becomes controllable, but on startup its HIGH for about a second which is a problem. I am looking for a way to fix that. Any help is appreciated. Here is my sample test code:
void setup()
{
Serial.begin(115200);
PCF_Input.pinMode(P0, INPUT);
PCF_Input.pinMode(P1, INPUT);
PCF_Input.pinMode(P2, INPUT);
PCF_Input.pinMode(P3, INPUT);
PCF_Output.pinMode(P0, OUTPUT, LOW);
PCF_Output.pinMode(P1, OUTPUT, LOW);
PCF_Output.pinMode(P2, OUTPUT, LOW);
PCF_Output.pinMode(P3, OUTPUT, LOW);
PCF_Input.begin();
PCF_Output.begin();
}
void loop()
{
Serial.print(PCF_Output.digitalRead(P0));
Serial.print(PCF_Output.digitalRead(P1));
Serial.print(PCF_Output.digitalRead(P2));
Serial.print(PCF_Output.digitalRead(P3));
Serial.println();
delay(1000);
if(PCF_Input.digitalRead(P0)==LOW)
{
PCF_Output.digitalWrite(P0, HIGH);
PCF_Output.digitalWrite(P1, HIGH);
PCF_Output.digitalWrite(P2, HIGH);
PCF_Output.digitalWrite(P3, HIGH);
}
}
More
3D Printer 3D printer upgrade ABB Arduino Arduino IDE Arduino SAMD boards Aurora AWS CNC Cyclone PCB Factory Cyclone PCB Factory how to build It Display DynamoDB E32 E70 EByte esp01 esp32 esp8266 File System Firmware i2c Library LoRa MicroPython Milling PCB My PCB Networking PCB pinout Power saving Raspberry Pi REST API RF rp2040 SD Card Sensors Sleep and Wake UP SPI STM32 Temperature Tutorial Web Server Wemos D1 mini WiFi