Show Posts
Pages: 1 ... 40 41 [42] 43 44 ... 49
616  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.
617  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!

618  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...


619  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
620  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/


621  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);

622  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.


623  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");
 
624  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()
625  International / Español / Re: Problemas con char y cadena de caracteres demasiado larga on: June 16, 2011, 02:04:55 pm
Hola,
en la primera declaración de song creas un puntero a una cadena de 693+1 caracteres (bytes). Para copiar otro valor en esa cadena puedes usar
Code:
strcpy(song, "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");
teniendo cuidado de que lo que copias no sea mayor que la primera cadena.
Si sabes cuál es la longitud de la cadena más larga, puedes definir una variable global como
Code:
char song[700]; // suponiendo que esta sea la longitud máxima
y luego copias lo que te interese en ella con strcpy()

626  International / Español / Re: Propuesta de tienda....a ver que os parece la idea on: June 16, 2011, 05:32:48 am
Hola, shaktale
En principio me parece  buena la idea; pero, perdóname que te lo diga, cuando uno me dice que me quiere vender algo, pero sin ganar nada a cambio ("sin hacer negocio") ... Pues se me pone una mosca detrás de la oreja. Pienso que si uno pone una tienda (online o en otro sitio), es para hacer negocio, compitiendo con las otras tiendas. Eso no tiene nada de malo, creo yo. Cuando vea escrito lo que llaman "condiciones de uso" o  "customer service" (las condiciones por las que se rigen los portes, garantías, formas de pago, etc), si el precio me parece atractivo, yo también compraré.
627  International / Español / Re: POR FAVOR, CUIDEN LA ORTOGRAFÍA on: June 08, 2011, 11:31:41 pm
Quote
Vale Curro yo estoy de acuerdo en escribir bien, era una ironía. Yo solo uso los acentos cuando escribo algo formal formal, y cuando escribo un post no es nada "oficial". Si quieres que todo el mundo escriba perfecto, programa un corrector ortográfico y obliga a todo el mundo que lo use.
No pretendo obligar a nadie a escribir perfecto, solo he dado mi opinión. Pero ya que mencionas el corrector ortográfico, quiero recordar que ya están inventados los correctores para usar en navegadores. Concretamente para Firefox (yo lo utilizo porque existe tanto para Windows como para Linux) existen correctores que se pueden  instalar en "Complementos", y subrayan en rojo las palabras que no reconocen cuando se escribe en una ventana de texto (tiene que ser una ventana multilínea, como esta en la que escribimos los post).
Ahí va una captura de la ventana que estoy usando, a la que he añadido algunas citas de SrDonGato.
Para acabar: en la ventana que usamos en este foro existe una opción llamada "Modify": cuando uno vuelve a leer lo que ha escrito, y se da cuenta de que se le escapó algún gazapo, puede corregir lo que escribió. Incluso puede usar "Remove", si descubre que lo que escribió no merece conservarse...
628  International / Español / Re: POR FAVOR, CUIDEN LA ORTOGRAFÍA on: June 08, 2011, 01:01:01 pm
Hola,
español o castellano, da lo mismo, las dos palabras se refieren al mismo idioma que hablamos en este foro, según la RAE. Y estoy de acuerdo, pienso que es importante cuidar la ortografía, en un foro como este no es apropiado, en mi opinión,  escribir en estilo sms.

629  International / Español / Re: Presentación y consulta. on: June 08, 2011, 12:52:46 pm
Hola,
yo creo que lo mejor es empezar con los ejemplos más sencillos, como lo hemos hecho otros. Los típicos "Blink", "Button" etc, los tienes en el Tutorial

http://arduino.cc/es/Tutorial/HomePage
630  International / Español / Re: Pasar de int a string on: June 06, 2011, 10:43:47 pm
Hola,
Si lo que quieres sustituir son un número reducido de posibilidades, se puede usar switch()

Code:
char texto[10]; // suponiendo que la cadena no sea mayor que 9 char

char *convertir(int n)
{
    switch(n)
{
case 0:
strcpy(texto, "apagado");
break;
case 1:
strcpy(texto, "encendido");
break;
case 2:
strcpy(texto, "otra cosa");
default:
break;

}
return &texto[0];
}

Pages: 1 ... 40 41 [42] 43 44 ... 49