Show Posts
Pages: [1] 2 3
1  International / Software / Re: Servidor web e interrupciones on: August 16, 2013, 08:13:24 am
Nadie ha tenido este problema?  smiley-eek
2  International / Software / Ethernet shield e interrupciones on: August 14, 2013, 03:11:30 pm
Hola, tengo un proyecto que trata de hacer un servidor web que muestre unos datos recopilados, los guarde con fecha en la SD, y cuando se solicite por web , muestre una pagina con los datos guardados en la SD. Para ello uso un Arduino Mega 2560 + shield ethernet W5100 + SD, un reloj DS1302. A excepcon de  hacer que salte la web, lo demás he conseguido que funcione, recopila los datos, los guarda con fecha y la web funciona, muestra los dados como debe de ser, pero cuando intento hacer que salte la funcion web por interrupción (he colocado un juper en el pin 2 de la shield), no consigo que salte, he tratado de buscar información pero no hay forma de encontrar nada parecido, las librerías que uso son:

#include <SD.h>
#include <DS1302.h>
#include <SPI.h>
#include <Ethernet.h>

uso la interrupción:

attachInterrupt(0, servidorHTML, LOW); // ya que se supone que  a nivel bajo es cuando recive una petición.

Sabéis de algún proyecto parecido en el que usen interrupciones para no estar repitiendo en bucle el tema de la web y poder usar los delay para tomar datos cada cierto tiempo. Llevo unas 800 Lineas de código.

3  International / Proyectos / Re: este Long no me hace caso on: June 25, 2013, 05:03:15 pm
Muchas gracias noter, ha funcionado, guardando los valores en variables long:

Code:
  long meses = 12;
  long dias = 30;
  long horas = 24;
  long segundos = 3600;
  unsigned long sal = meses*dias*horas*segundos;

4  International / Proyectos / este Long no me hace caso on: June 25, 2013, 02:05:02 pm
Mi problema es que las variables long que declaro no toman los valores que deberían, y están a varios años luces de llenarse:

esto:
  unsigned long sal = 24*3600;
  Serial.println(sal);

me devuelve:       20.864
y deveria devolver 86.400

y esto:
  unsigned long sal = 12*30*24*3600;
  Serial.println(sal);

me devuelve:   42.949.41.696
y deveria devolver 31.104.000

Como se ve lo que debería de darme esta muy lejos del limite de la variable :  4,294,967,295
Seguramente sea una tonteria la solución aunque no la encuentro smiley-sad
5  International / Proyectos / Re: Sobreescribir datos en SD on: June 05, 2013, 06:34:09 pm
Lo probare, gracias.
6  International / Proyectos / Sobreescribir datos en SD on: June 01, 2013, 06:34:56 am
Hola, estoy intentando realizar un proyecto que trata de leer unas entradas y grabar en la sd, la entrada, si esta activa o no y la fecha para luego generar un html y que las muestre por red. Estoy en la fase en la que quiero modificar una linea de un archivo, la linea 0 que es el contador de las lineas que se llevan escritas:

6
111305292044
601305292044
611305302044
101305311133
411306010226
601306020226

y no consigo hacer dos cosas, modificar el "6" y pasarlo a un valor tipo int. Estoy usando la libreria SD.h he intentado buscar información pero no veo nada, y de la conversión a int no me funcionan. Alguna recomendación o librerías para ir investigando.

Uso la shield ethernet con micro SD

Gracias de ante mano smiley
7  Forum 2005-2010 (read only) / Español / Re: Puerto Alimentación on: November 09, 2010, 05:08:57 am
Si lo que quieres es medir el voltaje es facil, primero tienes que hacerte un divisor de tensión con dos resistencias en serie (que hay que calcularlas) para que baje la tensión de 9V a 5V porque si le metes 9v al arduino te lo cargas. Luego lo conectas en una entrada analógica y mides, luego tienes que hacer los cálculos para ver a cuanto equivale en Voltios, xk cunado mides analógico te d aun numero entre 0 y 1023, que son los niveles de tension que es capas de distinguir el conversor.
8  Forum 2005-2010 (read only) / Español / Re: Hago música electrónica y quiero un traje con leds on: November 09, 2010, 05:11:00 am
Solo por curiosidad quieres que los led solo se enciendan o parpadee al son de la musica o algo casi?
9  Forum 2005-2010 (read only) / Español / Re: Para quien quiera crear PCB en EAGLE y arduino on: September 24, 2010, 06:53:03 pm
Buen trabajo, la verdad es para hacer pacas para arduino, te ahorra mucho tener ya la plantilla, graciass!
10  Forum 2005-2010 (read only) / Español / Re: Motor PAP en funcionanmiento? on: November 28, 2010, 04:51:25 am
Es muy facil, hay dos tipos de motores paso a paso, los unipolares son los que tienen 5 o 6 cables (con uno o los dos alimentas y los otros los vas conectando a masa en una secuencia y s emueve hacia un lado o hacia el otro) y luego estan los Bipolares que tienen 4  cables, parra hacerlos funcionar hace falta 2 puentes en h para ir cambiando la polaridad de cada bobina.

El motor que tienes es un motor bipolar. Te dejo este enlace para que le heches un vistaso a los motores paso a paso, como son sus funcionamiento, secuencia y como saber cual es cada cable.

http://www.webelectronica.com.ar/news14/nota01.htm

y tb te dejo una web donde hay unos driver para controlar los motores, tanto unipolares como bipolares.

http://www.esteca55.com.ar/

También te puedes armar un circuito mas simple con un par de mosfet.

Si, que raro que te "funcione"
11  Forum 2005-2010 (read only) / Español / Re: Arduino+Controlador+Motor DC on: November 08, 2010, 06:26:38 pm
me imagino que cuando le metas mucha caña, pero el motor ese con la reductora que tiene, tiene que tener mucha fuerza. En la web pone:

Potencia: 16kg/cm (12V/5A)
Velocidad: 100RPM (12V/300mA sin carga)

12  Forum 2005-2010 (read only) / Español / Re: Arduino+Controlador+Motor DC on: November 08, 2010, 03:16:15 am
no te ha mentido,  dice que funciona bien con 6V pero que se recomienda 12v y 5A con 4A te va a funcionar seguramente mas que de sobra para lo que quieras hacer.
13  Forum 2005-2010 (read only) / Español / Re: Arduino+Controlador+Motor DC on: November 05, 2010, 06:10:02 am
No se si se podrán usar en paralelo, los dos puentes en h del L298, o sino pues te compras 4 mosfet  de 5A, los diosos para proteccion y te montas un puente en h  es facil.
14  Forum 2005-2010 (read only) / Español / Re: Arduino+Controlador+Motor DC on: October 01, 2010, 07:46:16 pm
Me acorde que también tengo un joystic parecido al tuyo pero sin pulsador, y he hecho un programita pero al no tener los mosfet para el puente en H lo he simulado con unos led, pero habrá que hacer algo mas para adaptarlo al puente en H. Seria algo asi:

Code:
//Control de un Joystick

int ejexpin = 4;    
int ejexmpin = 3;
int ejexm2pin = 5;
int ejexd;

int ejeypin = 5;    
int ejeympin = 6;
int ejeym2pin = 9
int ejeyd;


void setup(){
  Serial.begin(9600);
  pinMode(ejexmpin, OUTPUT);
  pinMode(ejexm2pin, OUTPUT);
 
  pinMode(ejeympin, OUTPUT);
  pinMode(ejeym2pin, OUTPUT);
}

void loop(){
  ejexd = analogRead(ejexpin);
  ejeyd = analogRead(ejeypin);
  Serial.println(" ");
  Serial.print("X:");
  Serial.print(ejexd);
  Serial.print(" Y:");
  Serial.print(ejeyd);
  
 //Serial.println(" ");
  
  // Control del Eje X
  if (470 > ejexd) {
      ejexd = map(ejexd, 0, 470, 255, 0);
      analogWrite(ejexm2pin,ejexd);
      Serial.print(" PWM x- ");
      Serial.print(ejexd);  
  }
  else {
    analogWrite(ejexm2pin,0);
  }
  if (ejexd > 530) {
      ejexd = map(ejexd, 530, 1023, 0, 255);
      analogWrite(ejexmpin,ejexd);
      Serial.print(" PWM x+ ");
      Serial.print(ejexd);
  }
  else {
    analogWrite(ejexmpin,0);
  }
  
  // Control del Eje y
  if (470 > ejeyd) {
      ejeyd = map(ejeyd, 0, 470, 255, 0);
      analogWrite(ejeym2pin,ejeyd);
      Serial.print(" PWM y- ");
      Serial.print(ejeyd);
  }
  else {
    analogWrite(ejeym2pin,0);
  }
  if (ejeyd > 530) {
      ejeyd = map(ejeyd, 530, 1023, 0, 255);
      analogWrite(ejeympin,ejeyd);
      Serial.print(" PWM y+ ");
      Serial.print(ejeyd);
  }
  else {
    analogWrite(ejeympin,0);
  }
  
 // delay(500);

Y aquí un vídeo de como me ha quedado xdD


Los SerialPrint() los uso para testear el funcionamiento.
El puente en h que tienes es el L298?
Suerte!
15  Forum 2005-2010 (read only) / Español / Re: Arduino+Controlador+Motor DC on: September 30, 2010, 04:01:57 pm
No creo que sea muy complicado programarlo. Pero porque varias velocidades en botones? los Joystick suelen tener unos potenciómetros, por lo que puedes saber cuanto se ha movido en los dos ejes, así que podrías simplemente simplemente, dar mas o menos velocidad según el giro del Joystick.
Seria algo asi, cada eje estará enganchado a un potenciómetro, por un lado le das 5V, por otro lado a masa, y en el centro lo enganchas en una entrada analógica, supongo que si no mueves el joystick te tendrá que dar unos 2,5v, luego usas la función map() para ajustar la lectura analógica  que son 1024 posiciones con la señal PWM que permite 256 cambios. Y para complicarlo mas, mejor seria tener un puente en H para cada motor y asi puedes controlar para que gire en un sentido u en otro según muevas para un lado el joystick.

Igual no me he explicado bien, asi que si tienes alguna duda , dímelo.
Suerte!!
Pages: [1] 2 3