Show Posts
Pages: 1 [2] 3
16  International / Documentación / Tutorial - Radar con Arduino on: April 26, 2013, 06:27:56 am
Os traigo otro tutorial muy interesante para usar nuestro modulo de ultrasonidos y un servo como radar. Espero que os guste

http://www.tuelectronica.es/tutoriales/arduino/radar-con-arduino.html
17  International / Español / Re: Problema con ¿interferencia servo? on: April 16, 2013, 06:42:24 pm

Crees mal...  smiley-lol

¿A que no se te ha ocurrido averiguar cuanta corriente puede dar un arduino o cuanto consume tu servo?

Alimentalo aparte y "veras la luz"

En principio, del tutorial del que parto lo conecta directamente en arduino... pero usa una media de varias medidas (10) realizadas en una misma posición. Con esta configuración parece que funciona, pero yo lo puse para que solo hiciera una medida en cada posición y apareció el error. Puede ser que el autor hiciera esa "chapuza" para corregir el error que yo tengo porque... 10 medidas en una misma posición...¿?¿?

Voy a probar con alimentación externa y os comento. Espero que funcione, porque es un proyecto que tengo que exponer este jueves... smiley-lol
18  International / Español / Re: Problema con ¿interferencia servo? on: April 16, 2013, 01:00:15 pm
¿De donde alimentas el servo, no sera del propio arduino?

mmmm... si!! smiley-lol Pero creo que arduino es capaz de alimentar un servo no¿?¿?¿?¿?¿? De eso va a ser¿?¿? es un miniservo de 9g, no se exactamente cuanto consume, pero seguro que muy poco. (creo!!)
El caso es que antes lo alimentaba por USB, pero si lo conecto a una fuente de alimentación me hace menos interferencias...
19  International / Español / [Solucionado] Problema con ¿interferencia servo? on: April 16, 2013, 07:27:30 am
Hola a todos,
tengo un problema con el siguiente codigo:
Code:
/*
Radar Arduino v1.0
Autor: FjRamirez
Email: email@tuelectronica.es
Fecha: 15/04/2013
*/

#include <Servo.h>            // Añade la libreria Servo
Servo leftRightServo;         // Crea una variable servo
int leftRightPos = 0;         // Variable para la posición del servo (grados)
const int numReadings = 1;    // Numero de lecturas en cada posición
int index = 0;                // Contador para el número de lectura
long total = 0;               // the total of all readings
int average = 0;              // the average
int echoPin = 53;              // the SRF05's echo pin
int trigPin = 51;              // the SRF05's init pin
long duration = 0;  // variable for reading the pulse
int distance = 0;   // variable for storing distance
 
/* setup the pins, servo and serial port */
void setup() {
leftRightServo.attach(12,700,2400);
Serial.begin(9600); // Establece la velocidad de datos del puerto serie
pinMode(trigPin, OUTPUT); // Establece pin como salida
pinMode(echoPin, INPUT); // Establece pin como entrada
digitalWrite(trigPin, LOW); // Pone el pin a un estado logico bajo
}
 
void loop() {  
  for(leftRightPos = 0; leftRightPos < 180; leftRightPos++) {  // De izquierda a derecha.
  leftRightServo.write(leftRightPos);
    for (index = 0; index<numReadings; index++) {            // take x number of readings from the sensor and average them
    // Pulso de 10us para inicial el modulo
    digitalWrite(trigPin, HIGH);
    delayMicroseconds(10);
    digitalWrite(trigPin, LOW);
    duration = pulseIn(echoPin, HIGH, 17400); //Devuelve la longitud del pulso del pin Echo en us (3metros maximo)
      if (!duration){
      duration=17400;
      }
    distance = duration/58;                               // convert to centimetres
    total = total + distance;                              // update total
    delay(100);  
    }
    
  average = total/numReadings;                               // create average reading  
  total = 0;
  
  Serial.print("X");                                         // print leading X to mark the following value as degrees
  Serial.print(leftRightPos);                                // current servo position
  Serial.print("V");                                         // preceeding character to separate values
  Serial.println(average);                                   // average of sensor readings  
}


  for(leftRightPos = 180; leftRightPos > 0; leftRightPos--) {  // De derechas a izquierda
  leftRightServo.write(leftRightPos);
    for (index = 0; index<numReadings; index++) {            // take x number of readings from the sensor and average them
    // Pulso de 10us para inicial el modulo
    digitalWrite(trigPin, HIGH);
    delayMicroseconds(10);
    digitalWrite(trigPin, LOW);
    duration = pulseIn(echoPin, HIGH, 17400); //Devuelve la longitud del pulso del pin Echo en us (3metros maximo)
      if (!duration){
      duration=17400;
      }
    distance = duration/58;                               // convert to centimetres
    total = total + distance;                              // update total
    delay(100);  
    }
    
  average = total/numReadings;                               // create average reading  
  total = 0;
  
  Serial.print("X");                                         // print leading X to mark the following value as degrees
  Serial.print(leftRightPos);                                // current servo position
  Serial.print("V");                                         // preceeding character to separate values
  Serial.println(average);                                   // average of sensor readings
  }
}

Es un sensor de ultrasonidos con un servo, y hace un barrido de 180º para medir distancias. El caso que cuando conecto el servo no marca los valores de distancia correctamente. No esta montado el sensor en el servo, lo pongo para medir una distancia fija, y sin conectar el pin de datos del servo, me mide correctamente, pero cuando conecto el pin de datos del servo, hay errores de una manera sistematica:

Sin el servo conectado:

X3V174
X4V174
X5V174
X6V174
X7V174
X8V174
X9V174
X10V174
X11V174
X12V174
X13V174

Con el servo conectado:

X5V175
X6V137
X7V175
X8V135
X9V175
X10V137
X11V174
X12V134
X13V174
X14V134
X15V174
X16V135
X17V174

X es la posición del servo, y V la distancia en cm (175-174), como veis, se va alternando una medida incorrecta con otra correcta.

He probado con varios servos y nada, hace lo mismo. No entiendo el porque... Alguna sugerencia¿?¿?¿?
20  International / Documentación / Re: Tutorial Reloj RTC I2C con Arduino on: March 08, 2013, 01:46:32 pm
Gracias compañero por compartir.

La de veces que han preguntado los nuevos por el RTC, lo bien que les va a venir.

Un saludo.

Yo fui uno de ellos smiley
21  International / Documentación / Tutorial - Reloj RTC I2C con Arduino on: March 06, 2013, 11:05:27 am
Hola,

Os dejo un tutorial para usar un Reloj RTC I2C con Arduino, el modelo que se usa en el tutorial es el DS1307

http://www.tuelectronica.es/tutoriales/arduino/reloj-rtc-i2c-con-arduino.html

Saludos
22  International / Documentación / Tutorial Modulo ultrasonico HY-SFR05 con Arduino on: March 06, 2013, 11:02:16 am
Hola,

Os dejo el enlace de un tuturial muy interesante para usar el modulo ultrasonico HY-SFR05, espero que os sea de gran ayuda.

http://www.tuelectronica.es/tutoriales/arduino/modulo-ultrasonico-con-arduino.html

Saludos
23  International / Español / Que sensor usar para posicionamiento en el espacio on: November 14, 2012, 07:59:56 pm
Hola a todos,
Estoy tratando de que un quadcopetero aterrice en un punto exacto de manera precisa. Con la altura no tengo problema, el sistema de navegación que usa (Ardupilot), tien un sensor ultrasonico para situarse a una altura exacta, pero con la posición X e Y tengo el margen de error de unos metros que tiene el gps. Mi idea es triangular de alguna forma esta posición. En un principio pensé en usar tres sensores ultrasonidos colocados fijos en a una altura sobre la pista de aterrizaje, pero el pequeño tamaño del quadcoptero dificulta la detección.

Lo que se me ocurre es que el quadcoptero tenga un emisor, infrarrojo, radio o ultrasonico y 3 receptores en la pista, de tal forma que pueda determinar por el nivel de potencia de señal en que punto esta el objeto.

¿Que manera seria la mejor, y como podría hacer este proyecto?

Yo creo que el ultrasonico es la mejor opción, pero no encuentro módulos emisor/receptor separados y el funcionamiento no es por potencia, sino por eco. Tendría que diseñar yo el circuito. ¿Como podría empezar a hacerlo?
24  International / Español / Re: [Solucionado] Mi modulo Tiny RTC I2C DS1307 no funciona on: November 14, 2012, 07:49:28 pm
Les pongo un buen tutorial sobre el tema:
http://www.tuelectronica.es/tutoriales/arduino/reloj-rtc-i2c-con-arduino.html
25  International / Español / Re: Mi modulo Tiny RTC I2C DS1307 no funciona on: November 12, 2012, 07:34:53 pm
Gracias a todos por las respuestas, ahora mismo lo he solucionado. El problema era que todos esos artículos que he leído eran para arduino uno yo estoy usando arduino mega, los pines SDA y SCL no están en las mismas patillas:
http://www.arduino.cc/es/Reference/Wire
Lo pase por alto porque pensé que el bus I2C tenia un funcionamiento similar al puerto serie y podían definirse en otros pines.
26  International / Español / [Solucionado] Mi modulo Tiny RTC I2C DS1307 no funciona on: November 12, 2012, 04:48:37 pm
Hola a todos,

Tengo un problema con este modulo: he tratado de hacerlo funcionar de mil maneras y no me funciona, he seguido estos tutoriales con sus librerias y nada:
http://www.henningkarlsen.com/electronics/library.php?id=34
http://www.ladyada.net/learn/breakoutplus/ds1307rtc.html
http://www.emartee.com/product/42059/Tiny%20RTC%20DS1307%20Shield%20V2.0

Los resultados son similares, me muestra por puerto serie fechas erróneas, que no varían, es decir, no va aumentando los segundos, es como si las funciones devolvieran un valor por defecto. He mirado mil veces las conexiones y nada, las he mirado con un polimetro, he medido la tension en el DS1307 y todo correcto.

Se me escapa algo?????
27  International / Proyectos / Re: Proyecto SAYCA (Sistemas antirrobo y confort arduido) on: October 10, 2012, 05:17:24 pm
Hola a todos,

os comento como va mi proyecto... Conseguí resolver temporalmente los problemas que tenia a la hora de usar los puertos series y de integrar las librerías Tvout y OBD. Lamentablemente he tenido que usar dos arduinos y un adaptador OBDII basado en el  ELM327. Mi idea era reducir los dispositivos y quitar el adaptador OBDII. ¿Si alguien puede echarme una mano con esto le estaría muy agradecido? Lo que quiero es usar un arduino como lector de los datos del puerto can del vehículo. ¿Alguna librería para bus-can sencilla? ¿ También seria interesante una librería para arduino basada en el ELM327, se que existen por algún sitio porque el adaptador tienen un pic, y no el ELM327 por lo tanto tiene cargada esta librería.

Pongo algunas fotos del proyecto:

28  International / Proyectos / Re: Proyecto SAYCA (Sistemas antirrobo y confort arduido) on: September 09, 2012, 03:38:54 pm
Bien, ya modifique la librería pollserial para que funcione en la IDE de arduino 1.0.1 Probé el ejemplo y lo metí en mi código y va perfecto!!! Ahora bien, quiero usar solo un arduino, la librería OBD usa el puerto Serial es decir el 0, pero como tengo que usar el que gestiona TVout como lo haría???

En OBD.cpp encontre:
Quote
#ifndef OBDUART
#define OBDUART Serial
#endif
para usar el puerto serie 1 u otro del arduino mega yo lo hacia asi:
Quote
#ifndef OBDUART
#define OBDUART Serial1
#endif

pero como lo tengo que hacer para usar:
Quote
#include <pollserial.h>
pollserial pserial;

Sigo teniendo este problema!! Nadie puede ayudarme?? vamos chicos es simple programacion seguro que alguno lo sabe!!  smiley-cry

Lo que me ocurre que quiero usar el puerto serie que genera la libreria <pollserial.h> que es pserial con la libreria OBD que usa el puerto series 0 que genera por defecto arduino.
En OBD.cpp:
Quote
#ifndef OBDUART
#define OBDUART Serial
#endif

teoricamente poniendo:
En OBD.cpp:
Quote
#ifndef OBDUART
#define OBDUART pserial
#endif

deberia funcionar porque probe:
Quote
#ifndef OBDUART
#define OBDUART Serial1
#endif
y si que me usa el puerto 1, pero con pserial me dice que no esta declarado!! smiley-sad
29  Using Arduino / Programming Questions / Defining a serial port on: August 02, 2012, 02:01:13 am
Hello,
I have two libraries, Pollserial and OBD

In my program I want to work with Pollserial serial port, but obd library works with port SerialO.

Obd.cpp:
 
Quote
#ifndef OBDUART
#define OBDUART Serial
 #endif 

And to state the serial port I use (Serial0) M ain.cpp:

Quote
  #include <pollserial.h>
pollserial pserial;

What do I have to do to use the port obd.cpp pserial?

¿?
 
Quote
#ifndef OBDUART
 #include <pollserial.h>
 pollserial pserial;
#define OBDUART pserial
 #endif 

 Alone with or duplicate definition errors.
30  International / Proyectos / Re: Proyecto SAYCA (Sistemas antirrobo y confort arduido) on: August 01, 2012, 05:58:43 pm
Me alegra que lo tengas funcionando!!

Si, ese proyecto de la pantalla glcd es mio. Manejar esas pantallas no es dificil, es un poco coñazo de preparar los gráficos, pero el resultado es bastante bueno. Tienes unas cuantas librerías para Arduino dependiendo el controlador que lleven. Los más estandard son T6963 ó KS0108.

Saludos


Igor R.

Puedes decirme donde encontrar la pantalla que tu usas? no he encontrado ninguna lo suficientemente grande...

Se te ocurre alguna manera de solucionara el problema que cite anteriormente, para no tener que usar los dos arduinos. No se si funcionara bien como esta, porque la librería obd trabaja con el porto serial, y la TVout estoy trabajando con pollserial pserial que es el puerto serie 0...  smiley-roll

Muchas gracias por tu ayuda!!
Pages: 1 [2] 3