Show Posts
Pages: 1 ... 52 53 [54] 55 56 ... 64
796  International / Español / Re: Rellenar con ceros a la izquierda con Sprintf [SOLUCIONADO] on: August 19, 2011, 10:56:54 am
miro entonces... a ver que tal
Gracias.
797  International / Español / Re: voltajes arduino on: August 19, 2011, 10:54:51 am
El arduino lleva el mc33269st como regulador y te da un max. de 800mA.

Probablemente le estes conectando algo mal, yo tengo bastantes cosas colgando de el y no se calienta para nada (en ninguna de las 4 placas)

A ser posible, no le metais mas de 9v-DC y es interesante comprobar los alimentadores que se emplean pues si no llevan estabilizacion te puedes encontrar voltages de entrada de hasta 22v en uno de 9.

Recordar que el arduino necesita 5v, el regulador se come 2,8 (aprox 3) (bueno, eso era en los 7805, en estos no se el valor exacto) con lo cual todo lo demas es calor y consumo.
798  International / Español / Re: Ayuda con Programa para automatizar puerta. on: August 19, 2011, 10:40:41 am
Tiene razon SrDonGato, no se deben de borrar, un vistazo a los consejos de http://arduino.cc/playground/Es/Consejos es lo mejor.

Respecto al codigo que puse es solo una orientacion, y justo eso es lo que debia de hacer, me explico:

int estado = 0;  // Aqui se define estado globalmente y el valor de 0=cerrrando y 1=abriendo

 if (digitalRead(mando)==HIGH)             // si le da a abrir puerta
      digitalWrite(releapertura,LOW)       // entonces le da al rele de apertura (que le faltaria darle un pulso y no siempre)
     if (estado ==1) {                            // tambien comprueba si estaba abriendo (recuerda 1=abriendo)
         estado = 0;                               // y si es asi, como el motor se va a invertir, o sea va a cerrar, el estado lo pongo a 0
         }                                             // o sea 0=cerrando
     else {                                           // si resulta que era al reves, o sea, 0=cerrando, entonces como cambia el sentido de giro a abrir
         estado = 1;                               // pues estado pasa a valer 1, que es abriendo
         }
}

Conclusion, era mostrarle al compañero la forma de poner una variable para decirle en que estado estaba independientemente que pulsara a mitad de camino
1, 2 o 20000 veces el mando.

Lo mejor, como ha dicho que tiene reles independientes, comprobar el estado de estos en entradas y asi sabe el giro.

Pero bueno, no queria ponerle todo el codigo, solo orientarlo en el problema principal porque si le haces el programa no aprende

Es como lo de darle los peces o la caña...

Un saludo

PD: lo que si me ha faltado es el corchete, y el punto y coma, que se ve lo he comido, seria asi:

int estado = 0;

 if (digitalRead(mando)==HIGH)    {  <-- este corchete no lo habia escrito aunque es obvio
      digitalWrite(releapertura,LOW) ; <-- este punto y coma tampoco, pero tambien es obvio.
     if (estado ==1) {
         estado = 0;
         }
     else {
         estado = 1;
         }
}
799  International / Español / Re: Ayuda con Programa para automatizar puerta. on: August 19, 2011, 09:57:26 am
Algo asi:

int estado = 0;

 if (digitalRead(mando)==HIGH)
      digitalWrite(releapertura,LOW)
     if (estado ==1) {
         estado = 0;
         }
     else {
         estado = 1;
         }
}
800  International / Español / Re: Rellenar con ceros a la izquierda con Sprintf on: August 19, 2011, 09:36:36 am
Si, es lo que hago Iohns

Pero hecho en falta algo mas claro, mira el mejor que encontre es el que puse en el post de arriba.

Si encuentro o alguien encuentra algo mejor explicado o exclusivo para arduino, lo pondre por aqui.

Un saludo
801  International / Español / Re: Ayuda con Programa para automatizar puerta. on: August 19, 2011, 09:25:33 am
Facil
Guarda en una variable lo que has hecho:

Si final de carrera = cerrado y comienzo de carrera = abierto -->entonces esta cerrado.
Si final de carrera = abierto y comienzo de carrera = cerrado -->entonces esta abierto.

Si final de carrera = abierto y comienzo de carrera = abierto -->entonces puede ser cerrando o abriendo, en este caso, almacenaria una variable de forma que:

pulso para que abra con lo cual variable estado = Abriendo.
Si a mitad, pulso de nuevo, Variable de estado = cerrando.
Si vuelvo a pulsar sin dejar que termine, variable de estado = abriendo.

Es un flip flop, que antes se hacia con integrado o transistores y hoy en dia, el micro se encarga de ello.

La otra posibilidad seria leer el sentido de rotacion del motor, que si no me equivoco, tendra presente tensiones distintas en algun punto, bien sea en la caja de control electronica o en el propio inversor de giro y podrias detectarlas.
802  International / Español / Re: Cuenta vueltas con salida a rele on: August 19, 2011, 09:14:45 am
No es el optoacoplador, probablemente sea algo mas del circuito, algun condensador de filtro u otra cosa.

Mira hasta que frecuencias trabaja un opto normalito:


Si puedes poner el esquema, igual podemos indicarte.

Ah ¿empleas un sensor hall o de voltage creo se llamaban VDL?  lo digo porque el hall si te da una onda cuadrada pero el otro es mas bien una senoide.
803  International / Español / Re: Rellenar con ceros a la izquierda con Sprintf on: August 19, 2011, 08:50:43 am
Casi...

Al final lo he conseguido asi:
 
Code:
    sprintf(diatxt, "%0.2d", dia);

Aprovecho para agradecerte de nuevo Curro92, gracias al Sprintf pude saltar ese bache... yo no se la de horas, dias, que llevo peleando con esto.

Por cierto, si que hecho de menos algun sitio donde expliquen bien la funcion y parametros del Sprintf, pues veo que le voy a dar bastante uso.

Un saludo compañero
804  International / Español / Re: Otros cacharros on: August 19, 2011, 08:45:25 am
El mio no ha llegado aun, ni tan siquiera me han mandado el correo diciendo que lo envian.
Si es que vivo en el culo del mundo... (Segun google maps, al norte de Yopero)


En cambio si me han mandado el correo que me envian placa que pedi de experimentacion.

Cuenta... Cuenta... una review del relojito...
805  International / Español / Re: Controlar Electroimanes con Arduino on: August 19, 2011, 08:40:22 am
Iohns, no lo habia visto, no es un esquema mio.

Supongo que el autor se ha equivocado al dibujarlo, pues efectivamente va directo a la fuente y eso en un electrolitico es :


Bien puesto, debe de ser para filtrado.
806  International / Español / Re: salidas digitales arduino mega adk on: August 19, 2011, 08:33:33 am
Pacooh !!

Quieto parao!!

Que no, que no, estas equivocado. Por mucha "chicha" que le pongas al arduino de fuente de alimentacion, aunque esta sea de 40Amperios!! no va a dar mas.

Es que no entiendes que la maxima potencia que va a dar el arduino es a traves de el. Y que yo recuerde eran miliwatios.

Olvidate de esos reles que tienes que me juego una cerveza a que consumen mas que lo que el arduino puede dar por mucho que creas que no.

Tienes que usar o transistores o algun circuito integrado especialidado de driver, tipo uln28...

Los 5 voltios (en realidad 4,7 o 4,8 en las salidas del arduino) solo los tendras poniendolo como salida, pero eso no es lo que preguntabas cuando hablabas de resistencias de pullup, para que sepas, las resistencias de pullup o pulldown se emplean para fijar a positivo o a masa una entrada digital, para evitar que una interferencia de un falso positivo en esa entrada, repito ENTRADA !

Para activar reles o lo que quieras, el arduino no necesita ninguna resistencia de pullup ni las va a poner, ten en cuenta que el arduino deja las salidas en alta impedancia o si no me equivoco, cuando estan definidas, tendra el valor medio de la tension merced a un puente de dos transistores internos, esperando dar high o low.

Respecto a los reles, pon el polimetro en ohmios con un fondo de escala de 200 o 2000 y mide la bobina de este, a ver cuanto da en resistencia pura y nos lo dices...
807  International / Español / Re: salidas digitales arduino mega adk on: August 18, 2011, 02:52:06 pm
Como input
El compañero quiere decir como input:

También hay resistencias pullup de 20K conveniente integradas en el chip Atmega a las que se puede acceder desde el software. Estos resistencias pull-up incorporadas son accedidas de la siguiente manera.

pinMode(pin, INPUT);           // pone el pin como entrada
digitalWrite(pin, HIGH);       // activa la resistencia pullup

Si la quieres como Pulldown lo cambias asi:
pinMode(pin, INPUT);           // pone el pin como entrada
digitalWrite(pin, LOW);       // activa la resistencia pulldown

mira este link:
http://arduino.cc/es/Tutorial/DigitalPins
808  International / Español / Rellenar con ceros a la izquierda con Sprintf [SOLUCIONADO] on: August 18, 2011, 02:46:41 pm
Hola
No se ya la cantidad de pruebas que he hecho con sprintf para intentar darle formato pero no lo consigo.
Estoy empleando este codigo:
Code:
    int dia;
    char diatxt[3];
    dia = (now.day());
    sprintf(diatxt, "%d", dia);
    FechaHora[0] = diatxt[0];
    FechaHora[1] = diatxt[1];

Para que cuando el dia sea menor de dos cifras rellene con ceros a la izquierda, es decir si es el dia 2, quiero que salga 02.
La funcion me la puso Curro92 y me es muy util pero si son mas de dos cifras, es decir, el dia 22, sale 22

He probado asi:     sprintf(diatxt, "%d#0", dia); 
tambien asi:          sprintf(diatxt, "%d.1", dia); 

El caso es que no encuentro especifico las funciones del Sprintf, he encontrado en este link que habla de c+,c++ pero no se si es que no son compatibles pero llevo horas probando todo tipo de modificadores y no consigo darle el formato
http://www.cplusplus.com/reference/clibrary/cstdio/sprintf/

¿Conoceis un enlace que explique en concreto para arduino o este es valido?

Y podrias indicarme como darle formato de rellenar con ceros a la izqui.

Gracias y un saludo.
809  International / Español / Re: programar Atmega328 con usbtinyisp (Solucionado) on: August 18, 2011, 11:19:18 am
Perfecto Zacarino.

Añado (para los nuevos) que despues, si quieres volver a cargarle programas por el USB al atmega, le tienes primero que cargar al atmega un bootloader (el que corresponda al chip que usas) desde el propio IDE del arduino (tools-Burn Bootloader-w/UsbTinyISP)  y lo haces empleando el USBtiny.

Y cuando este hecho, ya puedes volver a usarlo cargando los sketch por el usb.
810  International / Español / Re: conectar arduino one al ordenador on: August 18, 2011, 11:02:01 am
Asi de bote pronto...

El modem tuyo va con el arduino en forma de modulo o independiente?

Yo empleo para "hablarle" a un wavecom rs-232, o aun modem 56K,  el software de terminal llamado term95 que venia con el norton comander 5 para msdos pero que funciona en XP. y que como ventaja, trae los comandos de inicializacion AT para el modem:
  ftp://ftp.pwut.ac.ir/NC/NC%205/

Tambien despues use el Termite:
  http://www.compuphase.com/software_termite.htm 

Mucho mejor que el hyperterminal.

Los modems gsm se hablan por comandos AT,  por ejemplo, si lo tienes conectado y le das a intro en la terminal, dos veces, y despues le pones AT y le das a intro, te contestara con OK.

Te dejo un ejemplo de mi wavecom pero que suele ser lo mismo para todos:
Code:
VEL:9600
DATA BITS= 8
PARITY=    NONE
STOP BITS= 1
FLOW CTRL= HARDWARE

-AT+CMGI
  "WAVECOM MODEM"

-AT+CPIN=<codigo pin>

-AT+CSQ
  Verifica calidad de la señal  de 11-31 es bueno

-AT+CREG?
  Verifica si el modem se ha registrado en una red  0,1 es "SI" 0,5 es en roaming

-ATD<numero telefono>;
  inicia una llamada

ATH
  Cuelga la llamada


Y en este enlace los comandos y uso del mismo que son validos para la mayoria de modems GSM
http://sumanual.com/314159.php?k=9148a6503db867a26f4e21efc2ccb1b3&ID=1241599&q=WAVECOM%20FASTRACK%20SUPREME

Ya nos diras...

Un saludo "COMPAÑERA" :-)
Pages: 1 ... 52 53 [54] 55 56 ... 64