Entradas

Mostrando entradas de 2013

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

Mis primeras impresiones con Ouya

Imagen
Hola aquí os presento mi Ouya y las primeras impresiones con ella. Aquí esta la Ouya dentro de su caja, junto con la pegatina que la acompaña. Como puede verse, la presentación de la consola está muy cuidada, aunque no se aprecia en la foto, en la parte de arriba de la caja está el nombre de la consola. Aquí teneis los mandos, la primera foto contiene los 2 mandos que pedí y la segunda un mando abierto para ver los compartimentos de pilas:  A mí lo que me chocó es que las pilas estuvieran situadas en los laterales. Aunque como me comentaron en los foros, esto puede haberse hecho para equiparar el peso del mando. En el primer arranque tardó unas 4 horas en actualizarse, supongo que los servidores estarían un poco saturados. Después de esto ya pude entrar en la consola. Lo que me chocó bastante es que al loguearme la primera vez tuviera que añadir una tarjeta o un código de cupón para poder entrar. Es una de las pocas cosas que me desagradan de

Mozilla Add-on builder: Posibilidades a la hora de abrir un link desde una entrada de menú.

Las posibilidades son las siguientes: require("windows").browserWindows.open(pageURL); --> abre la url en una ventana nueva. require("windows").browserWindows.activewindow.open(pageURL); --> abre la url en una pestaña nueva. require("tabs").open(pageURL); --> abre la url en una pestaña nueva. require("tabs").activeTab.url=pageURL; --> abre la url en la pestaña actual. Para el siguiente ejemplo los cambios habría que hacerlos dentro del onMessage : Fichero: main.js var contextMenu = require("context-menu"); var data = require("self").data; //Menu contextual para cuando se selecciona un link en la página. var searchMenu = contextMenu.Menu({   label: "Abrir URL ",   context: contextMenu.SelectorContext("a[href]"),   contentScriptFile: [data.url("links.js")],   items: [],   onMessage: function (pageURL) {     require("tabs").open(pageURL);   } }); Fi

Como obtener el ID autogenerado al realizar un insert en una base de datos

Para obtener el ID autogenerado se han de concatenar las sentencias marcadas en negrita: SQLServer INSERT INTO Foo () VALUES (); SELECT CAST(scope_identity() AS int); MySql INSERT INTO Foo () VALUES (); SELECT LAST_INSERT_ID(); SQlite INSERT INTO Foo () VALUES (); SELECT last_insert_rowid(); Saludos.

Log4Java en Java

Para poder utilizar el Log4Java en una aplicación de Java se han de seguir los siguientes pasos. Añadir los siguientes imports a los ficheros que vayan a utilizarlo. import org.apache.log4j.Logger; Al principio de la aplicación hay que introducir esta línea: PropertyConfigurator.configure("log4j.properties"); Al principio de la clase se ha de introducir la siguiente línea: private final Logger logger = Logger.getLogger(this.getClass().getName()); Por cada salida a log que queramos obtener tenemos que introducir una de las siguientes líneas de código, dependiendo del nivel de log deseado: logger.debug(texto_a_sacar_por_log); logger.error(texto_a_sacar_por_log); logger.fatal(texto_a_sacar_por_log); logger.info(texto_a_sacar_por_log); Si además queremos que saque la información de una excepción obtenida: logger.debug(texto_a_sacar_por_log, excepción); logger.error(texto_a_sacar_por_log, excepción); logger.fatal(texto_a_sacar_por_log, excepción); logger

Log4net con VB.NET

Para poder utilizar el Log4net en una aplicación de VB.NET se han de seguir los siguientes pasos. Añadir el log4net a las referencias del proyecto. La inicialización de Log4NET se realiza incluyendo la siguiente llamada en el fichero AssemblyInfo.vb: <Assembly: log4net.Config.XmlConfigurator(ConfigFile:="Configuracion.log4net", Watch:=True)> Esta línea hace que se cargue la configuración del Log4net desde el fichero Configuracion.log4net. En la declaración de las variables de las clases añadir: Private ReadOnly LogPagina As log4net.ILog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType) Por cada salida de log realizar la siguiente llamada: LogPagina.debug(texto_a_sacar_por_log); LogPagina.info(texto_a_sacar_por_log); LogPagina.warn(texto_a_sacar_por_log); LogPagina.error(texto_a_sacar_por_log); LogPagina.fatal(texto_a_sacar_por_log); Si queremos que en una excepción se imprima el error que contiene el ob

Log4net con C#

Para poder utilizar el Log4net en una aplicación de C# se han de seguir los siguientes pasos. Añadir el log4net a las referencias del proyecto. En el fichero AssemblyInfo.cs añadir la siguiente línea: [assembly: log4net.Config.XmlConfigurator(ConfigFile = "Configuracion.log4net", Watch = true)] Esta línea hace que se cargue la configuración del Log4net desde el fichero Configuracion.log4net. En la declaración de las variables de las clases añadir: private readonly ILog LogPagina = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); Por cada salida de log realizar la siguiente llamada: LogPagina.debug(texto_a_sacar_por_log); LogPagina.info(texto_a_sacar_por_log); LogPagina.warn(texto_a_sacar_por_log); LogPagina.error(texto_a_sacar_por_log); LogPagina.fatal(texto_a_sacar_por_log); Si queremos que en una excepción se imprima el error que contiene el objeto excepción: LogPagina.debug(texto_a_sacar_por_log, excepción); LogPagina.info(texto_a