Go Down

Topic: Wemos mini d1. Input Output desconcierto. (Read 217 times) previous topic - next topic

9acca9

May 28, 2019, 06:27 am Last Edit: May 28, 2019, 06:29 am by 9acca9
Hola a todos.
Resulta que estoy usando un código que usaba en un arduino nano y que funciona perfecto.

Lo que hace es accionar un relay luego de que un botón permanece presionado por más de 1 segundo y si se libera se vuelve a apagar.

El problema es que quería complejizarlo un poco poniéndolo en un Wemos para registrar estas acciones. Pero el problema lo tengo nomás al empezar.

Resulta que no me funciona ni el botón, ni el relay. Y no llego a comprender por qué. Lo único que le cambié al código fue lo de agregarle "D", para que coincida, por ejemplo pongo D6, y supongo que con eso ya se entiende que voy a conectar al D6 que se lee físicamente en la placa.

Este es el código. Qué estoy haciendo mal?

Code: [Select]
bool countingTime = false; //to know if the variable has not changed below the threshold
uint32_t startBeing1orMore; //to save the milliseconds when the variable started to be 1 or more

int valboton = 0; //para leer botón.

 
void setup() {
 
  Serial.begin(9600);
  pinMode(D7, INPUT); //boton
  pinMode(D6, OUTPUT); //relay
  }
 
void loop() {
 valboton = digitalRead(D7);
if (valboton==LOW) {
       if (!countingTime) {
       startBeing1orMore = millis();
       }
   countingTime = true;
   } else {
   countingTime = false;
   }
   if (countingTime && millis() - startBeing1orMore > 1000) {
    digitalWrite(D6, HIGH);
    delay(13);
   }
  if (valboton==HIGH) {
    digitalWrite(D6,LOW);
    delay(13);
   }
  }


Lo que me resulta llamativo es que ni siquiera me enciende el módulo del relay. Estoy usando un módulo de 4 relay (que sé que funciona porque lo probé con el arduino nano). Si bien es de 4 sólo tengo conectado un sólo de esos reles.

Un saludo a todos y muchas gracias!

RIG

#1
May 28, 2019, 07:49 am Last Edit: May 28, 2019, 07:50 am by RIG
Hola!

Quote
y supongo que con eso ya se entiende que voy a conectar al D6 que se lee físicamente en la placa.
Creo que supones mal...
Los puertos del wemos no corresponden a los mismos de arduino,  es decir, por ejemplo si tu quieres usar el puerto D4 del wemos como salida, en el ide debe poner  
Code: [Select]
pinMode(2,OUTPUT)
mira la siguiente imagen

Go Up