Show Posts
Pages: 1 ... 34 35 [36] 37 38 ... 64
526  International / Hardware / Re: Dudas sobre Arduino Uno + USB Host Versus Arduino Mega ADK y EOS Canon on: November 05, 2012, 10:51:40 am
Por lo que he leido por encima, la eos emplea un protocolo de comunicaciones PTP y la controlan con el arduino mandando el paquete adecuado de datos.

No veo que tengas que tener problema con ello, la unica pega es que te hace falta un USB host para comunicar con la camara, de eso el USB shield debe funcionar sin problemas.

No sabia la de problemas que teneis alli abajo para pedir cosas internacionales...

Una cosa, no se si con solo controlar el disparo te valdria ya que si es asi por ebay tienes por menos de 2 euros mandos infrarojos para la eos y siendo asi esto significa que la camara tiene un sensor infrarojo que igual podias aprovechar dependiendo, claro esta, de que funciones se pueden controlar por IR y si estas son las que buscas.
http://www.ebay.es/itm/Wireless-Shutter-Remote-Control-For-Canon-RC-1-EOS-450D-400D-350D-XT-Xti-/160688111193?pt=Camera_Camcorder_Remotes&hash=item2569c1fe59



Lo digo porque ponerle un led  infrarojo al arduino te sale en centimos y no te haria falta el USB host que te va a salir una pasta...

Ahora... si quieres otras funciones ya me callo.

Un saludo
527  International / Software / Re: Empezando y problemas, como no on: November 05, 2012, 10:24:41 am
Una cosa es llevar 30 años trabajando en electronica industrial y otra muy distinta saber electronica.

Si llevas 30 años trabajando en Electronica, empezarias estudiando las valvulas termoionicas y terminarias la carrera con suerte aprendiendote el 6502 o el 8085 ¿verdad?

En todas estas etapas te habran enseñado la importancia de las alimentaciones en los circuitos.

Si es asi deberias saber leer los datasheet de los microprocesadores, deberias saber dimensionar la alimentacion y para mas "INRI" deberias saber que un puerto USB de un PC no da mas de 500mA aparte de la proteccion.

Tambien añadiria que un motor de un servo es una bobina con lo cual te va a producir tensiones inducidas y por si fuera poco, ese motor te va a pedir en el arranque mas corriente que la de mantenimiento en vacio.

Añadiria para rizar el rizo que probablemente no habras puesto un condensador extra, como minimo, para asegurarte la alimentacion de ese consumo extra.

Y por ultimo, "Alma de cantaro" (como diria Jose Mota (( esto es una coña y sin ofender)) ) ¿A quien se le ocurre alimentar motores de continua +  un microprocesador por el puerto USB de un PC?

Me apostaria contigo un cafe a que en el momento que quites los servos y los alimentes con su correspondiente F. de Alimentacion y las salidas del arduino no vayan directamente el estos, sino que los pases por un Buffer de potencia o un simple transistor, el problema desapareceria.

¿Te juegas algo?

Pruebalo y aunque te moleste, reconoceme que te ha funcionado...

Luego con que me invites a un cafe todo zanjado.... smiley-lol

Entre los compañeros del metal nunca hay rencores.

Un saludo.
528  International / Software / Re: Empezando y problemas, como no on: November 05, 2012, 06:26:22 am


Nada... nada... no preocuparse... el arduino puede con todo...

Para que preocuparse de saber la corriente maxima por pin de salida en el arduino, ¿para que?

Aqui vale todo, se le conecta un servo hoy, una bombilla mañana, un motor de lavadora pasado y asi poco a poco le seguimos conectando cosas...

"...Ancha es Castilla..."  

y "estrecha Leon" (esto ultimo no se porque se dice pero se dice).
529  International / Español / Re: Consejos para hacer un shield on: November 04, 2012, 12:09:41 pm
Sergegsx, gracias a ti.

Entre todos aprendemos de todos.

Desconocia SketchUp, gracias a ti me acabo de enterar, habia algo parecido con POW si no equivoco pero no he llegado a probarlo.

Añado esto para que veais como darle toque profesional a vuestras placas de CI con lo que se llama "soldermask" (es para los que no lo conocieran)



Una busqueda por soldermask o uv film oo solder resist os pone al dia de todo esto.

Un saludo
530  International / Software / Re: sensor inductivo on: November 04, 2012, 11:59:18 am
¿En que estas liado Cuc82? 

Esa distancia es la misma que yo necesito detectar !!   10 cm.

Los sensores comerciales cubren del orden de milimetros, el maximo que he visto creo recordar eran 18mm, imaginate que nosostros necesitamos 100mm.

En ebay mismo tienes un surtido muy bueno y te pone las distancias de deteccion.

Para detectar con un arduino es facil, solo mides niveles, si te fijas en la imagen que te puse, cuando se acerca el objeto ferrico la amplitud de la señal del oscilador disminuye.

¿que idea de bobina llevas en mente?

Yo estoy intentando con este tipo de bobinas, ya comentare resultados pero sera en cuanto me quite una faena pendiente...


Un saludo.
531  International / Proyectos / Re: Proyectos electronica on: November 04, 2012, 08:41:38 am
también gasta servos para abrir el techo para que entre aire, etc...

¿"Gasta" servos?
Quieres decir que los servos de desgatan de tanto abrir y cerrar el techo.

El día que ya no queden Ingenieros en España, porque se hayan largado todos a Alemania y nos quedemos en España con los subproductos de la LOE, LOGSE, y demás planes de estudio, este país se va al carajo.
Este foro  es un ejemplo.

Lo siento pero con este post ha terminado mi paciencia.
Me voy a las secciones general en Inglés.
¡Qué drama, pobre España  smiley-cry!

Jray que el tiron de orejas va para ti esta vez...

Te ha fallado el lexico o "expresiones populares" aqui el compañero emplea el termino "gastar servos" como "utilizar servos" o "usar servos" no se refiere al desgaste  smiley-lol

Aun asi, coincido contigo en que en este pais, herederos de la logse y demas zarandajas... nos estamos "atontando"

Si nuestros abuelos levantaran la cabeza.... dirian como dijo este solemne miembro de la Real Academia.... premio Principe de Asturias de las Artes y demas....    llamado Fernando Fernan Gomez...

532  International / Español / Re: Consejos para hacer un shield on: November 04, 2012, 06:20:54 am
estoy a la busqueda de tubos de UV para hacer una insoladora...

Puede que diciendo esto me salga un poco del tema, pero me parecia interesante comentartelo, Heke, y tambien a todos los demás.

Por lo que tengo oido de los UV, son ms profesionales, pero es un poco más dificil controlar la insolación. Si quieres una solucion barata, yo creo que esto te puede funcionar bien (a mi me funciona perfectamete). Es tan simple como conseguir una caja y montarle bombillas de bajo consumo de "luz fría". Te ahorras bastante.

Gracias Tato, toda idea siempre es bienvenida.

Si habia pensado en ellas por el ahorro de reactancia y facilidad de hacerla en un periquete.

Pero tengo dos tubos fluorescentes completos que podria emplear y son los que siempre he usado con las insoladoras caseras que he hecho pero quiero hacera con UV con la idea que ademas valga para aplicar la pelicula verde que protege a las placas de C. impreso y por la rapidez de insolado.

Como me cueste encontrarlos o sean muy caros volvere a lo tradicional y a funcionar...

La lastima es que tengo varias lamparas sylvania de 25w con acople de tipo g24 pero no encuentro el starter o balasto para encenderlas y menos a precio asequible, que fue la primera idea de hacer la insoladora por lo compacta:


Un saludo

Ah, yo tampoco le puse nunca a las insoladoras un temporizador, bien por pereza o por lo que sea, empleaba el mismo sistema que tu  smiley-lol
533  International / Proyectos / Re: proyecto control istalacion fotovoltaica on: November 04, 2012, 06:16:19 am
Hola compañero.

No me aclaro mucho con la idea pero te dire que por de pronto no puedes comparar si una entrada digital es mayor que otra, son digitales o esta en alto o esta en bajo.

Code:
if(digitalRead(producion > consumo) //comprueba si producion es mayor que consumo

Esto debia ser
Code:
if(digitalRead(producion = LOW) //comprueba si producion es mayor que consumo
                    else ..... lo que sea....

De hecho si se da el caso de  que nunca van a estar las dos iguales, con una sola entrada valdria, es decir, si esta en bajo es que B es mayor a A y si esta en alto es la inversa B es menor que A.

Lo mejor hacerte una tabla de posibles combinaciones en digital (solo dos estados, por eso lo de binario, o alto o bajo)

Un saludo

PD: Te aconsejo mires los enlaces de mi firma para ir poniendote al dia y practicar con los ejemplos del IDE
534  International / Español / Re: Consejos para hacer un shield on: November 03, 2012, 04:27:18 pm
Yo lo he hecho con laser de HP (no se donde lei que el toner de oki no era bueno) y un papel especial comprado por ebay, muy satinado.

Pero antes llegue a hacer alguno con papel de revista (con menos dibujos y parte mas blanca a ser posible) y de periodico y no salio mal.

Aqui hay fotocopiadoras donde le llevas el usb y te imprimen con una laser por unos centimos la hoja, supongo que ellos pueden tener satinado y si no te toca conseguirlo.

Una fotocopiadora emplea mismo sitema, toner, que es lo que se transfiere a la placa pcb con el planchado.

Para mi gusto es una solucion de compromiso, recuerdo haber hecho a lo largo de mi vida muchas insoladoras con tubos fluorescentes normales y con tanta mudanza las he ido perdiendo pero la verdad es que la calidad de una placa por insolacion no la supera el planchado ni por asomo.

Tengo que localizar tubos UV a buen precio y hacer otra insoladora pues para SMD no tengo precision con el planchado (que ademas mejor que este es pasar la placa y el papel por una plastificadora x veces... mira por youtube)







Una ultima, la placa que quieres integrar con el convertidor la veo pelin alta de precio, esta es la que yo he comprado, que no he probado aun, por 1,30 euros:
http://www.ebay.es/itm/New-LM2596HV-LM2596S-DC-DC-Step-Down-CC-CV-Adjustable-Power-Supply-Module-/180947008880?pt=LH_DefaultDomain_0&hash=item2a21483d70
535  International / Español / Re: Consejos para hacer un shield on: November 03, 2012, 07:15:28 am
No te preocupes por el shield, al final, como todo, es ponerse...

Mira mi primer shield para el mega, he integrado el reloj como tu has pensado tambien:


Es una placa que me ha quedado cutre pues esta hecha por transfer de toner con plancha pero bueno, estoy a la busqueda de tubos de UV para hacer una insoladora...


Un saludo y animo.
536  International / Español / Re: arduino severino problemas on: November 03, 2012, 06:19:22 am
El severino que has hecho va por puerto serie y no emplea un max232 para convertir los niveles, los adecua con transistores y resistencias.

El cable que debes usar es el tipico cable serie con la salvedad de añadirle el DTR para que esta señal haga el autoreset.

Los pines a emplear son 2,3,4,5:
DE-9 serial connector
Used to connect computer (or other devices) using RS-232 standard.
Needs a serial cable, with at least 4 pins connected: 2, 3, 4 and 5.
Works only when JP0 is set to 2-3 position


En la placa tuya el pin 2 es TX, el 3 es RX, el 5 GND y el pin 4 la conexion al DTR.

SI buscas en google por "null modem cable" te aparece varios millones de datos para hacerte el cable como este, a falta de añadirle el DTR
537  International / Español / Re: Consejos para hacer un shield on: November 03, 2012, 06:09:19 am
No es muy facil conseguir una solucion elegante...

Yo tuve algo parecido y apile al final 3 placas, me canse y opte por incluir una de ella en la superior asi que la integre.

EN tu caso seria muy complicado meter en tu shield el ethernet junto con tu circuiteria?

La otra opcion es emplear un cable tipo ribbon como los del disco duro de un PC para unir con placas o poner irremediablemente la ethernet arriba y subir solo el icsp.

De todas formas no es solucion rapida ninguna.

Ahora, si emplearas el enc28j60 (me parece que ese era el numero) solo es un chip para el tema de la ethernet, muy facil de integrar con tu placa, lo que no se es si te vale.

Suerte compañero...
538  International / Software / Re: MAndar datos a arduino desde el pc on: November 02, 2012, 12:10:06 pm
Pues la libreria serial del arduino es el equivalente al CDC del pic.

Tiene una ventaja y es que el ide del arduino lleva incorporada la terminal serie, luego es solo jugar con el caracter de fin de linea o retorno de carro.

Un saludo

PD: te anoto para pedirte ayuda con los pics  smiley-lol
539  International / Español / Re: Problema con código coagula on: November 02, 2012, 11:55:31 am
Hecho

Primero me da error al compilar porque dice que no conoce "toRoot"  pero le he añadido el texto que pone en la pagina, en la linea 195 y justo antes del comienzo del texto de private:
  
Code:
void toRoot() {

    setCurrent( &getRoot() );
    }

Con la precaucion de que he copiado con el raton desde la web el texto y me ha añadido un caracter extraño (creo que es un retorno de carro) despues del parentesis, lo he borrado, y entonces he compilado y funcionando OK.

El fichero menubackend.h mio ha quedado asi:
Code:
/*
||
|| @file MenuBackend.h
|| @version 1.4
|| @author Alexander Brevig
|| @contact alexanderbrevig@gmail.com
|| @contribution Adrian Brzezinski adrb@wp.pl, http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?action=viewprofile;username=vzhang
||
|| @description
|| | Provide an easy way of making menus
|| #
||
|| @license
|| | This library is free software; you can redistribute it and/or
|| | modify it under the terms of the GNU Lesser General Public
|| | License as published by the Free Software Foundation; version
|| | 2.1 of the License.
|| |
|| | This library is distributed in the hope that it will be useful,
|| | but WITHOUT ANY WARRANTY; without even the implied warranty of
|| | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
|| | Lesser General Public License for more details.
|| |
|| | You should have received a copy of the GNU Lesser General Public
|| | License along with this library; if not, write to the Free Software
|| | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
|| #
||
*/

#ifndef MenuBackend_h
#define MenuBackend_h

/*
A menu item will be a container for an item that is a part of a menu
Each such item has a logical position in the hierarchy as well as a text and maybe a mnemonic shortkey
*/
class MenuItem {
public:
MenuItem(const char* itemName, char shortKey='\0' ) : name(itemName), shortkey(shortKey) {
before = right = after = left = 0;
}

//void use(){} //update some internal data / statistics
inline const char* getName() const { return name; }
inline const char getShortkey() const { return shortkey; }
inline const bool hasShortkey() const { return (shortkey!='\0'); }
inline void setBack(MenuItem *b) { back = b; }
inline MenuItem* getBack() const { return back; }
inline MenuItem* getBefore() const { return before; }
inline MenuItem* getRight() const { return right; }
inline MenuItem* getAfter() const { return after; }
inline MenuItem* getLeft() const { return left; }

MenuItem *moveBack() { return back; }

MenuItem *moveUp() {
if (before) { before->back = this; }
return before;
}

MenuItem *moveDown() {
if (after) { after->back = this; }
return after;
}

MenuItem *moveLeft() {
if (left) { left->back = this; }
return left;
}

MenuItem *moveRight() {
if (right) { right->back = this; }
return right;
}

//default vertical menu
MenuItem &add(MenuItem &mi) { return addAfter(mi); }

MenuItem &addBefore(MenuItem &mi) {
mi.after = this;
before = &mi;
if ( !mi.back ) mi.back = back;
return mi;
}
MenuItem &addRight(MenuItem &mi) {
mi.left = this;
right = &mi;
if ( !mi.back ) mi.back = back;
return mi;
}
MenuItem &addAfter(MenuItem &mi) {
mi.before = this;
after = &mi;
if ( !mi.back ) mi.back = back;
return mi;
}
MenuItem &addLeft(MenuItem &mi) {
mi.right = this;
left = &mi;
if ( !mi.back ) mi.back = back;
return mi;
}
protected:

const char* name;
const char shortkey;

MenuItem *before;
MenuItem *right;
MenuItem *after;
MenuItem *left;
MenuItem *back;
};

//no dependant inclusion of string or cstring
bool menuTestStrings(const char *a, const char *b) {
while (*a) { if (*a != *b) { return false; } b++; a++; }
return true;
}
bool operator==(MenuItem &lhs, char* test) {
return menuTestStrings(lhs.getName(),test);
}
bool operator==(const MenuItem &lhs, char* test) {
return menuTestStrings(lhs.getName(),test);
}
bool operator==(MenuItem &lhs, MenuItem &rhs) {
return menuTestStrings(lhs.getName(),rhs.getName());
}
bool operator==(const MenuItem &lhs, MenuItem &rhs) {
return menuTestStrings(lhs.getName(),rhs.getName());
}

struct MenuChangeEvent {
const MenuItem &from;
const MenuItem &to;
};

struct MenuUseEvent {
const MenuItem &item;
};

typedef void (*cb_change)(MenuChangeEvent);
typedef void (*cb_use)(MenuUseEvent);

class MenuBackend {
public:

MenuBackend(cb_use menuUse, cb_change menuChange = 0) : root("MenuRoot") {
current = &root;
cb_menuChange = menuChange;
cb_menuUse = menuUse;
}

MenuItem &getRoot() {
return root;
}
MenuItem &getCurrent() {
return *current;
}

void moveBack() {
setCurrent(current->getBack());
}

void moveUp() {
setCurrent(current->moveUp());
}

void moveDown() {
setCurrent(current->moveDown());
}

void moveLeft() {
setCurrent(current->moveLeft());
}

void moveRight() {
setCurrent(current->moveRight());
}

void use(char shortkey)
{
recursiveSearch(shortkey,&root);
use();
}

void use() {
//current->use();
if (cb_menuUse) {
MenuUseEvent mue = { *current };
cb_menuUse(mue);
}
}


void toRoot() {
     setCurrent( &getRoot() );
    }

private:
void setCurrent( MenuItem *next ) {
if (next) {
if (cb_menuChange) {
MenuChangeEvent mce = { *current, *next };
(*cb_menuChange)(mce);
}
current = next;
}
}
void foundShortkeyItem(MenuItem *mi) {
mi->setBack(current);
current = mi;
}
char canSearch(const char shortkey, MenuItem *m) {
if (m==0) { return 0; }
else  {
if (m->getShortkey()==shortkey) {
foundShortkeyItem(m);
return 1;
}
return -1;
}
}
void rSAfter(const char shortkey, MenuItem *m) {
if (canSearch(shortkey,m)!=1) {
rSAfter(shortkey, m->getAfter());
rSRight(shortkey, m->getRight());
rSLeft(shortkey, m->getLeft());
}
}
void rSRight(const char shortkey, MenuItem *m) {
if (canSearch(shortkey,m)!=1) {
rSAfter(shortkey, m->getAfter());
rSRight(shortkey, m->getRight());
rSBefore(shortkey, m->getBefore());
}
}
void rSLeft(const char shortkey, MenuItem *m) {
if (canSearch(shortkey,m)!=1) {
rSAfter(shortkey, m->getAfter());
rSLeft(shortkey, m->getLeft());
rSBefore(shortkey, m->getBefore());
}
}
void rSBefore(const char shortkey, MenuItem *m) {
if (canSearch(shortkey,m)!=1) {
rSRight(shortkey, m->getRight());
rSLeft(shortkey, m->getLeft());
rSBefore(shortkey, m->getBefore());
}
}
void recursiveSearch(const char shortkey, MenuItem *m) {
if (canSearch(shortkey,m)!=1) {
rSAfter(shortkey, m->getAfter());
rSRight(shortkey, m->getRight());
rSLeft(shortkey, m->getLeft());
rSBefore(shortkey, m->getBefore());
}
}

MenuItem root;
MenuItem *current;

cb_change cb_menuChange;
cb_use cb_menuUse;
};

#endif

Todo esto es con el ide 022 de arduino, y con la placa atmega 1280 seleccionada, no he probado con otro.

Si no consigues solucionarlo dimelo y me bajo el ide nuevo por si fuera eso.

Un saludo

PD: Añado, me costaba mas pensarlo que hacerlo, con el ide 1.0.1 y con placa arduino 328, arduino uno y arduino leonardo no da error al compilar, y con el ide 022 y placa 328 o atmega 1280 tampoco.
540  International / Software / Re: sensor inductivo on: November 02, 2012, 02:30:53 am
Hola

Un sensor inductivo a fin de cuentas lo que hace es alterar el campo magnetico de la bobina cuando le acercas un material ferrico:


Mira este enlace que te detalla muy bien explicado:
http://es.wikipedia.org/wiki/Sensor_inductivo



Si quieres emplear sensores ya hechos del tipo switch tienes en ebay muy economicos (2 euros y pico) pero las distancias de medida en este tipo de sensores son del orden de pocos milimetros si requieres distancias mas grandes habra que buscar otro sistema:
http://www.ebay.es/itm/LJ12A3-4-Z-BY-Inductive-Proximity-Sensor-Detection-Switch-PNP-DC6-36V-/130740448442?pt=LH_DefaultDomain_0&hash=item1e70bcecba


Un saludo

PD: Cuando puedas cuenta avances... yo estoy en la misma tesitura
Pages: 1 ... 34 35 [36] 37 38 ... 64