Show Posts
Pages: [1] 2
1  International / Software / Re: error al cargar CromalightV1 on: September 29, 2013, 01:06:29 am
gracias
2  International / Software / Re: dudas sobre el uso del foro on: September 29, 2013, 01:05:26 am
gracias
3  International / Software / error al cargar CromalightV1 on: September 28, 2013, 11:09:23 am
me da el error ¨La clase Server a sido renombrada como EthernetServer¨ sombreando¨ Server server (80);¨




 
Code:
#include <SPI.h>
#include <Ethernet.h>
#include <TextFinder.h>

//--------------------MODIFICAR
byte ip[] = { 192,168,1,177 }; // CAMBIAR POR LA IP ASIGNADA (DEBE SER IGUAL QUE EN CONF. IPHONE)
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
#define STRIP_LENGTH 32 //32 LEDs en 1mt (cantidad de leds en la tira leds rgb)
 
//-----------------------------



Server server(80);

int SDI = 2; //Red wire (not the red 5V wire!)
int CKI = 3; //Green wire
int ledPin = 13; //On board LED
int estado =0;

int rojo; //Colorama Light RED
int verde;//Colorama Light GREEN
int azul; //Colorama Light BLUE
int ColoramaPreset;// Colorama Ambient Preset 0=OFF,  1=Cromaterapia, 2=Love, 3=Relax, 4=Party , 5 =ColorPicker
long strip_colors[STRIP_LENGTH];

void setup()
{
   pinMode(SDI, OUTPUT);
   pinMode(CKI, OUTPUT);
   pinMode(ledPin, OUTPUT);

  Serial.begin(9600);
  Ethernet.begin(mac, ip);
  server.begin();
  Serial.println("ready");
}

void loop()
{
4  International / Software / dudas sobre el uso del foro on: September 28, 2013, 10:24:15 am
como puedo insertar códigos se puede hacer desde la consola ? he probado copiar y pegar pero  algunos son muy grandes y da error,  y para fotos y otros archivos , muchas gracias y perdonar mi torpeza
5  International / Software / Re: problema al escribir ¨sketch¨ on: September 28, 2013, 05:06:38 am
me ha podido bloquear la propia aplicación????? estoy bloqueado del todo smiley-sad smiley-sad smiley-sad smiley-sad smiley-sad smiley-sad
6  International / Software / Re: problema al escribir ¨sketch¨ on: September 28, 2013, 04:49:12 am
si seguro que es eso pero no recuerdo haber cambiado ningún parámetro , sabes donde lo puedo modificar ?
7  International / Software / problema al escribir ¨sketch¨ SOLUCIONADO on: September 28, 2013, 04:41:14 am
intento modificar la ip para conectar  mi tarjeta arduino a wifi pero no me permite escribir sobre la que  figura en el código ni escribir nada nuevo el teclado hace el típico sonido de error , el fondo de la pantalla esta oscurecido ,alguien sabe que puede ser , muchas gracias .-
 SIMPLEMENTE EN PREFERENCIAS TENIA EL EDITOR EXTERNO ACTIVADO , soy un paquete jajajajaj
8  International / Español / NetIO ???? on: September 23, 2013, 03:29:28 pm
Algo en español de NetIO  muuuuchas gracias¡¡¡¡
9  International / Software / Re: Avanzando despacio con "Ethernet Shield" on: November 10, 2012, 03:59:34 pm
Agradecido.

10  International / Software / processing , via internet??? on: November 10, 2012, 05:35:15 am
Perdonar unas preguntas , se podria ejecutar processing para controlar una placa arduino por internet de ser asi  seria mejor una wed de control con HTML o processing, en el caso  de usar processing la placa actuaria como servidor o como cliente ? , gracias.-
11  International / Software / Avanzando despacio con "Ethernet Shield" on: November 07, 2012, 06:18:44 am
Hola , como va yo estoy digamos reiniciandome en el proyecto , he intentado echar a correr antes de andar pero creo que tengo antes que adquirir mas conocimiento e ir paso a paso , estoy usando un router moden 3g
de la marca Tp-Link concretamente TL-MR3020 , cargandole a la placa Arduino UNO con Ethernet Shield  el codigo "WebServer" , redireccionando el puerto 80 a la IP de la placa , y conectando con otra red a traves del navegador usando la IP de la tarjeta 3g  62.83.59.156:80 por ejemplo , todo bien la pagina me muestra el estado de los pines, y noto esa satisfacción que todos conocemos  smiley-wink y que justifica con creces el tiempo empleado

analog input 0 is 262
analog input 1 is 214
analog input 2 is 199
analog input 3 is 202
analog input 4 is 183
analog input 5 is 291

Solo que al no tener una ip fija de vez en cuando me la cambia, pero bueno eso de momento no me preocupa ya estudiaria posibles soluciones , lo que necesitaria es avanzar un poco , entiendo que con este mismo codigo como base ya que se que funciona,  podria hacer que la web me diese la posibilidad de cambiar el estado de las salidas digitales (usando porgramacion HTML) , algún enlace que me sirva para continuar , intente algo con la libreria "Teleduino328" pero no me conectaba con el servidor y creo que es correr antes de andar ,  gracias de antemano.  
12  International / Software / Re: error "teleduino was not declared in this scope"???? (SOLUCIONADO) on: November 06, 2012, 09:52:59 am
Eres un crack tio muchas gracias y disculpa mi torpeza smiley-confuse
13  International / Software / error "teleduino was not declared in this scope"???? (SOLUCIONADO) on: November 05, 2012, 12:03:42 pm
me da este error al cargar este codigo , tiene solucion o no puedo usarlo, gracias


  TeleduinoEthernetClientProxy.ino - TeleduinoEthernetClientProxy example
  Version 328-0.6.7
  Nathan Kennedy 2012
  http://www.teleduino.org

  This sketch is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*/

#include <EEPROM.h>
#include <Servo.h>
#include <Wire.h>
#include <Teleduino328.h>

#include <SPI.h>
#include <Ethernet.h>

// User configurable variables
byte useDhcp = true;
byte useDns = true;
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress deviceIp(192, 168, 1, 100); // Only if useDhcp is false
IPAddress gatewayIp(192, 168, 1, 1); // Only if useDhcp is false
IPAddress dnsIp(192, 168, 1, 1); // Only if useDhcp is false
IPAddress subnet(255, 255, 255, 0); // Only if useDhcp is false
IPAddress serverIp(173, 230, 152, 173); // Only if useDns is false
char serverName[] = "us01.proxy.teleduino.org"; // Only if useDns is true
unsigned int serverPort = 5353; // Can be set to either 53 or 5353
byte statusLedPin = 8;

// User configurable key, this is used to authenticate with the proxy server
// This is checked against the EEPROM on boot and written if necessary
// The proxy server retreives the key from the EEPROM
byte key[] = {  };

// Other required variables
byte data[257];
byte dataLength;
byte hexStage;
unsigned long lastInstruction = 0;
unsigned long lastRefresh = 0;
byte stage = 0;

// Declare client object
EthernetClient Client;

void setup()
{
  // Load presets
  Teleduino.loadPresets();
  
  // Set status LED pin
  Teleduino.setStatusLedPin(statusLedPin);

  Teleduino.setStatusLed(1); // Initialisation
  // Check the EEPROM header and check to see if the key is correct
  // This is to ensure the key is not cleared from the EEPROM
  if(EEPROM.read(0) != '#')
  {
    EEPROM.write(0, '#');
  }
  if(EEPROM.read(1) != 0)
  {
    EEPROM.write(1, 0);
  }
  if(EEPROM.read(2) != '#')
  {
    EEPROM.write(2, '#');
  }
  if(EEPROM.read(160) != '#')
  {
    EEPROM.write(160, '#');
  }
  for(byte i = 0; i < 16; i++)
  {
    if(EEPROM.read(161 + i) != key)
    {
      EEPROM.write(161 + i, key);
    }
  }
  if(EEPROM.read(177) != '#')
  {
    EEPROM.write(177, '#');
  }

  // Start network and attempt to connect to proxy server
  Teleduino.setStatusLed(2); // Network configuration
  if(useDhcp)
  {
    if(!Ethernet.begin(mac))
    {
      Teleduino.setStatusLed(2, false, 10000);
      Teleduino.reset();
    }
  }
  else
  {
    Ethernet.begin(mac, deviceIp, dnsIp, gatewayIp, subnet);
  }
  delay(1000);

  Teleduino.setStatusLed(3); // Connect to server
  if((useDns && !Client.connect(serverName, serverPort)) || (!useDns && !Client.connect(serverIp, serverPort)))
  {
    Teleduino.setStatusLed(3, false, 10000);
    Teleduino.reset();
  }
  lastInstruction = millis();
}

void loop()
{
  if(Client.connected())
  {
    // What we need to do depends on which 'stage' we are at
    switch(stage)
    {
      case 0: // Wait for start byte
        if(Client.available())
        {
          char c = Client.read();
          if(c == '?')
          {
            stage++;
          }
        }
        break;
      case 1: // Reset variables
        dataLength = 0;
        hexStage = 0;
        stage++;
        break;
      case 2: // Instruction byte
        if(Client.available())
        {
          char c = Client.read();
          if(c == '?')
          {
            stage = 1;
            break;
          }
          else if(c == '\r' || c == '\n' || c == '.')
          {
            stage = 0;
            break;
          }
          if(!hexStage)
          {
            data[0] = Teleduino.hexDecode(c) * 16;
          }
          else
          {
            data[0] += Teleduino.hexDecode(c);
          }
          hexStage = !hexStage;
          if(!hexStage)
          {
            stage++;
          }
        }
        break;
      case 3: // Data length byte
        if(Client.available())
        {
          char c = Client.read();
          if(c == '?')
          {
            stage = 1;
            break;
          }
          else if(c == '\r' || c == '\n' || c == '.')
          {
            stage = 0;
            break;
          }
          if(!hexStage)
          {
            data[1] = Teleduino.hexDecode(c) * 16;
          }
          else
          {
            data[1] += Teleduino.hexDecode(c);
          }
          hexStage = !hexStage;
          if(!hexStage)
          {
            stage++;
          }
        }
        break;
      case 4: // Data
        if(Client.available())
        {
          char c = Client.read();
          if(c == '?')
          {
            stage = 1;
            break;
          }
          else if(c == '\r' || c == '\n' || c == '.')
          {
            if(dataLength == data[1])
            {
              stage++;
              break;
            }
            else
            {
              stage = 0;
              break;
            }
          }
          if(!hexStage)
          {
            data[2 + dataLength] = Teleduino.hexDecode(c) * 16;
          }
          else
          {
            data[2 + dataLength] += Teleduino.hexDecode(c);
          }
          hexStage = !hexStage;
          if(!hexStage)
          {
            dataLength++;
          }
        }
        break;
      case 5: // Execute instruction and return result
        Teleduino.instruction(data);
        Client.write('!');
        for(int i = 0; i < data[1] + 2; i++)
        {
          Client.write(Teleduino.hexEncode(data / 16));
          Client.write(Teleduino.hexEncode(data % 16));
        }
        Client.write('\n');
        lastInstruction = millis();
        stage = 0;
        break;
    }
  }
  else
  {
    Teleduino.setStatusLed(10);
    Teleduino.reset();
  }

  // Has the instruction timeout been reached?
  if(millis() - lastInstruction > 30000)
  {
    Client.flush();
    Client.stop();
    Teleduino.setStatusLed(9);
    Teleduino.reset();
  }

  // Process refreshes every 50ms
  if(millis() - lastRefresh >= 50)
  {
    Teleduino.pinTimers();
    Teleduino.shiftRegisterTimers();
    Teleduino.shiftRegisters();
    lastRefresh = millis();
  }

  // Check to see if reset has been requested
  Teleduino.checkReset();
}ar el codigo , tiene solucion? o no puedo usar este codigo
14  International / Documentación / Re: probando ethernet on: November 05, 2012, 08:32:30 am


   He intentado usar este código pero da muchos errores y no lo he llegado a cargar




// unicarlos.dyndns.org:88  (ip de mi router que se actualiza automaticamente
// y funciona con la configuracion del router de abrir puerto e ip
// y se puedan encender y apagar leds (Pines digitales del 2 al 9).
// Pines 10,11,12 y 13 los usa para comunicarse con la ethernet

#include <SPI.h>
#include <WString.h>
#include <Ethernet.h>

byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFF, 0xEE}; // direccion MAC de tu Ethernet
byte ip[] = {192, 168, 10, 15};  // ip que le pones dentro de tu red como fija y configurada en tu router
Server server(88);  //  88 puerto por el accedemos al servidor. Normalmente seria la 80

int dig[] =  {2,3,4,5,6,7,8,9}; // pines digitales a usar. No uso 0 y 1 que son de transmisin serie
                                // Tampoco uso el 10,11,12 y 13 ya que los uso para la ethernet
int digTotal = 8;  // Numero de pines a usar
int vdig[] = {0,0,0,0,0,0,0,0}; // valores iniciales (Tantos como pines usemos)
int pin;
int nivel;
String cad = String(100);

void setup()
{
  Ethernet.begin(mac, ip); // inicio la Ethernet
  server.begin();          // inicio el servidor
  Serial.begin(9600);      // inicio el serial monitor
  for (int i=0; i < digTotal; i++)
  {
    pinMode(dig, OUTPUT);   // inicializo los pines digitales como salida
    digitalWrite(dig,vdig);  // los pongo a nivel bajo LOW=0
  }
}

void loop()
{
  cad = ""; // inicializo la cad donde almaceno los datos recibidos
  Client cliente = server.available();
  if (cliente)
  {
    while(cliente.connected())
    {
      if(cliente.available())
      {
        char c = cliente.read();
        cad = cad + c;
        Serial.print(c);

        if(c == '\n')
        {
          if (cad.lastIndexOf("dig") > -1) // si la variable cad contiene 'dig' hacer ...
          {
            pin = pinElegido(cad);
            int posicionPin;
            for (int i=0; i <digTotal; i++)
            {
              if (dig == pin)
              {
                posicionPin = i;
                break;
              }
            }
            nivel = nivelElegido(cad);
            vdig[posicionPin] = nivel;
 
            Serial.print(pin);  // comprobamos que el pin elegido es el correcto
            Serial.println(" pin.   --  ");
            Serial.print(nivel); // comprobamos su nivel 0=LOW y 1=HIGH
            Serial.println(" nivel ");
           
            digitalWrite(pin, nivel);  // activamos o desactivamos el pin elegido
           
          }  // ... hasta aqui 'dig'
         
          if (cad.lastIndexOf("apaga") > -1)  // si la variable cad contiene 'apaga' ejecuta
          {                                    // la funcion apagaTodos()
            apagaTodos();
          }
         
          if (cad.lastIndexOf("encender") > -1) // si cad contiene 'encender' ejecuta
          {                                     // la funcion enciendeTodos()
            enciendeTodos();
          }
          // Comienza la transmision de datos desde el servidor al cliente
          cliente.println("HTTP/1.1 200 OK");
          cliente.println("Content-Type: text/html");
          cliente.println();

          for (int i=0; i < digTotal; i++)
          {
              cliente.print("Digital ");
              cliente.print(dig);
              cliente.print(" ");
   
              if (vdig==1)
              {
                cliente.println("<font color='green'>ON</font>");
                cliente.print("<form method=get><input type=hidden name=dig");
                cliente.print(dig);
                cliente.print(" value=0><input type=submit value=OFF></form>");
              }
              if (vdig==0)
              {
                cliente.println("<font color='grey'>OFF</font>");
               // cliente.println("<td>");
                cliente.print("<form method=get>");
                cliente.print("<input type=hidden name=dig");
                cliente.print(dig);
                cliente.print(" value=1>");
                cliente.print("<input type=submit value=ON>");
                cliente.print("</form>");           
              }
          }         
          cliente.print("<form method=get><input type=hidden name=apaga");
          cliente.println(" value=1><input type=submit value=APAGA_TODOS></form>");
               
          cliente.println("<form method=get><input type=hidden name=encender");
          cliente.println(" value=1><input type=submit value=ENCENDER_TODOS></form>");
                 
          cliente.stop();
        }
      }
    }
  }
}



//////////////  FUNCIONES /////////////////7
// Funcion: Extrae el pin del array cad (contiene la lectura de lo que el cliente devuelve)
int pinElegido(String cad)
{

    int pos_dig = cad.lastIndexOf("dig");
    int pos_igual = cad.lastIndexOf("=");
    String vpin1 = cad.charAt(pos_dig+3);
    String vpin2 = cad.charAt(pos_dig+4);
    if (vpin2 != '=')
    {
      vpin1 += vpin2;
    }
   
    int pinElegido = vpin1.toInt();
    return pinElegido;
}
// Funcion: Extrae en nivel de la cadena cad
int nivelElegido(String cad)
{
  int pos_igual =  cad.lastIndexOf("=");
  String v = cad.charAt(pos_igual+1);
  if (v == 0) return 0;
  if (v == 1) return 1;
}
// Funcion para apagar todos los leds al tiempo
void apagaTodos()
{
  for (int i=0; i < digTotal; i ++)
  {
    vdig = 0;
    digitalWrite(dig, vdig);
  }
}
// Funcion para encender todos los leds al tiempo
void enciendeTodos()
{
  for (int i=0; i < digTotal; i ++)
  {
    vdig = 1;
    digitalWrite(dig, vdig);
  }
}
15  International / Documentación / Re: probando ethernet on: November 05, 2012, 07:51:30 am
Bueno lo de android , ya sabes esta en el AppStore de Google y luego te mandan el código por correo , pero no necesito que sea de android me serviría controlar los led desde una web con HTML , pero estoy atascado , le cargo el código de webserver y me muestra el estado de los pines , todo Okl , pero como sería el código si quisiese encender un led gracias y perdona mi ignorancia
Pages: [1] 2