Entradas

Mostrando entradas de 2010

Material density detection system used to create wet wipes with Arduino 2/2

Imagen
Construction of the final prototype Components used The components used have been, per module: Density Bar 1 - Arduino Pro Mini 5v 4 - LDRs 4 - Resistors 1k 2 - PCB Terminal Blocks Communication bar 1 - Arduino Pro Mini 5v 1 - LM2596s DC-DC step down power supply module 2 - PCB Terminal Blocks 1 - Voltage regulator TIP220 1 - Heat Sink for TIP220 1 - Rectangular LED 6W 630lm 6500K COB 170 x 15 mm. Industruino 1 - Industruino PROTO kit 1 - Relay module Keyes_SR1 Arduino with screen 1 - Arduino UNO R3 1 - 16x2 Character LCD module with I2C 3 - Resistors 10k 2 - Resistors 220 1 - LED Red 1 - LED Green 3 - Buttons 1 - Relay module Keyes_SR1 Assembly of the circuit The Fritzing scheme is as follows: Density bar Circuit that manages the density bar This circuit is responsible for obtaining the measurements and send notifications to the communications bar for redirection. Communication bar Circuit that manages the c

Desactivación de Unity de las máquinas virtuales de VMware Workstation

Al desactivar el unity de las máquinas vituales conseguimos que la carpeta cache que ha aparecido desde la versión 7.1 desaparezca. En el fichero config.ini hay que introducir/modificar la siguiente línea: isolation.tools.unity.disable = “true” En el fichero vmx de la máquina virtual: unity.enableLaunchMenu = “FALSE” unity.showBadges = “FALSE” unity.showBorders = “FALSE” unity.wasCapable = “FALSE” Saludos.

Lectura de ficheros INI sin secciones con Inno Setup desde código (continuación)

Este post es una continuación del anterior y voy a añadir un nuevo método, el cual se encarga de comprobar si una etiqueta existe en el fichero. function ExisteEtiqueta (Etiqueta: String): Boolean; var     I:        LongInt;     L:        LongInt;     S:        String; begin     S := Etiqueta + '=';     L := Length (S);     For I := 0 to GetArrayLength (ConfigValues) - 1 do     begin         if (copy (ConfigValues [I], 1, L) = S) then         begin             Result := TRUE;             Exit;         end;     end;     Result := FALSE; end; Saludos.

Lectura de ficheros INI sin secciones con Inno Setup desde código

En este post voy a poner un código de ejemplo en el cual se parsea un fichero INI sin secciones (fichero INI estilo UNIX) desde el Inno Setup. Para esto hay que crear el código en la sección [Code] de este programa. [Code] var     ConfigValues:    TArrayOfString; function LeeFicheroConfiguracion (FileName: String): Boolean; begin     Result := LoadStringsFromFile (FileName, ConfigValues); end; function ObtieneValorEtiqueta (Etiqueta: String; var Value: String): Boolean; var     I:        LongInt;     L:        LongInt;     S:        String; begin     S := Etiqueta + '=';     L := Length (S);     For I := 0 to GetArrayLength (ConfigValues) - 1 do     begin         if (copy (ConfigValues [I], 1, L) = S) then         begin             Value := copy (ConfigValues [I], L + 1,                 Length (ConfigValues [I]) - L);             Result := TRUE;             Exit;         end;     end;     Result := FALSE; end; function EscribeValorEtiqueta (Etiq

Crear un mirror de un repositorio de subversion.

Para crear un mirror de un repositorio de subversion se siguen los siguientes pasos. La mayoria de los pasos se hacen sobre el mirror. Creamos el repositorio en la máquina del mirror. Creamos un usuario en ambos servidores para realizar la sincronización (en este ejemplo el usuario creado ha sido: syncuser ) Lanzamos los siguientes comandos en el mirror: svnsync initialize file:/// ruta_local_mirror  ruta_servidor_svn --username syncuser --password syncuser svn proplist --revprop -r 0 file:/// ruta_local_mirror svn propget svn:sync-from-url --revprop -r 0 file:/// ruta_local_mirror svn propdel svn:sync-lock --revprop -r 0 file:/// ruta_local_mirror Con esto ya tenemos el mirror montado y preparado para funcionar. Un comando interesante a ejecutar, aunque no necesario, es el siguiente, el cual se encarga de la sincronización inicial de los repositorios. Como he dicho no es necesario, pero si el repositorio del que vamos a hacer el mirror ya contiene información es recomendab

Hacer que el VMware utilice la memoria física y no un fichero en una máquina virtual.

Para conseguir esto hay que modificar el fichero .vmx de la máquina virutal y añadir/modificar las siguientes entradas: mainMem.useNamedFile = "FALSE" MemAllowAutoScaleDown = "FALSE" MemTrimRate = "0" sched.mem.pshare.enable = "FALSE" Saludos.

Reseteo del ID y de la MAC de una máquina virtual en VMware

Para resetear el ID de una máquina virtual se han de borrar las líneas que contengan las siguientes entradas: uuid.location uuid.bios Para resetear la MAC de la tarjeta de red hay que borrar las siguientes líneas ethernet0.generatedAddress ethernet0.generatedAddressOffset Además es obligado que esta línea tenga este valor ethernet0.addressType = "generated". Saludos.

Activar la cuenta root en Ubuntu

Para activar la cuenta root de Ubuntu se ha de lanzar el siguiente comando. sudo -u root passwd y pones el pass del usuario que estas utilizando, después de eso te pedirá el nuevo pass para el root. De esta forma ya esta activado el usuario. Después de esto ya se puede lanzar el comando su - para entrar a nuestra cuenta de root. Saludos

Migración de RX Components a JVCL 0

Este post deberia de haber aparecido antes del actual, pero por despiste no lo hice y por tanto lo he etiquetado como 0 y no como II. Para realizar la migración, esta se puede hacer de forma automática. Esto ser realiza mediante una aplicación que tiene JVCL llamada JVCLConvert, esta se encuentra en la ruta: jvcl\devtools\JVCLConvert . Para poder realizar la conversión de componentes de forma correcta hay que utilizar plantillas, estas se encuentran en jvcl\converter y las que nos interesan son las siguientes: RxToJVCLApp.dat JVCL3.dat La primera sirve para realizar la conversión de nombres de clases y la segunda sirve para pasar los nombres de clases de cualquier versión anterior de JVCL a la actual. Hay que indicar que aunque la segunda no es obligatoria, si que es aconsejable, ya que la plantilla primera podría tener nombres de clases antiguas de JVCL y por tanto la segunda se encarga de actualizar estos nombres. Otra cosa que no indica la documentación y que si que es rec

Migración de RX Components a JVCL I

En estas entradas voy a poner los componentes del RX y su equivalente en JVCL. En este primer artículo sólo voy a poner el TFormPlacement . El equivalente a este en JVCL es TJvFormStorage . Los métodos de ambos son los mismos. El segundo es igual que el primer con más parámetros y métodos, pero los métodos y parámetros del primero estan en el segundo. La única novedad que hay que señalar es que para que guarde necesitamos un AppStorage , los que hay disponibles son: TJvAppIniFileStorage TJvAppRegistryStorage TJvAppDBStorage TJvAppXMLFileStorage Con sólo asignar uno de estos AppStorage al TJvFormStorage y configurarlo funciona. Saludos. ​

Presentación

La finalidad de este blog es introducir lo que me parezca, en un principio no va a ser dirigido a ningún tema en especial.