Loading...
  Show Posts
Pages: 1 ... 28 29 [30] 31 32 ... 58
436  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
437  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.
438  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
439  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...
440  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
441  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.
442  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
443  International / Proyectos / Re: Ayuda con Lectura de sensores SRF0? on: November 02, 2012, 02:04:15 am
La velocidad del sonido en el aire es de unos 300 metros /seg. a groso modo

¿Quieres enviar un sonido 100 veces y recibir el eco en un segundo?

Por otro lado, los sensores de ultrasonido trabajan a 44 khz.

Creo que debes planteart de otra manera tu aplicacion o al menos aportar mas datos...

Un saludo
444  International / Español / Re: Problema con código coagula on: November 02, 2012, 01:57:08 am
Pascual

Yo no he usado liberia de menus aun pero dejame a la tarde que lleque a casa y hago la prueba y te comento.

Un saludo.
445  International / Proyectos / Re: Ideas proyecto automoción on: September 23, 2012, 11:01:42 am
Encontre por internet otro proyecto que hizo un chaval que empezaba en esto de la electronica para hacer lo que queria el compañero de encender el coche remotamente:


 smiley-lol
446  International / Español / Re: Nivel de bateria con arduino leonardo on: September 23, 2012, 10:58:52 am
Un divisor resistivo es simplemente esto:


Mira este enlace de la wiki:
http://es.wikipedia.org/wiki/Divisor_de_tensi%C3%B3n

Por ultimo, si hay posibilidades que el valor de etnsion pudiera subir por encima de la lectura del ADC del arduino, yo pondria un zener, por ejemplo para limitarlo.
Un saludo
447  International / Hardware / Re: Duda conexion Xbee y sensor Standalone on: September 23, 2012, 10:55:43 am
Hola
No he usado nunca un xbee.
Mira a ver si este enlace te ayuda:
https://www.google.es/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCUQFjAA&url=https%3A%2F%2Fforja.rediris.es%2Fdocman%2Fview.php%2F720%2F1132%2FTutorial%2520XBee.pdf&ei=OTBfUMXeC4OThgfV6IDAAQ&usg=AFQjCNFqnM0hZQ1ATBvMGuSnKo3kIvxeZw&cad=rja
Un saludo
448  International / Hardware / Re: Hola a todos, nuevo proyecto on: September 21, 2012, 03:32:49 pm
Je... je...

Es curioso el sistema, me recuerda a nuestras estaciones de clasificacion solo que en ellas lo que clasifica son las agujas, aqui en la maqueta son los railes.

Te dejo un video de como clasifican por gravedad que esta genial pero no es de España, lastima no tener ninguno de aqui.

Un saludo compañero.

http://www.youtube.com/watch?feature=player_embedded&v=xtHIFj4TWAo

Por cierto, nosotros le llamamos "lomo de asno"
449  International / Hardware / Re: Hola a todos, nuevo proyecto on: September 21, 2012, 03:43:26 am
Bienvenido JHONYIII

Tu proyecto parece interesante pero no me queda claro lo del motor paso paso y la varilla ¿que quieres mover con ello?

Supongo que conoces este enlace:  http://www.forotrenes.com/cms/

En el hay cantidad de personal recreando maquetas.

Por otro lado, tiene razon el compañero ADLC, un pelin caro.

Respecto a arduino, yo usaria un mega que te sale en ebay a unos 14 euros y te sobran salidas por todos los lados:
http://www.ebay.es/itm/1PCS-Arduino-Mega-2560-ATmega2560-16AU-Board-Free-USB-Cable-NEW-/120980869389?pt=LH_DefaultDomain_0&hash=item1c2b05910d

Tambien depende de lo que quieras recrear, si es solo para un movimiento de algo, el Vinciduino se las pinta solo, si quieres recrear medio CTC eso ya es otra cosa...

Un saludo
450  International / Español / Re: USB Host Shield on: September 19, 2012, 11:49:52 am
Ya quisiera yo que el chipkit fuera compatible en librerias con arduino   smiley-sad   Ojala!

No deja de llevar un  PIC32MX320F128 que es bastante mas potente pero no pilula todo, solamente ejemplos basicos.

Supongo que usas como ide el Mpide
Pages: 1 ... 28 29 [30] 31 32 ... 58