Show Posts
Pages: 1 ... 33 34 [35] 36 37 ... 49
511  International / Español / Cambiar el valor a SS_PIN para un módulo SD [solucionado] on: October 30, 2011, 01:22:51 am
Hola,
Para conectar dos dispositivos por SPI, al segundo (un módulo SD) le quiero cambiar el SS
Por defecto viene definido en dos ficheros de cabecera:

En libraries/SD/utility/Sd2PinMap.h se define
Code:
uint8_t const SS_PIN = 10;

Y en libraries/SD/utility/Sd2Card.h se asigna a otra variable
Code:
uint8_t const  SD_CHIP_SELECT_PIN = SS_PIN;

Si en el setup intento cambiar haciendo
Code:
SD_CHIP_SELECT_PIN = 9;
me da error: no se puede cambiar el valor porque es read-only variable

Mi duda es la siguiente, ¿cuál es método adecuado para cambiar ese parámetro?

-  machacarlo con un define en mi sketch
Code:
#define SD_CHIP_SELECT_PIN 9

- modificar la cabecera quitando el const
Code:
uint8_t  SD_CHIP_SELECT_PIN = SS_PIN;

Agradezco vuestra ayuda.

512  International / Español / Re: Ayuda para manejar fecha y hora on: October 29, 2011, 12:58:27 pm
Hola,
un RTC como el DS1307 se comunica con Arduino por I2C, y utiliza dos entradas (SDA en analog4 y SCL en analog5). De todas formas creo que se pueden conectar varios dispositivos I2C a un mismo Arduino.
513  International / Español / Re: envios de txt message variable on: October 27, 2011, 07:43:32 am
hola,
para separar el número y el texto del mensaje, puedes usar el primer espacio en blanco como punto de referencia,
Code:
char mensaje[] = "1234567890 Texto del mensaje";
char *puntero;
char texto[33]; // calcula la longitud máxima que pueda tener

puntero = strchr(mensaje, ' ');
if(puntero != NULL)
{
    strcpy(texto, puntero + 1); // se copia la cadena a partir del espacio en blanco
    *puntero = '\0';  // en 'mensaje' solo se deja el número
}


514  International / Español / Re: socket en c para windows on: October 26, 2011, 11:24:06 am
¿Dónde está el Arduino?
515  International / Español / Re: Tratar cadena recibida mediante RF (VirtualWire) on: October 26, 2011, 11:21:54 am
Hola,
¿Tienes una lista de las posibles frases que se puedan recibir?
char frase1[] = "primera frase";
char frase2[] = "segunda frase";

Para evitar sorpresas de cadenas inacabadas, yo primero haría:
buf[buflen] = '\0';

Y luego ir comparando:
 if(strcmp(buf, frase1) == 0)
{
   // ...
}
else if(strcmp(buf, frase2) == 0))
{
   // ...
}
516  International / Español / Re: comunicacion I2C a larga distancia on: October 24, 2011, 10:46:30 pm
Hola,

Aquí http://www.esacademy.com/en/library/technical-articles-and-documents/miscellaneous/i2c-bus/frequently-asked-questions/i2c-faq.html comentan que bajando la frecuencia se puede alargar la distancia del cable.

Quote
I2C FAQ

What is the maximum distance of the I2C bus?

This depends on the load of the bus and the speed you run at. In typical applications, the length is a few meters (9-12ft). The maximum capacitive load has been specified (see also the electrical Spec's in the I2C FAQ). Another thing to be taken into account is the amount of noise picked up by long cabling. This noise can disturb the signal transmitted over the bus so badly that it becomes unreadable.

The length can be increased significantly by running at a lower clock frequency. One particular application - clocked at about 500Hz - had a bus length of about 100m (300ft). If you are careful in routing your PCB's and use proper cabling (twisted pair and/or shielded cable), you can also gain some length.

Por lo que he entendido en otras páginas (que los expertos me corrijan) para bajar la frecuencia, en el fichero libraries/Wire/utilitiy/twi.h donde pone
Code:
 #ifndef TWI_FREQ
  #define TWI_FREQ 100000L
  #endif
prueba poniendo una más baja, por ejemplo
 
Code:
 #ifndef TWI_FREQ
  #define TWI_FREQ 1000L
  #endif

Para que surtan efecto estos cambios, hay que volver a compilar el sketch






517  International / Español / Re: Fuente de alimentación autónoma de larga duración [¡Eureka!] on: October 23, 2011, 10:39:20 pm
Gracias flico, lo miraré. El tema de la temperatura interior es bastante complejo, porque el espacio que ocupan las abejas  en torno al llamado nido de cría es una especie de esfera o huevo, y para estudiar la distribución de la temperatura interior creo que harían falta bastantes sensores.
518  International / Español / Re: Medir temperatura con sensor por I2C on: October 21, 2011, 11:53:38 pm
Hola,
Buscando información sobre un sensor de temperatura y humedad, el SHT11, encontré esto en el foro
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1229870415/0
Dice que cambiando la pulsación se puede alargar hasta 40 metros. Yo necesito alargar 1.5 metros, todavía no he conseguido que me funcione.

I found another problem of the library and the answer.

When you connect the SHT-xx to arduino via a short cable(about 10cm), the library works fine.
But if you hook up the sensor with very long cable, you will get corrupted data.
The reason is that, the default clock pulse width is too short for the long cable.

You can easily fix the problem by only modifying two lines in the library file.

at hardware/libraries/Sensirion/Sensirion.cpp file,

before:
Code:
#define PULSE_LONG delayMicroseconds(3)
#define PULSE_SHORT delayMicroseconds(1)
 
after:
Code:
#define PULSE_LONG delayMicroseconds(300)
#define PULSE_SHORT delayMicroseconds(100)

With this fix, I can get correct data with using a 40 meter cable! Probably I can use more long cables.
Though I have not found the best width of the pulse, 300 and 100 usec delay doesn't cause any problems.
519  International / Español / Re: programar attiny85 con un Arduino minimalista [info] on: October 19, 2011, 10:41:46 pm
Hola Igor,
No solo se trata de arduino, es un datalogger compuesto de diversos módulos conectados al mismo (el regulador que aunque sea LDO siempre gasta algo, reloj RTC, tarjeta SD, sensor temperatura y humedad, un LDR para horas de sol, un ADC  y una báscula de baño). Con el attiny y un relé conecto todo el equipo cada x minutos el tiempo que necesite arduino para tomar los datos y grabarlos en la SD, cuando arduino acaba de grabar, manda una señal a attiny que vuelve a dormirse. Pienso que todo el proceso durará menos de 1 segundo. Por su parte attiny iría con tres pilas de 1.5v sin regulador, conectado a un relé de 4.5V. Ese es el plan de máximo ahorro que yo veo factible. Estoy abierto a sugerencias para incrementar el ahorro.
Attiny va a 8mhz, ya sé que poniéndolo a menor frecuencia, gasta menos. También sé que en lugar de relé puedo usar dos fet, son dos puntos que dejo pendientes para más tarde.

520  International / Español / Re: programar attiny85 con un Arduino minimalista [info] on: October 19, 2011, 10:58:03 am
Yo también me apunto, aunque no sé exactamente qué fiesta es esa "fest".
Sigo con el tema de ahorrar baterías de Arduino, despertándole con el attiny durante un breve intervalo cada cierto tiempo.
521  International / Español / Re: programar attiny85 con un Arduino minimalista [info] on: October 18, 2011, 11:05:15 pm
Gracias, nayma,
seguiré tu consejo.
522  International / Español / Re: ¿Cual es la mejor web para comprar piezas? on: October 18, 2011, 11:01:30 pm
Hola,
Yo sin duda primero miro en ebay, y si me convence lo que encuentro, lo compro allá. Los precios están tirados. Ya sé que alguien me comentará su desconfianza con ciertos fabricantes del extremo oriente. Si yo tuviera que comprar un marcapasos, seguro que no lo traía de ebay. Pero para aprender, cacharrear, investigar o enseñar con microcontroladores, que creo que es lo que hacemos la mayoría de nosotros, ebay es un chollo.
En segundo lugar están los componentes discretos, que no se encuentran en ebay (muchos integrados, componentes pasivos...), para estos hay tiendas especializadas (rs-online, mouser, digi-key, farnell...) Sobre estas tiendas mi impresión es que están quedándose un tanto anticuadas (comercialmente hablando): de entrada no admiten paypal, te exigen el número de tarjeta de crédito,  te clavan los portes, no ofrecen la posibilidad de envíos más baratos por correo, para los que no nos importa esperar una semana.

523  International / Español / programar attiny85 con un Arduino minimalista [info] on: October 18, 2011, 01:31:45 pm
Hola,
He conseguido cargar un sketch en un attiny85 con un Arduino minimalista. Ya sé que no he descubierto el mediterráneo, porque programar attiny con Arduino como ISP está muy trillado; pero para mí ha servido para aclarar el uso del reset. A lo mejor le sirve a alguien.


524  International / Español / Re: Máquina de estados: Librería FSM on: October 18, 2011, 05:10:14 am
Gracias, Igor

El programar analizando la situación según un número finito de estados  es una forma muy interesante de abordar los problemas. A mí que me he acostumbrado (viciado) a programar secuencialmente (if() else()) me cuesta bastante cambiar el chip y entrar en ese otro modo pensar, pero probaré algún ejemplo que has puesto.

525  International / Español / Re: Una función on: October 17, 2011, 05:46:21 am
Hola peptro,

Mejor que declares un val con lugar suficiente para la cadena que vayas a meterle (los 4 bytes más el cero final):

char val[5];

val[0]=Serial.read();
val[1]=Serial.read();
val[2]=Serial.read();
val[3]=Serial.read();

// Y al final le pones el carácter 0
val[4]= '\0' ;

int a = atoi(val);

Pages: 1 ... 33 34 [35] 36 37 ... 49