Reles, Arduino Uno y ESP2688

Hola a todos. Mi nombre es Alessandra y estoy estudiando comunicaciones.

Yo se que ya se ha hablado de este tema en el foro, pero aun no me queda claro.

Estoy tratando de realizar un proyecto (uso personal y didactico), para el cual compre lo siguiente:

-Arduino 1 R3
-ESP2688 (el azulito)
-Shield 4 Reles

El detalle es que quiero conectar mis reles mediante Arduino y que sean gobernados por el ESP.

Mi intencion es aprender dos cosas:

Lo primero, quiero hacer funcionar el circuito con el ESP trabajando sobre internet (montando un servidor web en el esp para que muestre una pagina y se puedan encender/apagar las luces desde ella).

Lo segundo, quiero lograr que el esp este en modo servidor hotspot (o sea, que el esp tenga su propia red WiFi), y que responda a los dispositivos conectados a el.

Conexionado:

ARDUINO | ESP

PIN 3.3 VCC
PIN 3.3 CH_PD
GND GND
PIN 10 UTXD
PIN 11 URXD

ARDUINO | RELES

PIN 5V VCC
PIN 2 IN1
PIN 3 IN2
PIN 4 IN3
PIN 5 IN4

Preparacion:

Descargar el plugin para Arduino que habilita el ESP8266 (descargando un paquete en el admin de tarjetas externas del IDE de Arduino) e instalar.

En Herramientras/Placa, seleccionamos “Generic ESP8266” y en Herramientras/Puerto, seleccionamos el puerto serie.

Desconectamos un momento GPIO0 del circuito y lo conectamos a GND, después desconectamos VCC y lo volvemos a conectar para resetear el ESP8266. Subimos el Sketch a la placa.

Planilla para hacerlo en modo servidor Web:

###Codigo (me lo encontre en la Web, estoy intentando portarlo):

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>

const char* ssid = "<<NOMBRE_DE_TU_WIFI>>";
const char* password = "<<PASSWORD_DE_TU_WIFI>>";

const int PIN_RELE = 2;//Es el puerto GPIO2
String ESTADO_RELE = "OFF";

ESP8266WebServer server(80);

void info() {
 String info_mensaje = "<b>ESP8266</b>
Comando <b>on</b>: encender
Comando <b>off</b>: apagar

";
 String str_estado = ESTADO_RELE;
 info_mensaje = info_mensaje + "Estado:" + str_estado + "
";
 server.send(200, "text/html", info_mensaje);
}

void estado_rele() {
 server.send(200, "text/plain", ESTADO_RELE);
}

void no_encontrado() {
 server.send(404, "text/plain", "ERROR EN LA PETICION :( ");
}

void on_rele() {
 server.send(200, "text/plain", "OK ON");
 ESTADO_RELE = "ON";
 digitalWrite(PIN_RELE, LOW);
}

void off_rele() {
 server.send(200, "text/plain", "OK OFF");
 ESTADO_RELE = "OFF";
 digitalWrite(PIN_RELE, HIGH);
}

void setup(void) {
 pinMode(PIN_RELE, OUTPUT);
 digitalWrite(PIN_RELE, HIGH);
 Serial.begin(115200);
 WiFi.begin(ssid, password);
 Serial.println("");

 // Esperamos a que se conecte
 while (WiFi.status() != WL_CONNECTED) {
   delay(500);
   Serial.print(".");
 }

 Serial.println("");
 Serial.print("Conectedo a ");
 Serial.println(ssid);
 Serial.print("Dirección IP: ");
 Serial.println(WiFi.localIP());
 IPAddress sensor_ip = WiFi.localIP();

 // Declaramos un par de paths por si queremos consultar directamente el estado
 server.on("/", info);
 server.on("/estado", estado_rele);

 // Declaramos los paths para el control del rele
 server.on("/on", on_rele);
 server.on("/off", off_rele);

 server.onNotFound(no_encontrado);

 server.begin();
 Serial.println("Servidor HTTP activo");
}

void loop(void) {
 server.handleClient();
}

#############################################
Por partes, a lo que entendi:

Usamos las librerías ESP8266WiFi.h y ESP8266WebServer.h:

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>

Declaramos el nombre de nuestra wifi y la password para poder conectarnos:

const char* ssid = "<<SSID_WIFI>>";  
const char* password = "<<PASSWORD_WIFI>>";

Se define un servidor http que va atender peticiones por el puerto 80.

ESP8266WebServer server(80);

-info() y estado_rele(), sirven para contestar las peticiones http, devolviendo información y estado del relé.
-on_rele() y off_rele(), activan/desactivan el relé.
-no_encontrado(), lleva el manejo de peticiones http incorrectas.

void info() {  
 String info_mensaje = "<b>ESP8266</b>
Comando <b>on</b>: encender
Comando <b>off</b>: apagar

";
 String str_estado = ESTADO_RELE;
 info_mensaje = info_mensaje + "Estado:" + str_estado + "
";
 server.send(200, "text/html", info_mensaje);
}

void estado_rele() {  
 server.send(200, "text/plain", ESTADO_RELE);
}

void no_encontrado() {  
 server.send(404, "text/plain", "ERROR EN LA PETICION :( ");
}

void on_rele() {  
 server.send(200, "text/plain", "OK ON");
 ESTADO_RELE = "ON";
 digitalWrite(PIN_RELE, LOW);
}

void off_rele() {  
 server.send(200, "text/plain", "OK OFF");
 ESTADO_RELE = "OFF";
 digitalWrite(PIN_RELE, HIGH);
}

Se hace el setup() de las salidas, y WiFi.begin(ssid, password) nos permite conectar al Wifi.

void setup(void) {  
 pinMode(PIN_RELE, OUTPUT);
 digitalWrite(PIN_RELE, HIGH);

 Serial.begin(115200);
 WiFi.begin(ssid, password);
 Serial.println("");

 // Esperamos a que se conecte
 while (WiFi.status() != WL_CONNECTED) {
   delay(500);
   Serial.print(".");
 }
 Serial.println("");
 Serial.print("Conectedo a ");
 Serial.println(ssid);
 Serial.print("Dirección IP: ");
 Serial.println(WiFi.localIP());

 IPAddress sensor_ip = WiFi.localIP();

Se declara en el servidor las diferentes rutas que se van a atender y reconocer.

server.on("/", info); define que al recibir una peticion http, llamara a info() definida anteriormente y
mostrara la información que le hemos definido acerca del módulo.

 // Declaramos un par de paths por si queremos consultar directamente el estado
 server.on("/", info);
 server.on("/estado", estado_rele);

Se definen las peticiones de encendido y apagado del relé:

 // Declaramos los paths para el control del rele
 server.on("/on", on_rele);
 server.on("/off", off_rele);

-server.onNotFound() se define la función que se quiere que actue cuando la petición recibida no esta definida, cuando esto sucede se llama a no_encontrado() definido anteriormente.

 server.onNotFound(no_encontrado);

 server.begin();
 Serial.println("Servidor HTTP activo");
}

-loop() invoca al método handleClient() que esta escuchando las peticiones del servidor.

void loop(void) {  
 server.handleClient();
}

Para cargar el codigo, hay que poner el pin GPIO0 a GNDpara que el boot del módulo entre en modo “upload”.

Supuestamente en el ejemplo que encontre, al abrir un navegador y poner la dirección IP que se le asigno al módulo, deberia mostrar la información que se definio en en la función info()

Si se modifica la URL con “/on” le diria al modulo que active el pin GPIO2, o sea, activar el relé (en el codigo solo se usa un rele), esto siguiendo la función on_rele().

Si se manda agrega a la URL “/off”, deberia apagar el rele.

#NOTAS:

Como se habra visto, el codigo que puse es para un solo rele, lo quiero portar para 4.

Esto resolveria uno de mis dos puntos a aprender, que es el trabajar el rele sobre internet (al menos parcialmente, ya que estoy segura que si quiero hacer una conexion externa a mi WiFi, no se conectaria al no ser una IP publica).

El conexionado lo segui tratando de seguir algunos ejemplos de la Web (sin resultados), ya que en muchos quieren cargar FirmWare externo o propietario al ESP (lo tengo como cuando lo compre) y otros quieren hacer uso de aplicaciones propias para controlarlo (cosa que no me agrada, ya que lo que quiero es aprender el funcionamiento para jugar con el mini servidor http y enviar ordenes).

Mi objetivo general de esto, es aprender el manejo del ESP2688 con Arduino, y el aprender como Arduino trabaja con reles (mas adelante planeo empezar a meter sensores y que a partir de ellos arduino haga una cosa u otra).

Mis dos grandes problemas es que no conozco mucho del lenguaje C (programo pero en otros lenguajes) y de electronica tengo nociones pero no soy experta.

Cualquier ayuda se agradeceria infinitamente, ya que no quiero incendiar la casa :stuck_out_tongue: .

Besos!!

Hola

Bueno lo primero comentarte que me parece muy interesante el tema, yo he probado con otras placas vía web y funciona perfectamente.

No soy muy experto en el ESP8266 pero se que da muchos problemas con respecto a la alimentación ya que, si no recuerdo mal, el ESP8266 requiere 3V sin muchas fluctuaciones.

Yo he sido también de esos que ha pasado por el ESP8266, no quiero desmerecer para nada este WiFi, pero resulta un poco complicado. Cuando salió el Arduino MKR1000 directamente compré uno y la verdad es que la cosa cambia bastante. Es mucho más sencillo programar y crear proyectos con Arduino MKR1000.

Respecto al servidor web, lo haces en un momento y funciona correctamente.

Espero que mi respuesta haya sido de ayuda en tu proyecto y siento no poder ayudarte más.

Un saludo.

Saludos Idelvalle, antes que nada agradezco tu respuesta.

Si, se que el ESP funciona a 3.3, pero tambien se que se puede echar a andar desde la salida 3.3 del Arduino (aunque sea diferente amperaje), y como solo es para uso de pruebas, no tiene mucha importancia por el momento el meter una fuente.

Analizando de nuevo el codigo, se me ocurre esta modificacion:

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>

const char* ssid = "<<LA_WIFI>>";
const char* password = "<<PASSWORD_WIFI>>";

//Agregar los 4 reles a sus respectivos canales.
const int PIN_RELE = 2;//Es el puerto GPIO2
const int PIN_RELE2 = 3;//Es el puerto GPIO3
const int PIN_RELE3 = 4;//Es el puerto GPIO4
const int PIN_RELE4 = 5;//Es el puerto GPIO5


//Ponemos los 4 reles en OFF
String ESTADO_RELE = "OFF";
String ESTADO_RELE2 = "OFF";
String ESTADO_RELE3 = "OFF";
String ESTADO_RELE4 = "OFF";

ESP8266WebServer server(80);

Aqui me Pierdo, como hacer que responda a 4 botones desde un codigo HTML?

Hago un parentesis aqui para poner una ide, no se que tanto funcione, que pasa si el codigo original (esta pasando este parentesis) se define asi:

void info() {
 String info_mensaje = "<b>ESP8266</b>
Comando <b>on1</b>: encender1
Comando <b>off1</b>: apagar1

Comando <b>on2</b>: encender2
Comando <b>off2</b>: apagar2

Comando <b>on3</b>: encender3
Comando <b>off3</b>: apagar3

Comando <b>on4</b>: encender4
Comando <b>off4</b>: apagar4

";
 String str_estado = ESTADO_RELE;
 info_mensaje = info_mensaje + "Estado:" + str_estado + "
";
 server.send(200, "text/html", info_mensaje);
}

Es una idea, no se si funcionara. :confused:
Siguiendo con el Codigo:

void info() {
 String info_mensaje = "<b>ESP8266</b>
Comando <b>on</b>: encender
Comando <b>off</b>: apagar

";
 String str_estado = ESTADO_RELE;
 info_mensaje = info_mensaje + "Estado:" + str_estado + "
";
 server.send(200, "text/html", info_mensaje);
}

void estado_rele() {
 server.send(200, "text/plain", ESTADO_RELE);
}

void no_encontrado() {
 server.send(404, "text/plain", "ERROR EN LA PETICION :( ");
}

//Aqui se que manda a encender el Rele, pero como decirle cual debe encender?
void on_rele() {
 server.send(200, "text/plain", "OK ON");
 ESTADO_RELE = "ON";
 digitalWrite(PIN_RELE, LOW);
}

//Aqui se que manda a apagar el Rele, pero como decirle cual debe apagar?
void off_rele() {
 server.send(200, "text/plain", "OK OFF");
 ESTADO_RELE = "OFF";
 digitalWrite(PIN_RELE, HIGH);
}

void setup(void) {
 pinMode(PIN_RELE, OUTPUT);
 digitalWrite(PIN_RELE, HIGH);
 Serial.begin(115200);
 WiFi.begin(ssid, password);
 Serial.println("");

 // Esperamos a que se conecte
 while (WiFi.status() != WL_CONNECTED) {
   delay(500);
   Serial.print(".");
 }

 Serial.println("");
 Serial.print("Conectedo a ");
 Serial.println(ssid);
 Serial.print("Dirección IP: ");
 Serial.println(WiFi.localIP());
 IPAddress sensor_ip = WiFi.localIP();

 // Declaramos un par de paths por si queremos consultar directamente el estado
 server.on("/", info);
 server.on("/estado", estado_rele);

 // Declaramos los paths para el control del rele
 server.on("/on", on_rele);
 server.on("/off", off_rele);

 server.onNotFound(no_encontrado);

 server.begin();
 Serial.println("Servidor HTTP activo");
}

void loop(void) {
 server.handleClient();
}

Como se vera, sigo muy confundida con el asunto, no se si mi conexionado esta bien, y ademas estoy segura que mi codigo no esta bien (no estoy segura del codigo servidor que puse, pero de lo demas estoy segura que Arduino no sabra cual es cual rele).

De la placa tal vez no sea la mejor la ESP… pero ya la tengo!!, tal vez a futuro convenga practicar con otra distinta, pero por lo pronto a los ejemplos (no ejemplificados :stuck_out_tongue: porque no ponen codigo la mayoria) que hay por la Web, el ESP se adapta bien a los reles y al Arduino Uno.

Tambien estoy conciente que a futuro si quisiera tener este circuito por ejemplo, fijo en mi casa, necesitaria cambiar los reles por reles estado solido para evitar que los carbones se desgasten y un buen dia no encienda mas el Swich, pero a lo pronto, es lo que tengo a la mano para aprender.

Saludos y nuevamente gracias por la respuesta.

Besos!

Alexasthar Le aconsejo consultar las normas del foro y luego editar sus mensajes de acuerdo con ellas. Saludos

Bueno, dos que deben primero LEER las Normas del Foro y aprender a usar tags de códigos para postearlos. Asi que a ambos, editen sus posts y usen el tag correspondiente

de ninguna manera esto es cierto

Si, se que el ESP funciona a 3.3, pero tambien se que se puede echar a andar desde la salida 3.3 del Arduino (aunque sea diferente amperaje), y como solo es para uso de pruebas, no tiene mucha importancia por el momento el meter una fuente.

La salida del FTDI o el CH34X no entrega mas de 60 mA y el ESP8266 requiere 120 mA en modo Recepción y 200 mA en modo transmisión, así que es posible que el FTDI/CH34X se queme usándolo.

Dicho por www.prometec.com

Arduino solo puede suministrar 50 mA en el pin de 3.3V y este módulo puede necesitar hasta 300 mA según el fabricante, por eso vamos a utilizar una fuente de alimentación externa. Alimentándolo con Arduino consigues que arranque una de cada 5 veces, pero siempre es preferible evitar el olor a quemado que es molesto.

All the transmitter’s measurements are based on 90% duty cycle, continuous transmit mode.

| Mode | Min | Typ | Max | Unit | | - | - | - | - | - | | Transmit 802.11b, CCK 1Mbps, POUT=+19.5dBm | | 215 | | mA | | Transmit 802.11b, CCK 11Mbps, POUT=+18.5dBm | | 197 | | mA | | Transmit 802.11g, OFDM 54Mbps, POUT =+16dBm | | 145 | | mA | | Transmit 802.11n, MCS7, POUT=+14dBm | | 135 | | mA | | Receive 802.11b, packet length=1024 byte, -80dBm | | 60 | | mA | | Receive 802.11g, packet length=1024 byte, -70dBm | | 60 | | mA | | Receive 802.11n, packet length=1024 byte, -65dBm | | 62 | | mA | | Standby | | 0.9 | | mA | | Deep sleep | | 10 | | uA | | Power save mode DTIM 1 | | 1.2 | | mA | | Power save mode DTIM 3 | | 0.86 | | mA | | Total shutdown | | 0.5 | | uA |

Ya edite las etiquetas (gracias por la observacion).

En cuanto al ESP, lo pienso meter asi, no citare de nuevo lo que dice PROMETEC para no hacer mas extensa la respuesta, pero si hare la observacion de que alli mismo dice que puede andar una de cada 5 veces, recuerden que estamos hablando a modo de pruebas, y citandome a mi misma, aclare que seria temporal, que en caso de dejar un circuito armado ya de planta, meteria una fuente externa.

Ahora, me parece haber leido que existe una posibilidad de bajar de 5.5 volts a 3.3 mediante resistencias (en este caso se podria conectar un eliminador de celular para alimentar al ESP), pero eso es mas adelante, primero debo de saber como hacer andar el circuito :) .

Besos!!

alexasthar:
Saludos Idelvalle, antes que nada agradezco tu respuesta.

Si, se que el ESP funciona a 3.3, pero tambien se que se puede echar a andar desde la salida 3.3 del Arduino (aunque sea diferente amperaje), y como solo es para uso de pruebas, no tiene mucha importancia por el momento el meter una fuente.

Analizando de nuevo el codigo, se me ocurre esta modificacion:

#include <ESP8266WiFi.h>

#include <ESP8266WebServer.h>

const char* ssid = “<<LA_WIFI>>”;
const char* password = “<<PASSWORD_WIFI>>”;

//Agregar los 4 reles a sus respectivos canales.
const int PIN_RELE = 2;//Es el puerto GPIO2
const int PIN_RELE2 = 3;//Es el puerto GPIO3
const int PIN_RELE3 = 4;//Es el puerto GPIO4
const int PIN_RELE4 = 5;//Es el puerto GPIO5

//Ponemos los 4 reles en OFF
String ESTADO_RELE = “OFF”;
String ESTADO_RELE2 = “OFF”;
String ESTADO_RELE3 = “OFF”;
String ESTADO_RELE4 = “OFF”;

ESP8266WebServer server(80);




Aqui me Pierdo, como hacer que responda a 4 botones desde un codigo HTML?

Hago un parentesis aqui para poner una ide, no se que tanto funcione, que pasa si el codigo original (esta pasando este parentesis) se define asi:



void info() {
String info_mensaje = "ESP8266
Comando on1: encender1
Comando off1: apagar1

Comando on2: encender2
Comando off2: apagar2

Comando on3: encender3
Comando off3: apagar3

Comando on4: encender4
Comando off4: apagar4

";
String str_estado = ESTADO_RELE;
info_mensaje = info_mensaje + “Estado:” + str_estado + "
";
server.send(200, “text/html”, info_mensaje);
}



Es una idea, no se si funcionara. :confused:
Siguiendo con el Codigo:



void info() {
String info_mensaje = "ESP8266
Comando on: encender
Comando off: apagar

";
String str_estado = ESTADO_RELE;
info_mensaje = info_mensaje + “Estado:” + str_estado + "
";
server.send(200, “text/html”, info_mensaje);
}

void estado_rele() {
server.send(200, “text/plain”, ESTADO_RELE);
}

void no_encontrado() {
server.send(404, “text/plain”, "ERROR EN LA PETICION :frowning: ");
}

//Aqui se que manda a encender el Rele, pero como decirle cual debe encender?
void on_rele() {
server.send(200, “text/plain”, “OK ON”);
ESTADO_RELE = “ON”;
digitalWrite(PIN_RELE, LOW);
}

//Aqui se que manda a apagar el Rele, pero como decirle cual debe apagar?
void off_rele() {
server.send(200, “text/plain”, “OK OFF”);
ESTADO_RELE = “OFF”;
digitalWrite(PIN_RELE, HIGH);
}

void setup(void) {
pinMode(PIN_RELE, OUTPUT);
digitalWrite(PIN_RELE, HIGH);
Serial.begin(115200);
WiFi.begin(ssid, password);
Serial.println("");

// Esperamos a que se conecte
while (WiFi.status() != WL_CONNECTED) {
  delay(500);
  Serial.print(".");
}

Serial.println("");
Serial.print("Conectedo a ");
Serial.println(ssid);
Serial.print("Dirección IP: ");
Serial.println(WiFi.localIP());
IPAddress sensor_ip = WiFi.localIP();

// Declaramos un par de paths por si queremos consultar directamente el estado
server.on("/", info);
server.on("/estado", estado_rele);

// Declaramos los paths para el control del rele
server.on("/on", on_rele);
server.on("/off", off_rele);

server.onNotFound(no_encontrado);

server.begin();
Serial.println(“Servidor HTTP activo”);
}

void loop(void) {
server.handleClient();
}




Como se vera, sigo muy confundida con el asunto, no se si mi conexionado esta bien, y ademas estoy segura que mi codigo no esta bien (no estoy segura del codigo servidor que puse, pero de lo demas estoy segura que Arduino no sabra cual es cual rele).

De la placa tal vez no sea la mejor la ESP.. pero ya la tengo!!, tal vez a futuro convenga practicar con otra distinta, pero por lo pronto a los ejemplos (no ejemplificados :P porque no ponen codigo la mayoria) que hay por la Web, el ESP se adapta bien a los reles y al Arduino Uno.

Tambien estoy conciente que a futuro si quisiera tener este circuito por ejemplo, fijo en mi casa, necesitaria cambiar los reles por reles estado solido para evitar que los carbones se desgasten y un buen dia no encienda mas el Swich, pero a lo pronto, es lo que tengo a la mano para aprender.

Saludos y nuevamente gracias por la respuesta.

Besos!

Hola alexasthar

No entiendo muy bien tu código debido a que creo que faltan cosas, por favor si puedes cuelga todo el sketch en un archivo, resultará más fácil.

Voy a intentar ayudarte en la medida de lo posible. Entiendo que el ESP funciona como servidor ¿correcto? si es así te recomiendo que pases los parámetros en la URL (método GET) por ejemplo:

http://www.tudomino.com/on/?rele=1

Esto encenderá el relé 1, si quieres encender el 3 solo cambia el 1 por el 3.

De igual manera lo puedes hacer para apagar.

Debes buscar la manera de leer los parámetros concatenados en la URL.

Espero que te haya servido de ayuda.

http://www.tudomino.com/on/?rele=1

Cosas como estas no van simplemente pegadas. Van asi

http://www.tudomino.com/on/?rele=1

Los que van a ayudar por favor Lean las Normas del foro y los que no tmb.

Gracias por no leer la tabla que me tomé el trabajo de indicarte!!

Qué parte de 200mA en modo transmisión no entendiste que es menor que los 60mA que entrega un FTDI/CH34X Prometec puede decir que de tanto en tanto puede funcionar y yo tambien lo leí (en otro sitio cuando recién salíeron los ESP8266), pero luego lo probé y que pasó? Se me quemó un FTDI y ahora que hago, le reclamo a Prometec? Te compras un AMS1177 y usas arduino desde 5V para entregar la corriente que necesita el ESP. Si te aconsejo con datos tecnicos de usar una fuente externa para los 3.3V hazme caso o corre el riesgo pero no lo enfatices en un foro donde intentamos actuar de la mejor manera para que el lector desprevenido diga.. Ahh si, puedo conectarlo a los 3.3V del Arduino!!!

Yo también me equivoco pero insistir con algo que funciona de tanto en tanto es para los mecánicos sin ofenderlos o acaso una marcha que entra en una caja de cambio, pruebas y pruebas y de golpe funciona!! Mi hermano me dice : "si algo electrónico no funciona no va a funcionar por mas que lo pruebes 10 veces, no es mecánico"

NOTA: Que quede claro que no estoy enojado ni mucho menos. Yo soy directo y algunos mal interpretan mi forma de expresarme.

Antes que nada, gracias nuevamente por las respuestas.

Empezare con lo primero:

@surbyte, dos comentarios sin afan de ofender ni de discutir:

Primero, no le veo problema que Idelvalle ponga una URL sin las etequetas de codigo, no me esta pasando codigo, me esta haciendo un comentario a modo ejemplificado que es muy distinto (soy maestra, se de gramatica) y si nos vamos a lo literal de las Reglas -con lo que tanta lata dan, sin ofender-, se especifica que el CODIGO va con etiquetas, no dice en ningun lugar que si pongo http tiene que ir entre etiquetas.

Segundo (muy relacionado con lo anterior), el foro (o diganme si estoy mal), es para aprender y ayudar, se que debe de haber un orden, pero eso de que uno no pueda poner un funcion_x() porque ya andan con las etiquetas, creo que es exagerar demasiado, y eso de que uno publique algo y parezca que tiene a la abuela regañona detras buscandole un acento mal puesto a las palabras, creo que es incomodo.

Como lo mencione, estoy de acuerdo que hayan reglas, incluso arriba un administrador me hizo el comentario de mis etiquetas... completamente de acuerdo, las cambie... pero eso de que al siguiente comentario de ese, remarques la observacion y mas abajo otra vez (y por el comentario de la URL) ya es demasiada exageracion!, en todo caso, creo igual un Administrador deberia de hacernos alguna observacion.

Disculpa si te ofende mi comentario, no es con mala intencion... Idelvalle trata de ayudarme, y repito, creo que mas que andar vigilando puntos a las "is", el foro es para aprender y ayudar.

En cuanto a la ficha tecnica, agradezco la observacion del post publicado, se que conlleva un riesgo (yo lo dije arriba antes de que se me hiciese el comentario), y aun asi deseo seguir con el asunto (ya he leido anteriormente sobre los amperajes).

No es que no me haya tomado la molestia de leer la informacion, y estoy conciente que si quemo el circuito es mi responsabilidad y que no puedo querer venir a reclamar nada.

En todo caso, creo que me vendria mejor alguna idea sobre como bajarme de los 5 del arduino a los 3.3 mediante resistencias (hace tiempo vi en internet sobre eso, pero como deje arduino perdi el hilo).

De cualquier modo, muchas gracias por el tiempo en leerme y en publicar la informacion, y una disculpa si sono ofensivo el comentario, pero al igual cuando algo no me parece soy muy directa.

@Idelvalle, agradezco nuevamente la ayuda, el Sketch, es el codigo que puse en mi primer post... realmente no lo he cargado al Arduino, porque a lo poco que me dicata mi intuicion :P no me serviria para mis propositos simplemente por el numero de salidas que hay (como lo mencione en el primer post, fue un codigo que me encontre, ya que si sirve de algo lo subo, pero lo transcribi tal y cual), yo se que no soy experta en C (bueno, de hecho C no es mi fuerte y se poco y nada), pero algo alcanzo a entender (programo Phyton y Basic.. de hecho lo que se de POST y GET es por Basic trabajando con un servidor).

Espero haber sido especifica, y si no por favor hazmelo saber (al igual si es necesario subir el .ino).

De nuevo mil gracias y Besos!!

En todo caso, creo que me vendria mejor alguna idea sobre como bajarme de los 5 del arduino a los 3.3 mediante resistencias (hace tiempo vi en internet sobre eso, pero como deje arduino perdi el hilo).

No se como calificar este comentario. Si eres estudiante de comunicaciones hay algo que no has entendido y es la ley de ohm. Quieres bajar de 5 a 3.3V ? Usa un regulador de 3.3V que se llama AMS1177. Con resistencias debes calcular la carga o consumo de tu circuito a 3.3V y como te he mostrado que el consumo es variable nunca va a funcionar como quieres porque te dará una caida para un consumo y otro valor para otro caso, es como que tengas 3.3V cuando estes en TX y 4.2 V (por decir algo supuesto) en RX.

Respecto de tu comentario sobre las reglas dejaré a Hector_A que te responda porque si yo lo hago no te va a gustar. Ademas es fuera de topico y eso también esta en las reglas. Debieras haberlo cursado por privado.

Como decía un personaje de la televisión argentina hace unos años que se suponía el dueño de un bar.. "Antes de hablar quesería decir una cosa". Alexasthar, te cuento que Surbyte es moderador de este foro, que no lo diga es un tema administrativo/técnico que escapa a nuestras posibilidades, sólo lo pueden solucionar en Italia y están trabajando en eso. Cuando dices:

Primero, no le veo problema que Idelvalle ponga una URL sin las etequetas de codigo, no me esta pasando codigo, me esta haciendo un comentario a modo ejemplificado que es muy distinto (soy maestra, se de gramatica) y si nos vamos a lo literal de las Reglas -con lo que tanta lata dan, sin ofender-, se especifica que el CODIGO va con etiquetas, no dice en ningun lugar que si pongo http tiene que ir entre etiquetas.

Denota a las claras que si has leído las normas del foro, pero muy por arriba, porque en el apartado 9 reza lo siguiente:

En el caso de enlaces a páginas externas inserta la URL en el cuadro de dialogo que aparece, has click en OK, en el siguiente cuadro de dialogo puedes cambiarlo por el título de la página o dejarlo así, lo que aparece en este segundo cuadro de dialogo es el texto que estará visible en el mensaje.

Pero en todo caso lo tendríamos que continuar por vía privada, para no seguir desvirtuando el hilo. Saludos!