|
513
|
International / Español / Re: uSD Ethernet Shield
|
on: April 29, 2011, 11:51:25 pm
|
|
Hola, En la documentación de "SdFat library" dice "The SdFat library only supports short 8.3 names" Solo puedes usar 8 caracteres como máximo en el nombre, y tres en la extensión. La limitación de "nombre corto" debe venir asociada al sistema mismo de archivos FAT.
|
|
|
|
|
514
|
International / Español / Re: Ayuda a Principiante !!!
|
on: April 25, 2011, 08:33:46 am
|
|
Dos cosas: - tienes un punto y coma al final del if(), que estropea la sentencia - la comprobación yo la haría así: if (digitalRead(Pulsador) == HIGH), porque a digitalRead() le tienes que pasar el pin que debe leer
|
|
|
|
|
516
|
International / Español / Mensajes personales contestados
|
on: April 25, 2011, 01:55:40 am
|
|
Hola, tengo una duda con los mensajes personales de este foro: en "Inbox" me aparecen los mensajes recibidos, y en los que he contestado pone «You have forwarded or responded to this message. » Pero "Outbox" está vacío, y no sé dónde puedo ver los mensajes que he contestado. ¿No se conservan?
Gracias
|
|
|
|
|
517
|
International / Español / Re: alarma
|
on: April 24, 2011, 02:03:26 pm
|
|
A eso me refería en el post anterior: si pones un programa en el PC que se comunique por el puerto serie con arduino, el programa del PC puede enviar el sms a tu móvil. El esquema sería: cuando el arduino detecta un intruso, enviaría un mensaje al puerto serie, "intruso" o lo que sea. Cuando el programa del PC recibe ese mensaje, envía un sms a tu móvil. Ventaja: no te hace falta ningún móvil viejo. Desventaja: tienes que tener un PC encendido y conectado a Internet.
|
|
|
|
|
518
|
International / Español / Re: alarma
|
on: April 24, 2011, 01:08:41 pm
|
|
Hola tazma En tu primer post mencionas un pc. Si tienes el arduino comunicándose con un pc conectado a internet, puedes enviar un sms desde el pc, usando la cuenta de tu móvil. Yo lo hago con una función php. En realidad envío un sms desde mi número a mi número (movistar)
|
|
|
|
|
519
|
International / Español / Re: AYUDA CON RFID Y DISTANCIA MINIMA
|
on: April 23, 2011, 11:27:22 pm
|
|
Hola, los TAG pasivos (sin pilas) tienen un chip que funciona con la energía inducida en su antena cuando reciben una señal del emisor RFID (igual que la antigua radio de galena!) Con esa pequeñísima energía emiten la respuesta. Creo que esa es la razón de que la distancia tenga que ser tan pequeña. Para mayores distancias, debe de haber TAGs activos.
|
|
|
|
|
520
|
International / Español / Re: Ayuda a Principiante !!!
|
on: April 23, 2011, 10:55:20 pm
|
Hola Gatoloco65, todo lo que se ejecuta cuando haces la comprobación if() tienes que ponerlo entre llaves, if(digitalRead(Pulsador) == HIGH) { ... }en caso contrario se te ejecutará siempre, independientemente de la comprobación. También he cambiado la forma de hacer la comprobación, a digitalRead le paso el pin donde tiene que leer, y la función devuelve HIGH ó LOW void Inicia() { if (digitalRead(Pulsador) == HIGH) //Pulsador oprimido { digitalWrite(Led4,HIGH); //Enciende el LED delay(5000); digitalWrite(Led4,LOW); //apaga el Led para esperar a que sea oprimido nueva/.el pulsador } }
Cuando llamas a attachInterrupt() utilizas el 'mode' CHANGE, que actúa tanto cuando pasa de LOW a HIGH, como cuando lo hace de HIGH a LOW Puedes probar el modo RISING, que actúa solo cuando pasa de LOW a HIGH
|
|
|
|
|
521
|
International / Español / Re: Ayuda a Principiante !!!
|
on: April 21, 2011, 11:28:12 pm
|
Hola, todo lo que está en loop() se ejecuta secuencialmente una y otra vez, y la comprobación del pulsador tiene que esperar a pasar todos los delay() en cada ciclo. Una forma de esperar menos, sería hacer la comprobación después de cada delay, la podrías formular como una pequeña función comprobar_pulsador() { if (digitalRead(Pulsador)==HIGH) //Pulsador oprimido { digitalWrite(Led4,HIGH); //Enciende el LED delay (3000); //Tiempo Prendido digitalWrite(Led4,LOW); //Apaga el LED } }
Si necesitas una respuesta más rápida para el pulsador, puedes usar las interrupciones, tendrás dos por lo menos en los digital 2 y 3, attachInterrupt() llama a una función cuando ocurre algo. Tienes un ejemplo en http://arduino.cc/en/Reference/AttachInterrupt
|
|
|
|
|
522
|
International / Español / Re: Desbordamiento y millis()
|
on: April 13, 2011, 05:31:18 am
|
|
Hola, En la referencia de Arduino sobre millis() dice que devuelve un unsigned long, y que a los 50 días más o menos empieza de cero. La variable unsigned long puede llegar hasta unos 4 Gigas, que son los milisegundos que hay en 50 días, más o menos.
|
|
|
|
|
523
|
International / Español / Re: Consulta Arduino y Lector de huella
|
on: April 12, 2011, 01:59:28 pm
|
|
Hola, me temo que arduino tiene muy poquita memoria y capacidad de procesamiento para tratar las imágenes de las huellas dactilares: construir patrones, comparar una huella con ellos... Creo que existen chips específicos para ello.
|
|
|
|
|
524
|
International / Español / Re: Capacidad (bits) necesaria para almacenar mediciones.
|
on: April 10, 2011, 02:34:15 am
|
Hola, he hecho un programilla de empaquetado de datos (temperatura, semana, dia de mes, nombre de mes, hora, minuto, segundo) utilizando campos de bits (ocupa 5 bytes). Se les da unos valores arbitrarios, y se muestran los valores por puerto serie. struct datos_byte { int temperatura: 7; // 128 estados unsigned int semana: 3; // 7 estados unsigned int dia_mes: 5; // 31 estados unsigned int nombre_mes: 4; // 12 estados unsigned int hora: 5; // 24 estados unsigned int minutos: 6; // 60 estados unsigned int segundos: 6 ; // 60 estados } datos;
void setup() { Serial.begin(9600); }
void loop() { // dando valores arbitrarios datos.temperatura = 37; datos.semana = 1; datos.dia_mes = 2; datos.nombre_mes = 3; datos.hora = 4; datos.minutos = 5; datos.segundos = 6; Serial.print("\n-----------------------\n"); Serial.print("sizeof(datos): "); Serial.print(sizeof(datos), DEC); Serial.print("\n-----------------------\n"); Serial.print("temperatura: "); Serial.println(datos.temperatura, DEC); Serial.print("datos.semana: "); Serial.println(datos.semana, DEC);
Serial.print("datos.dia_mes: "); Serial.println(datos.dia_mes, DEC);
Serial.print("datos.nombre_mes: "); Serial.println(datos.nombre_mes, DEC);
Serial.print("datos.hora: "); Serial.println(datos.hora, DEC);
Serial.print("datos.minutos: "); Serial.println(datos.minutos, DEC);
Serial.print("datos.segundos: "); Serial.println(datos.segundos, DEC);
delay(3000); }
|
|
|
|
|
525
|
International / Español / Re: Capacidad (bits) necesaria para almacenar mediciones.
|
on: April 09, 2011, 12:37:54 pm
|
Hola, en C se pueden usar los campos de bits, que pueden servir para optimizar el uso de memoria. En este caso, se podría definir una estructura que engloba los datos mencionados struct datos_byte { int temperatura: 7; // 128 estados unsigned int semana: 3; // 7 estados unsigned int dia_mes: 5; // 31 estados unsigned int nombre_mes: 4; // 12 estados unsigned int hora: 5; // 24 estados unsigned int minutos: 6; // 60 estados unsigned int segundos: 6 ; // 60 estados } datos;
|
|
|
|
|