Lo MÁS leído
Actualmente
-
· Simulador FMS
· EL PÁJARO DEL TIEMPO
· Avión Charlie.. (1/3)
· 1.- CEROCERO. Las alas
· XALOC.- (1-Fuselaje)
· Convierte tu radio a los
· XALOC.- (2-Alas)
· El mundo de las turbinas.
· Maniobras acrobáticas.
· XALOC.- (3 Cola)

Contenido
· Aviones
· CEROCERO
· Helicópteros
· Miscelánea
· Motores
· Radios
· Técnica
· Volar
· TODO de TODO

MÁS OPCIONES
· Inicio
· Contenido
· FORO
· AvantGo
· Cálculo gráfico
· Contactar
· Contapz
· Descuentos
· Encuestas
· Enlaces
· Fotos
· Libro de VISITAS
· MapaSitio
· Noticias arhivadas
· Politica
· Recomiéndanos a...
· Tu cuenta
· Ver ESTADÍSTICAS
· video

La Encuesta
La afición a nuestro hobby

Está bajando
Sigue igual que antaño
Esta subiendo



Resultados
Encuestas

votos: 465
Comentarios: 0

  Chispo controlado con el teléfono móvil y ESP8266, IOT
Martes, 28 mayo 2019

95 octanos Un chispo Wifi, utilizando el chip ESP8266, Internet de las cosas.

Os aviso que mis conocimientos de eléctronica no van más allá del bricolage así que de entrada espero que no seais demasiado exigentes.
De programación de Arduino nivel medio-bajo.
De internet sé un poquito más, en cualquier caso observaciones y sugerencias serán bienvenidas,




El montaje se alimenta con una célula Lipo como máximo

Harware.- Necesitais un Mosfet IRL conectado al pin Rx del ESP8266 a traves de una resistencia de 470Oh , un diodo de 1 A de proteccion para alimentar el chip y un diodo de 5A para proteger la bujía. Si quereis un piloto exterior podeis conectar un LED en el PIN 2 con una resistencia de unos 470 Oh

Os haré un esquema cuando tenga tiempo

Con un teléfono o un ordenador cualquiera os conectais a la WIfi "michispo" y usais la clave "11111111" o la que os convenga modificando en el código const char* password = "11111111";

Una vez conectados abris un navegador y buscais la url http://192,168,45,1 y voilá os aparece una página para controlar vuestro chispo en tiempo real.



Aqui teneis el código:


/*
Se usa el pin RX -3- Como salida
para poder iniciar apagado el mosfet
 */
String fuente = "glow_driver_esp_v2 jbjb ";// Nombre del programa, créditos.
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <EEPROM.h>
const char* ssid = "michispo";
const char* password = "11111111";
IPAddress local_IP(192,168,45,1);
IPAddress gateway(192,168,45,1);
IPAddress subnet(255,255,255,0);
ESP8266WebServer miservi(80); //Server on port 80
//
int bujia = 3;  //Pin Bujía
int ledPin = 2;  //On esp-01s LED
int ledPin2 = 12;  //D6 piloto externo
int ledState = LOW;
long ahora = millis();
long antes = ahora;
long lento = 500;
byte retardo=10; //Para ralentizar impresion de debug
int potencia ;//<<<<<<<<<<<<<<<<<
String s_potencia;
//===============================================================
//                  SETUP
//===============================================================
void setup(void){
  EEPROM.begin(512);  //Initialize EEPROM
  potencia = EEPROM.read(0);
  s_potencia = String(potencia);
  Serial.begin(115200,SERIAL_8N1,SERIAL_TX_ONLY);
  pinMode(bujia, OUTPUT);
  pinMode(ledPin, OUTPUT);
  pinMode(ledPin2, OUTPUT);
//
  analogWriteRange(100);
  analogWrite(bujia, potencia);
  Serial.println("");
  WiFi.mode(WIFI_AP);           //Only Access point
  WiFi.softAP(ssid, password);  //Start HOTspot removing password will disable security
  WiFi.softAPConfig(local_IP, gateway, subnet);
  IPAddress myIP = WiFi.softAPIP(); //Get IP address
  Serial.print("HotSpt IP:");
  Serial.println(myIP);
 
  miservi.on("/", manejaRaiz); //Which routine to handle at root location
  miservi.on("/subir", subir);
  miservi.on("/bajar", bajar);
  miservi.on("/salvar", salvar);

  miservi.begin();                  //Start server
  Serial.println("HTTP server started");
}
//===============================================================
//                     LOOP
//===============================================================
void loop(void){
debug();
miservi.handleClient();          //Handle client requests
analogWrite(bujia, potencia);
ahora = millis();
     //
  if (ahora - antes > lento) {
 retardo += 1;
       if (ledState == LOW)
        ledState = HIGH;
        else
        ledState = LOW;
        antes = millis();
        digitalWrite(ledPin, ledState);
        digitalWrite(ledPin2, ledState);
  }    
}
//==============================================================
//     RUTINAS
//==============================================================
void manejaRaiz() {
String contenido = body_html();
 miservi.send(200, "text/html", contenido); //Send web page
}
//
String head(){
String contenido = "";
contenido = "<head><title>"+fuente+"</title> ";
contenido += "<style type="text/css"> ";
contenido +=".boton{font-size:50px; ";
contenido +="font-family:Verdana,Helvetica;font-weight:bold; ";
contenido +="color:white;background:#0050ff;border:10px;width:350px; ";
contenido +="height:100px;} ";
contenido +=".botonRojo{font-size:50px; ";
contenido +="font-family:Verdana,Helvetica;font-weight:bold; ";
contenido +="color:white;background:#aa0000;border:10px;width:350px; ";
contenido +="height:100px;} ";
contenido +=".botonVerde{font-size:50px; ";
contenido +="font-family:Verdana,Helvetica;font-weight:bold; ";
contenido +="color:white;background:#1caf2f;border:10px;width:350px; ";
contenido +="height:100px;} ";
contenido +=".letras{font-family:Verdana,Helvetica;font-size:50px;color:#638cb5;font-weight:bold;}";
contenido +="</style></head> ";
return contenido;  
}
//
String body_html(){
String contenido = head();
contenido +="<body> <div class="letras">Control de chispo</div> <div align="center"> ";
contenido +="<br> <br> ";
contenido +="<form name="form1" action="/subir"  method="get"> ";
contenido +="<input type="submit" value="SUBIR" class="botonRojo"></form> ";
contenido +="<br> ";
contenido +="<form name="" action="/"  method="get"> ";
contenido +="<input type="submit" value= "+ s_potencia +" class="boton"></form> ";
contenido +="<br> ";
contenido +="<form name="form2" action="/bajar"  method="get"> ";
contenido +="<input type="submit" value="BAJAR" class="botonVerde"></form> ";
contenido +="<br> ";
contenido +="<br> ";
contenido +="<br> ";
contenido +="<form name="form3" action="/salvar"  method="get"> ";
contenido +="<input type="submit" value="GUARDAR" class="boton"></form> ";
contenido +="<br></div></body>";
Serial.println(contenido);
return contenido;
}
void subir(){
potencia += 2;
if (potencia > 100)potencia = 100;
s_potencia = String(potencia);
String contenido = body_html();
 miservi.send(200, "text/html", contenido); //Send web page
}
void bajar(){
potencia -= 2;
if (potencia < 0 ) potencia = 0;
s_potencia = String(potencia);
String contenido = body_html();
miservi.send(200, "text/html", contenido); //Send web page
}

void salvar(){
byte potsave = potencia;
EEPROM.write(0, potsave);
EEPROM.commit();
s_potencia = String(potencia)+"-guardado";
String contenido = body_html();
miservi.send(200, "text/html", contenido); //Send web page
}

void debug(){
if (retardo > 19){
  retardo = 0;
  Serial.println("");
  Serial.println(fuente);
  Serial.print("Potencia: ");
  Serial.println(potencia);
  }
}
//
//

 
Login
Usuario

Contraseña

¿Todavía no tienes una cuenta? Puedes crearte una.

Revisamos todas las peticiones, por lo que la confirmación puede tardar un poco en recibirse .

Enlaces Relacionados
· Más Acerca de 95 octanos
· Noticias de picadmin


Noticia más leída sobre 95 octanos:
Motores de la China. (Con Video)


Votos del Artículo
Puntuación Promedio: 0
votos: 0

Por favor tómate un segundo y vota por este artículo:

Excelente
Muy Bueno
Bueno
Regular
Malo


Opciones

 Versión Imprimible Versión Imprimible


Los comentarios son propiedad de quien los envió. No somos responsables por su contenido.

No se permiten comentarios Anónimos, Regístrese por favor
 

Mapa del sitio © RadioControl.es
PHP-Nuke Copyright © 2004 by Francisco Burzi, under the GPL