El ejemplo de ayer estaba bien pero tenia el problema de que si queríamos enviar varios datos teníamos que enviar varias estructuras Union. Para arreglar eso que mejor que hacer que el tipo de dato de la estructura Union sea una estructura Struct. Así se puede acceder byte a byte al Struct y enviarlo por Serial, bluetooth, RF, etc. para que el otro Arduino la reciba del tirón!
Leer másMes: marzo 2013
Estructuras Union de C / Arduino
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
/** * Author: giltesa * WebSite: http://giltesa.com * License: CC BY-NC-SA 3.0 * * Esta estructura, de tipo union y no struct, permite guardar un dato del tipo que queramos, y hacerlo accesible de dos formas distintas. * - La primera de ellas es accediendo al dato directamente como una variable mas. * - La segunda forma es accediendo a su memoria, en el caso del float este tiene un tamaño de 4 bytes, eso hace que podamos acceder a sus 4 bytes por separado. * Esto aparentemente no tiene ninguna utilidad, salvo que queramos transmitirlo entre dos Arduinos inalambricamente ya que para ello han de ser enviados los bytes uno a uno. Despues se recogen uno a uno y se restauran en otra estructura union: */ union miDato{ float fval; byte b[4]; // Array de bytes de tamaño igual al tamaño de la primera variable: int = 2 bytes, float = 4 bytes } origen, destino; // Se crean dos estructuras Union, cada una es independiente de la otra y guardan distintos datos. void setup() { Serial.begin(9600); delay(1000); // A la estructura de origen se le da un valor float, una temperatura por ejemplo. origen.fval = -103.36; // Se imprime para comprobar que se ha guardado bien: Serial.print("Origen= "); Serial.print(origen.fval); // Ahora se copia byte a byte la estructura de origen en la estructura de destino: for(int i=0 ; i < sizeof(origen.fval) ; i++) destino.b[i] = origen.b[i]; // Y se imprime el float de la estructura de destino, es el mismo dato que el de origen! Serial.print("\nDestino= "); Serial.print(destino.fval); } void loop() { } |
Batería portátil PS Vita
Pusieron de oferta en el Game la batería portátil de PS Vita que normalmente esta a unos 45€ por 10€, supongo que no se vendían.
Esta batería es de 5.000 mAh y cuenta con dos conectores, el de carga que es propietario de Sony y el de salida que es un USB estándar. La forma mas sencilla de usarla sin tener la consola seria comprar un cable USB > PSVita por 1€ en ebay.
Sin embargo también se puede cambiar el conector de alimentación como fue mi caso:
Leer másEclipse – Windows Builder, ayudante para crear interfaces gráficas en Java con SWT o Swing

Una vez nos pongamos a programar en Java seguramente echemos en falta algún ayudante o interfaz que nos facilite el trabajo de crear interfaces gráficas en Java, algo así a lo que facilita el IDE de Microsoft con Visual Studio.
Para solucionar este inconveniente solo tenemos que instalar el plugin WindowsBuilder, este es el mismo que se usa en el plugin de Google para programar en Android, que nos permitirá crear una interfaz con Swing arrastrando componentes sobre la ventana.
Leer másEclipse – Traducción de la interfaz con el plugin Babel

Para los que no se nos de muy bien el ingles o prefiramos usar Eclipse en nuestra lengua materna existe el plugin Babel que permite traducir la interfaz de Eclipse además de algunos plugins.
De serie Babel traduce la interfaz de Eclipse, no toda pero si gran parte, y las parte de programación y configuraciones de Java. Opcionalmente podemos indicarle que también instale el parche para el plugin CDT para C y alguna cosa mas según nos interese.
Leer másPrimer render del PCB para el GamePad de SNES por Bluetooth
Aun falta mucho trabajo por hacer paro cada vez falta menos para pedir las placas!