Autor Tema: medir entrada analogica por red  (Leído 1658 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado wolfman77

  • PIC12
  • **
  • Mensajes: 82
    • Dos en la ruta
medir entrada analogica por red
« en: 13 de Octubre de 2018, 15:30:53 »
Hola a todos, bueno, reapareci despues de mucho tiempo perdido por ahi, retome la electronica y me puse con un proyecto bien simple, quiero poder transmitir el valor de una entrada analogica a traves de la red mediante un codigo html.
Estoy utilizando el Arduino Uno y el modulo de red es un ethernet basado en el 28J60.
no tengo problemas con la coneccion, ya que puede visualizar bien el entorno en html, el problema es en la lectura de la entrada analogica, no puedo lograr que me entregue el valor correcto, este o no la señal en el puerto, lo unico que hace es incrementar el valor de 1 en 1, cosa que hace por el delay de la linea millis() / 1000,
Este es el codigo que utilizo:

Código: [Seleccionar]
#include <EtherCard.h>

static byte mymac[] = { 0xDD, 0xDD, 0xDD, 0x00, 0x01, 0x05 };
static byte myip[] = { 192, 168, 1, 10 };
byte Ethernet::buffer[700];

void setup() {
   Serial.begin(9600);
pinMode (A0, INPUT);
pinMode (A1, INPUT);
   
   if (!ether.begin(sizeof Ethernet::buffer, mymac, 10))
      Serial.println("No se ha podido acceder a la controlador Ethernet");
   else
      Serial.println("Controlador Ethernet inicializado");
   if (!ether.staticSetup(myip))
      Serial.println("No se pudo establecer la dirección IP");
   Serial.println();
}

static word mainPage()
{
   BufferFiller bfill = ether.tcpOffset();
   bfill.emit_p(PSTR(
      "<html>"
      "<body>"
      "<div style='text-align:center;'>"
      "<h3>Valores entradas A0 y A1</h3>"
      "<br>Valor A1: $D <br/>"
       "<br>Valor A2: $D <br/>"
      "</body></html>"),
      millis() / 1000,
      analogRead(A0),
analogRead(A1));

   return bfill.position();
}

void loop()
{
   // wait for an incoming TCP packet, but ignore its contents
   if (ether.packetLoop(ether.packetReceive()))
   {
      ether.httpServerReply(mainPage());
   }
}


Alguien puede guiarme mas o menos por que pasa eso?  :shock:

Gracias!


Modificacion: Ya esta solucionado, solo tuve que eliminar la linea
millis() / 1000,
y funciona sin problemas, espero que de todos modos a alguien le sirva el codigo  :D
« Última modificación: 13 de Octubre de 2018, 15:42:11 por wolfman77 »
Volviendo al mundo de los PIC....


 

anything