Go Down

Topic: Programing code failure or wrong GPIO pin? (Read 189 times) previous topic - next topic

nhatminh1209

May 21, 2018, 07:16 pm Last Edit: May 21, 2018, 07:25 pm by nhatminh1209
Hi everyone,

Recently, I tried to setup a new test for a beginner like me by connect and upload the code to ESP8266 -01 like people show me:

Quote
#include <ESP8266WiFi.h>

const char* ssid = "YOUR_SSID";//type your ssid
const char* password = "YOUR_PASSWORD";//type your password

int ledPin = 2; // GPIO2 of ESP8266
WiFiServer server(80);//Service Port

void setup() {
Serial.begin(115200);
delay(10);

pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);

// Connect to WiFi network
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");

// Start the server
server.begin();
Serial.println("Server started");

// Print the IP address
Serial.print("Use this URL to connect: ");
Serial.print("http://");
Serial.print(WiFi.localIP());
Serial.println("/");
}

void loop() {
// Check if a client has connected
WiFiClient client = server.available();
if (!client) {
return;
}

// Wait until the client sends some data
Serial.println("new client");
while(!client.available()){
delay(1);
}

// Read the first line of the request
String request = client.readStringUntil('\r');
Serial.println(request);
client.flush();

// Match the request

int value = LOW;
if (request.indexOf("/LED=ON") != -1) {
digitalWrite(ledPin, HIGH);
value = HIGH;
}
if (request.indexOf("/LED=OFF") != -1){
digitalWrite(ledPin, LOW);
value = LOW;
}

//Set ledPin according to the request
//digitalWrite(ledPin, value);

// Return the response
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println(""); //  do not forget this one
client.println("<!DOCTYPE HTML>");
client.println("<html>");

client.print("Led pin is now: ");

if(value == HIGH) {
client.print("On");  
} else {
client.print("Off");
}
client.println("<br><br>");
client.println("Click <a href=\"/LED=ON\">here</a> turn the LED on pin 2 ON<br>");
client.println("Click <a href=\"/LED=OFF\">here turn the LED on pin 2 OFF<br>");
client.println("</html>");

delay(1);
Serial.println("Client disconnected");
Serial.println("");
}
I put on the SSID, Password and I connect to the Wifi server and everything is seem to be alright. I got button to press ON and OFF but ...

I connected the 2 GPIO of the ESP8266-01 to the Relay but nothing happen to the Relay when I press button on the web.

What did I miss? I attached Picture that I connect the Pin

Thanks for helping. I desperate working on it  :smiley-confuse:

groundFungus

#1
May 21, 2018, 07:50 pm Last Edit: May 21, 2018, 07:56 pm by groundFungus
Does it work with a LED in place of the relay?

I don't see a ground wire between the ESP and the relay module.

That relay module might be optically isolated so the relay closes on LOW.

westfw

Do you have a common ground connection between the relay board and the esp board?

nhatminh1209

Do you have a common ground connection between the relay board and the esp board?

No. I connect the GND pin of the relay with other source that I convert from 220V into 5V

GND pin of the ESP board I connect to the FTDI pin that connected to the Mac :(

nhatminh1209

Does it work with a LED in place of the relay?

I don't see a ground wire between the ESP and the relay module.

That relay module might be optically isolated so the relay closes on LOW.
- It does't work with LEDs in the relay.  :(

- The GND wire is the black wire on the high left side of the ESP and the GCN wire on the Relay Module connect to the GND wire (in the picture is yellow wire) from the other source that I convert from 220V to 5V

- I checked the relay, the relay module only works when the INT (signal pin) has GND wire conect to it (The LED light up on the Relay module)

nhatminh1209

Do you have a common ground connection between the relay board and the esp board?

what will happen if the relay and esp have the same Ground connection pin?

groundFungus

#6
May 22, 2018, 03:54 pm Last Edit: May 22, 2018, 03:58 pm by groundFungus
Here is how the relay module should be wired when the relay coils are powered from an external source.
According to your last photo you have the external power source wired incorrectly.  There is no connection from ground to the ESP.


nhatminh1209

#7
May 22, 2018, 04:34 pm Last Edit: May 22, 2018, 04:46 pm by nhatminh1209
Actually yes. The Black wire is the ground wire connect to the esp. In your picture, the ground connect to the Relay must be the Ground from the ESP or from the other source?

In the picture, I have to remove the Jumper connect the JD and VCC pins and wired that VCC (5V) and GND pin with external source?
and
Don't connect GND to the pin CND next to IN1, IN2. We only use signal pin connect to IN1, IN2 and connect 5V to the VCC?




Go Up