Show Posts
Pages: 1 ... 40 41 [42] 43 44 ... 49
616  International / Español / Re: ayuda on: July 15, 2011, 12:23:24 am
Hola,
nunca he intentado comunicar directamente Arduino y PHP por puerto serie. Pero sí he establecido dicha comunicación a través de un ejecutable en lenguaje C.
La mecánica es simple: desde PHP se llama al ejecutable con la función exec() (en este ejemplo se le pasan dos parámetros del formulario PHP)

$params = "serie.exe" . " " . $_POST['input1'] . " " . $_POST['input2'] ;
exec ($params, $salida);

El ejecutable establece comunicación con Arduino. Los mensaje que envía el ejecutable por la salida estándar se muestran en PHP

foreach ($salida as $linea)
   echo $linea ;
 Tienes aquí otro ejemplo usando C++
http://webhole.net/2010/05/07/arduino-and-php-serial-port-communication-example/


617  International / Español / Re: Leer datos del ordenador on: July 13, 2011, 11:05:01 pm
Hola,
a atoi() hay que pasarle una cadena de caracteres, no un carácter. Primero tendrías que completar toda la cadena de dígitos recibida por el puerto serie.
618  International / Español / Re: Leer datos del ordenador on: July 13, 2011, 08:18:43 am
Hola,
también puedes usar la función atoi() que significa 'alphanumeric to integer'
Code:
int numero;
char cadena[10] ;

strcpy(cadena, "123"); // esto sustituye a lo que se recibe por puerto serie

numero = atoi(cadena);

619  International / Español / Re: Es posible flashear la arduino de modo permanente? on: July 05, 2011, 10:07:12 pm
Hola,
creo que el problema está más en el PC que en el Arduino. Si se apaga el Arduino, al encender de nuevo empieza a ejecutar el último sketch que se le cargó. En ese sentido, el programa lo tiene cargado permanentemente. ¿Qué ocurre cuando se le va la corriente a un PC?
A los PCs actuales se les puede configurar el setup de la BIOS para que al volver la corriente se enciendan automáticamente. Tendrías que programar las tareas de inicio para que se carguen los programas que interesen. Respecto al puerto serie que usa el Arduino, se puede detectar fácilmente por software.


620  International / Español / Re: Comunicación serie Arduino-PC en lenguaje C [info] on: July 02, 2011, 01:17:04 pm
Hola, Igor
Miraré lo del Virtualcamp, gracias por la información.
621  International / Español / Re: Comunicación serie Arduino-PC en lenguaje C [info] on: July 02, 2011, 01:14:08 pm
Hola,
ahí va la tercera parte, sobre comunicación Arduino  y ordenador Linux (Ubuntu) usando una aplicación escrita en C
Incluyo la guía pdf, la página html, la fuente C y una captura de pantalla con la respuesta de Arduino.
622  International / Español / Re: Comunicación serie Arduino-PC en lenguaje C [info] on: July 01, 2011, 12:00:36 am
Hola,
ahí va la segunda entrega, donde describo cómo se puede comunicar con Arduino desde un formulario HTML, con la aplicación C del ejemplo anterior, ligeramente modificada para que funcione en un servidor web. Vale para win32, lo he probado en xp. Otro día le llegará el turno a Ubuntu, espero. Incluye una pequeña guía sobre el funcuinamiento de las aplicaciones cgi.  A mí me costó bastante entenderlo, espero que a alguien le sirva.
623  International / Español / Comunicación serie Arduino-PC en lenguaje C [info] on: June 29, 2011, 01:14:51 am
Hola,
ahí una primera guía en pdf sobre comunicación serie Arduino-PC tanto para xp como para ubuntu.
Adjuntas van las tres fuentes (Arduino, win32 C y Linux C)
Trataré de ayudar con las dudas o problemas que surjan.
Queda pendiente la ampliación de la guía para usar la comunicación en un  entorno web con PHP y formulario HTML
¡Ánimo!

624  International / Español / Re: Controlar puerto serie con C on: June 28, 2011, 12:02:45 am
Hola,
más preguntas: lo que se publica en la wiki de Arduino en PlayGround
http://arduino.cc/playground/Main/InterfacingWithSoftware
¿tiene que ser necesariamente en inglés?
Para colgar el pdf en este foro, qué es lo mejor, iniciar un tópico nuevo, o añadirlo en uno abierto como este?
Perdón por ser tan pesado...


625  International / Español / Re: Controlar puerto serie con C on: June 24, 2011, 10:52:24 pm
Hola,
tengo unos ejemplos de comunicación con Arduino por puerto serie usando lenguaje C:
- código en Arduino
- código en Ubuntu
 -código en win32

Podría hacer una pequeña guía sobre el tema, pero tengo unas dudas: ¿Existe algún formato para estas guías? ¡Dónde y cómo se coloca una guía sobre temas de Arduino para que la gente la vea?

Gracias
626  International / Español / Re: Controlar puerto serie con C on: June 24, 2011, 01:35:51 pm
Hola,
tendrías que decir qué sistema operativo usas. El código cambia totalmente de linux (ubuntu) a  win32 (xp)
Tienes ejemplos en la web. Por ejemplo para xp
http://123a321.wordpress.com/2010/02/01/serial-port-with-mingw/


627  International / Español / Re: Porque no funciona este codigo on: June 20, 2011, 01:26:28 pm
Hola,
no sé si esto tendrá importancia en tu caso, pero cuando se hace malloc() para una cadena char, hay que poner un carácter de más, para el '\0' final de cadena:

int stringLength = strlen("The Simpsons:d=4,o=5,b=160:c.6,e6,f#6,8a6,g.6,e6,c6,8a,8f#,8f#,8f#,2g,8p,8p,8f#,8f#,8f#,8g,a#.,8c6,8c6,8c6,c6");
      p = (char*)malloc(stringLength * sizeof(char) + 1);

628  International / Español / Re: Alguien me puede ayudar con una duda tonta? on: June 18, 2011, 12:40:03 pm
Antes de tener un conversor usb-serie como este  http://www.sparkfun.com/products/718 yo he solido hacer lo que comentas: programar el atmega328 en el Arduino y luego extraer el chip con un destornillador plano e introducirlo en un zócalo de un "arduino mínimo" (atmega328, cristal 16MHz con dos condensadores). El sistema tiene su lado peligroso, puedes estropear/torcer/romper algún pin si no andas con cuidado. Pero funciona sin problemas.


629  International / Español / Re: Porque no funciona este codigo on: June 18, 2011, 12:22:11 pm
Hola,
cada vez que se ejecuta loop() estás creando una cadena (memoria ocupada) que luego no se libera. Crea una variable global a
Code:
char song[333]; // o la longitud que haga falta para la cadena más larga

Y luego utiliza esa variable para copiar las melodías
Code:
if(u=='1'){
strcpy(song, "Entertainer:d=4,o=5,b=140:8d,8d#,8e,c6,8e,c6,8e,2c.6,8c6,8d6,8d#6,8e6,8c6,8d6,e6,8b,d6,2c6,p,8d,8d#,8e,c6,8e,c6,8e,2c.6,8p,8a,8g,8f#,8a,8c6,e6,8d6,8c6,8a,2d6";
      play_rtttl(song);
      }
    if(u=='2'){
     strcpy(song, "Looney:d=4,o=5,b=140:32p,c6,8f6,8e6,8d6,8c6,a.,8c6,8f6,8e6,8d6,8d#6,e.6,8e6,8e6,8c6,8d6,8c6,8e6,8c6,8d6,8a,8c6,8g,8a#,8a,8f";
      play_rtttl(jk);
      }
etc.

También podrías definir un puntero global char *psong, y usar malloc() cada vez que vayas a copiar una cadena; y liberar luego con free()

De todas formas, no sé para qué usas esa variable, podrías hacer directamente

play_rtttl("Entertainer:d=4,o=5,b=140:8d,8d#,8e,c6,8e,c6,8e,2c.6,8c6,8d6,8d#6,8e6,8c6,8d6,e6,8b,d6,2c6,p,8d,8d#,8e,c6,8e,c6,8e,2c.6,8p,8a,8g,8f#,8a,8c6,e6,8d6,8c6,8a,2d6");
 
630  International / Español / Re: Porque no funciona este codigo on: June 18, 2011, 12:37:53 am
Hola,
creo que el parseo de la cadena que contiene la melodía está bien.
Yo en tu lugar probaría primero con una sola melodía, cortita, sin seleccionar nada con  if() o switch()
Pages: 1 ... 40 41 [42] 43 44 ... 49