Como reparar su contador digital


Desde que cambió la normativa que regulaba el uso de un  limitador  de la potencia contratada aislado de la caja general  de distribución de ca  hoy es posible tener un espacio  libre para  nuestras necesidades . 

Ciertamente   gracias a los contadores inteligentes  con tele-gestión que van instalado  normalmente centralizados en una parte de edificio aparte que integran ademas  la habilidad de interrumpir el suministro la potencia desde estos en función de la potencia contratada , en muchos casos  y  en muchas viviendas ha quedado libre el hueco  que podemos  usar para instalar un sencillo contador+

El panel digital ,como se observa en la imagen    encaja en la parte del hueco dejado por el antiguo magnetotérmico , aunque según el tipo de caja habrá que rebajar algo mas el hueco  con una lima para que encaje perfectamente en el hueco ,   y como se puede  apreciar ,es bastante llamativo visualmente gracias  a su luz de fondo azulada  mostrando en tiempo real   las siguientes medidas:

  • Tensión en voltios de la red de suministro ca
  • Intensidad en amperios del
  • Potencia instantánea consumida en Watios
  • Acumulado de  energía consumida wn Kw/h

 

Este sencillo panel  es muy económico (unos 9€)  y nos va ayudar muchísimo a concienciarnos de nuestro consumo energético pues ofrece la lectura en tiempo real (tensión, corriente, potencia activa, potencia) 

Ademas cuenta con una función de alarma de sobrecarga cuyo  umbral de alarma se puede preseleccionar para avisarnos si nos pasamos de potencia, siguiendo la siguiente operativa:

  • Pulse el botón, cuando la pantalla LCD muestre “SET CLr” después del botón de liberación, ajuste el valor en el informe de estado de energía;
  • El área de potencia muestra el valor actual de la alarma de alimentación y el dígito más bajo comienza a parpadear, entonces puede presionar el botón del +1 digital, cuando no haya operación de tecla más de tres segundos, cambia automáticamente por ajuste digital corto como encima;
  • Después de la configuración, presione el botón más de cinco segundos para guardar y salir automáticamente, el alcance del umbral de potencia activa establecido para el 0.0 ~ 22.0kW

Una ventaja de este panel es que no necesita  fuente  de alimentación externa al llevarla integrada  en esta , lo  que significa en la practica  que únicamente habrá que alimentarla con 220 V c.a. , pero como vamos a ver , a la larga también  es si talón de aquiles porque básicamente la alimentación se hace con un filtro RC con un  condensador serie de 1mf 250V.

Si  tiene  ya  montado este instrumento   y empieza    apagarse o dar lecturas  en primer lugar debe saber que el control de luz de fondo se puede ajustarse presionando brevemente el botón para encender o apagar la luz de fondo,de modo que quedara almacenado  el estado de retroiluminación de almacenamiento automático.

Si falla dando lecturas extrañas ,puede proceder a hacer un  reseteo de las lecturas:

  • Pulse el botón de encendido durante 5 segundos hasta que la pantalla digital parpadee, luego suelte el botón;
  • Si  pulsar el botón, los datos de consumo se borran y se borran para dejar de parpadear;
  • Si pulsa el botón durante 5 segundos hasta que no parpadee, los datos de carga no se borran y la salida se borra.

Si   a  pesar de los pasos  anteriores  el panel  fluctua deberemos revisar el filtro RC de alimentación  al circuito para los cual  :

  • Cortamos la alimentación general ( normalmente desde el mangenetotermico de entrada de la red)
  • Desmonamos la tapa del ict  
  • Quitamos   la alimentación del  panel  directamente  de 220V , eso si , !con mucho cuidado de   asegurarnos  donde van los hilos para  no equivocarnos  al restituirlos (no confundir  donde  se conectan los hilos del  toroide!  (en la foto de bajo se ve claramente los bornes de alimentación  donde serian los dos inferiores)                                                                          
  • Mantenemos  los cables del  circuito  a medir  por el interior del toroide y simplemente desconectamos los dos cables de salida del toroide 
  • Volvemos  a tener el panel   aislado  . Ahora  quitaremos la tapa posterior  y los 4 tornillos que fijan la placa a la caja

  • Ahora  si fluctúa  la lectura del panel  probablemente el condensador  de tamaño considerable  de la entrada se haya estropeado , por lo que deberíamos probar a cambiarlo por uno nuevo ( el de este modelo es de un 1 microFaradio 250V)                                                                             
  • Volveremos a colocar la placa  sobre la caja con los 4 tornillos , según el tipo de condensador que pongamos ( como en la foto ) quizás no podamos poner la tapa de la caja 
  • Ahora antes de colocarlo en la caja original del ICT  deberíamos probarlo conectándolo solo con un cable de alimentación de ca  ( cuidado  nuevamente con las conexiones)                            
  • Si aun persiste la fluctuación    debemos revisar   también la resistencia bobinada de potencia que hay al lado del condensador de alimentación
  • Una vez  funcione , lo  volveremos  a  colocar en la tapa del ict, pondremos las conexiones  eléctricas  teniendo  especial  cuidado  con no confundirlos los hilos del toroide  con los de alimentación
  • Restituimos el suministro de ca
  • Ajustaremos los parámetros de luz

Conviene recordar que por seguridad cuando trabaje en cuadros de baja tensión siempre trabaje cortando la alimentación general y asegúrese después con un polímetro o un busca-polos que efectivamente no hay tensión c.a.

Obviamente si no se tiene experiencia en cableados de baja tensión o no esta seguro de la instalación , le  recomendamos encarecidamente  que este tipo de trabajos lo realice un instalador  o un electricista pues  manejar por error tensiones de ca puede ser peligroso  .

Anuncios

Nueva vida para un panel LCD


Por desgracia es habitual que tanto en los ordenadores portátiles como los ordenadores del tipo de todo en uno ( he incluso otros dispositivos) , se  termine estropeando la placa madre, el  procesador   o una combinación de ambos,dejando sin uso la pantalla interna simplemente porque va integrada en dicho equipo. 

Si nos centramos en los ordenadores, la placa base y el procesador son dos de los componentes de hardware más importantes dentro de un PC  (sea del  tipo ) ,dado que las diferentes partes  de hardware  que hay dentro de un  PC se comunican entre sí a través de los circuitos de la placa base.

Lamentablemente ,tanto la placa base como la CPU  de ordenadores portátiles como los ordenadores del tipo de todo en uno  pueden ser muy caros de reemplazar, por lo que llegado a este punto   dado los  altos costes de reparación  que en la mayoría de los caso supera  a un ordenador nuevo , lo normal es que se termine  desechando  el equipo completo aprovechando,  en el mejor de los casos ,los módulos de memoria  o el disco y desechando desgraciadamente el resto ¿pero y si pudiésemos reutilizar mas partes? 

 

 

Averías en la placa madre

El diagnóstico de una placa base o CPU defectuosa no es una ciencia exacta, ya que ambos componentes de hardware presentan síntomas similares cuando fallan. En la actualidad es muy raro que un procesador falle, pues este componente implementa multitud de medidas de seguridad para evitar problemas, aunque no es imposible que se haya estropeado, por  lo que  lo más seguro es que el fallo se deba a la placa base, aunque no se puede dar nada por seguro sin hacer antes las correspondientes comprobaciones.

La placa base incluye multitud de elementos electrónicos, muchos de ellos  extremadamente sensibles al calor o a una subida repentina de la tensión eléctrica, por lo que es uno de los componentes que se estropean más a menudo.

Para diagnosticar una posible avería  de la placa base o el procesador puede seguir una serie de pasos muy sencillos:

  • En  primer lugar apagar el ordenador y desconectar el cable de alimentación.
  • Vuelva a conectar el cable de alimentación  en otra toma de ca  que sepa que hay suministro eléctrico (por ejemplo  probando el enchufe  con  una lámpara)  y luego intente encenderlo
  • Si no arranca,  intente escuchar al altavoz interno para intentar dlilucidar la secuencia de pitidos que la placa base produce cuando el sistema detecta un problema con un componente de hardware crítico.
  • Consulte en otro ordenador según el modelo de placa base   la documentación oficial  del fabricante para averiguar segun esa  secuencia qué dispositivo es responsable del código de sonido,
  • Si tiene una pulsera anti-estática colóquesela, de lo contrario toque una superficie metálica desnuda, como el chasis del ordenador para descargar cualquier posible energía estática, la cual podría dañar sus componentes.
  • En caso de que no  haya vídeo ni señal de audio  ,lo ideal seria desmontar las parte extraibles como el   disco , memorias , etc  para comprobar  si hay al menos señal de video o se producen señales de audio: si al volver a colocar el hardware en cuestión vuelve a  perderse el video  es posible que deba reemplazar ese componente.
  • Si el problema persiste desconecte el cable de alimentación y todos los componentes periféricos conectados retire todo el hardware del PC, excepto la placa base, la CPU, la fuente de alimentación y siga estos pasos:
    • En primer lugar revise el chip de video aflojando para ello y quitando los soportes que sujetan el disipador de calor y el ventilador de la GPU a la placa base.Gire el disipador de calor hacia adelante y hacia atrás para debilitar el sello que lo une a la parte superior del procesador.Extraiga el disipador de calor: si está demasiado caliente para tocar por más de un par de segundos, la GPU podría sobrecalentarse con el uso prolongado.La actualización de la pasta térmica     y la limpieza profunda del  disipador de calor mejorará la refrigeración y puede  detener los apagones repentinos del sistema.
    • Si no mejora el funcionamiento , toca probar testear la refrigeración de la  CPU. Libere la palanca que asegura la CPU a la placa base. Levante la CPU de la placa base y verifique que la superficie del componente no esté doblada o rota, lo que indicaria que se debe reemplazar.Igualmente que con la GPU , la actualización de la pasta térmica     y la limpieza profunda del  disipador de calor mejorará la refrigeración  y podría resolver el problema. Para volver a colocar el procesador en su lugar, alinee con cuidado  el triángulo situado en el borde del procesador con el triángulo en la ranura del procesador para colocarlo de nuevo. Coloque la CPU en su zócalo y luego presione hacia abajo la barra para bloquear el componente en su lugar.
  • Vuelva a conectar el cable de alimentación y presione el botón de encendido. Verifique la luz indicadora de encendido y escuche si gira el ventilador del sistema. Si la luz indicadora permanece apagada y el ventilador del sistema no se enciende, es posible que la fuente de alimentación esté defectuosa .En caso de tanto los ordenadores  portátiles  y los All In One esta fuente suele ser externa    y de una única tensión DC , por lo que revise con con polímetro  si esta  esta sacando la tensión  de trabajo que indica en la rotulación de la  misma placa ( suele rondar entre los 13 y los 25V DC). Obviamente si no hay tensión reemplace la fuente de alimentación
  • Si con todas la medidas  anteriores el ordenador se niega a encender, la placa base puede tener la culpa  por lo que debería revisar en  la placa base  verificando que no haya chips dañados, condensadores dañados, rastros quemados o grietas o fracturas).

 

En el caso de ordenadores  portátiles   y ordenadores ALL in  ONE  ,si la placa base ha sufrido daños físicos, lamentablemente  debería ser reemplazada por una  exactamente del mismo modelo, lo  cual  normalmente suele suponer de un coste muy elevado,  que no suele  ser  compensar , pues ademas  muchos resellers  suelen ofrecer placas de segunda mano  que  por supuesto no ofrecen una garantía total como en el caso de una placa nueva  .

 

Reusar  un panel de LCD

Si decide  no arreglar su ordenador por un coste excesivo  , ademas de aprovechar memorias, unidad dvd, discos y fuente   , hay un componente que no se suele caer  : la pantalla integrada  pues casi siempre suelen llevar  una conexión LVDS con la placa  madre , lo cual no es un conexión estardar que podemos usar para otros  fines

Vamos  a ver como este tipo de pantallas integradas  en ordenadores  portátiles   y ordenadores ALL in  ONE ,las cuales por cierto suelen ser de muy buena calidad . a pesar de tener conexiones  LVDS  puede conectarse  a  otras fuentes con un adaptador  y de este modo darle una segunda vida  a la pantalla de su viejo ordenador

 

En primer ligar separaremos  la pantalla del resto del cuerpo del ordenador  portatil o all in one ( en el ejemplo es una panatalla de 17″ procedente de un ordenador portatil Acer).

 

Ahora tendremos que quitar el marco frontal qeu cubre el panel  lcd, para lo cual suelen usarse embellecedores   que ocultan los tornillos   o bien directamente van a presión . En el caso de no lleva tornillos  no olvide que  existen herramientas de plástico para no dañar las partes , aunque si no tenemos mucho interés en el marco con una navaja con cuidado puede obtener el mismo resultado

Ahora toca    desmontar   las conexiones internas  como son las dos antenas de la placa wifi o las conexiones de  la web cam  .

Como se ve en la imagen ,en algunos casos como el del ejemplo todos los cables va integrados en un cable especial  que tendremos que desechar porque  es cable propietario  y  NO nos servira  para conectarlo a un adaptador LVDS con salida standard

Para  nuestro proyecto tampoco  nos servirá el panel de plástico posterior pues así aligeramos el tamaño del conjunto .

Por ultimo , tan solo  nos  queda eliminar también el inversor  para alimentar la retro-iluminación del panel lcd  pues  es muy complejo  alimentar con CFFL el que lleva incluido `pues usa varias señales de control que no puede manejar   nuestra nueva placa de control .

Observe por  cierto que entonces nos quedaría unicamente  tan solo dos cablecillos que salen del propio  panel , los cuales también tendremos que conectar al  adaptador.

 

Finalmente ya podemos desconectar el conector LVDS de la forma de cable que en principio vamos a  desechar

 

Bien ya tenemos el panel LCD  , donde como habrá apreciado   usa únicamente dos conexiones: el LVDS  y la retroiluminación,  así que tendremos que adquirir un adaptador LVDS para el panel que tengamos ( en este caso  un panel de LG del tipo  LP 171WP4

Aqui hagamos una nota importante: nos debemos asegurar que el adapartador LVDS que compremos  es  compatible con  nuestro panel  , pues  no todos los paneles  usan los mismas conexiones ni tampoco la misma alimentación para el CFFL

Este modelo  es compatible  con el panel  mostrado LP171WP4:   njytouch M. NT68676.2 A HDMI DVI VGA Audio LCD Controlador Junta para LP171 W01 lp171 W01-a4 K1 lp171 W02-a4 1440 x 900   incluyendo  ademas  el inversor para el panel

Este adaptador pues  pues puede convertir un simple Panel LCD en una pantalla de trabajo gracias asu conexiones  HDMI, DVI, VGA Audio  admitiendo resolución 1440 x 900,con cable de 6bit Este  controlador  es exclusivo para  estas variantes del panel :

  • lp171 W01
  • lp171 W01-a4 K1
  • lp171 W02-a4

No nos debemos olvidar por cierto de la alimentación  pues necesitaremos usar un adaptador de alimentación de 12 V 4 A para alimentar todo el conjunto

 

Para  usar este adaptador seguiremos los siguientes pasos :

  1. Conectamos el panel de la placa de pulsadores ( sirve para ajustes)   a la placa principal del conversor
  2. Conectar un cable desde el conversor  al inversor CFFL ( es la placa pequeña)
  3. Conectar a la salida del CFFL el cable de retro-limuminacion del panel ( usa un mini-conector de dos pines)
  4. Conectar la salida del conversor con un cable LVDS a la entrada LVDS del panel LCD ( donde iba conectada  la forma de cable(
  5. Alimentar con 12v  al menos 3Amp el conjunto
  6. Conecte a una entrada  una señal de video
  7. DISFRUTE DE SU PANEL REUSADO

 

 

Diferencias en un RAC Oracle activo-activo a un stand-alone


Uno de los grandes problemas a la hora de implementar soluciones activo‐activo se encuentra en la capa de base de datos, ya que la pérdida de la cabina de discos supone la caída total delservicio.

Ademas  en algunos casos se superan los 15 minutos de tiempo máximo de parada  por lo que es importante estudiar  que soluciones pueden permitir la estabilidad de una BBDD Oracle en el menor tiempo posible

En principio  existe para  ello   tres soluciones:

  • Réplica síncrona basada en cabina(disk array mirroring). Se trata de una solción sencilla de implementar y que no requiere licencias adicionales al mantener  la base de datos de respaldo inactiva. Por el contrario, supone una infrautilización de recursos y un tiempo deparada medio‐alto en caso de contingencia. Además, si la contingencia es brusca, sólo se conservarán aquellos datos que estén consolidados en disco y podrían perderse transacciones.

 

  •  Oracle Datagard. Este producto de Oracle requiere tener una infraestructura de base de datos paralela a la de producción,si bien puede ser inferior en recursos.En este caso,cada transacción de la BBDD se va replicando automáticamente mediante el software de Oracle en la base de datos de datagard.En caso de contingencia,esta segunda BBDD podría actuar como base de datosprincipal,si bien requiere al igual que en el caso anterior una serie de procedimientos
 manuales para su puesta en producción.La ventaja frente a la anterior es que,al ser el mismo software de Oracle el que gestiona la réplica, la pérdida de datos no consolidados en caso de contingencia se ve muy disminuida. En contra, sí  requiere licencia adicional y supone, como en el caso anterior, una infrautilización de recursos, si bien es cierto que las últimas versiones de Datagard permiten tener la
 base de datos de respaldo levantada en modo de solo lectura.

 

  • RAC extendido con tecnología Oracle RAC   11g.  En este sistema  cada uno de los nodos tiene visibilidad de los dispositivos de almacenamiento que le presentan las dos cabinas. Para evitar el punto de fallo,los nodos tiene tarjetas de fibra redundadas y en ambas cabinas por dos caminos diferentes.

Existe una capa de software,Oracle ASM (Automatic Storage Management),que gestiona el almacenamiento de forma que todos nodos vean los discos que les presentan las cabinas como un único pool de almacenamiento. Los nodos se comunican entre sí mediante una red privada (red de interconnect) a Giga. A través de esta red intercambian información de lo que esta  haciendo cada nodo y realizan una fusión de caches (todos los nodos comparten la caché), que es lo que permite que la ca¡da de uno de ellos sea transparente para la sesión del usuario. Todas la interfaces de red, tanto las del interconnect como las de la red de servicio deben estar redundadas (mediante bonding en Linux, IPMP en Solaris,etc.)para evitar que constituyan un punto de fallo.

Otra capa de software por debajo de ASM, Oracle Clusterware, gestiona todos los recursos del cluster, mantiene al nodo dentro del grupo y proporciona a ASM los recursos necesarios para su funcionamiento.

Toda la información de estado del cluster se ubica en un dispositivo denominado voting disk.Para evitar que este constituya un punto de fallo, Oracle recomienda mantener tres voting disk, uno en cada cabina y un tercero en un servidor ubicado en otro CPD al que accedan los nodos mediante NFS.

Este tipo de cluster extendido muy usado en la actualidad , presenta las siguientes hitos:

  • En una configuración activo-activo pura hay aprovechamiento de todos los recursos disponibles.
  • Es completamente tolerante a fallos gracias a la redundancia de todos sus elementos.
  • Alta disponibilidad total: 24 x 7 garantizado.
  • Fácilmente escalable con posibilidad de a¤adir nuevos nodos en caliente.

 

Desde el punto de vista del desarrollador  en una BBDD en RAC activo -activo   necesitaremos  tener en el  tnsanames.ora dos entradas ( o tantas como instancias como haya)  en el que  se alternaran en cada entradas tantos campos  ADDRESS como instancias también haya   ( cada  una con ip’s y  puertos diferentes  )  y ADEMAS  alternos en cada  entrada  pero compartiendo el mismo SERVICE_NAME(SSID)

Por ejemplo    si tenemos dos instancias  , tendríamos en el tnsanames.ora las dos siguientes entradas

INSTANCIA1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS=(PROTOCOL=TCP)(HOST=maquina1)(PORT=50150))
(ADDRESS=(PROTOCOL=TCP)(HOST=maquina2)(PORT=50046))
)
(CONNECT_DATA =
(SERVICE_NAME = SSID)
(FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC))
)
)

INSTANCIA2 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS=(PROTOCOL=TCP)(HOST=maquina2)(PORT=50046))
(ADDRESS=(PROTOCOL=TCP)(HOST=maquina1)(PORT=50150))
)
(CONNECT_DATA =
(SERVICE_NAME = SSID)
(FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC))
)
)

 

 

 

SOLUCION STANDALONE

Frente   a la soluciones activo-activo comentadas   Oracle también propone una solución standalone  llamada Oracle Grid Infrastructure para un servidor independiente  también conocido como Oracle Restart, proporcionado soporte del sistema para una base de datos Oracle de instancia única.  Este sistema  incluye administración de volumen, sistema de archivos y capacidades de reinicio automático.

Oracle Restart mejora la disponibilidad de una BBDD Oracle al proporcionar lo siguiente:

  • Cuando hay una fallo de hardware o software, Oracle Restart inicia automáticamente todos los componentes de Oracle, incluida la instancia de la base de datos de Oracle, el servicio de escucha de Net de Oracle, los servicios de base de datos y el ASM de Oracle.
  • Oracle Restart inicia los componentes en el orden correcto cuando se reinicia el host de la base de datos.
  • Oracle Restart ejecuta verificaciones periódicas para monitorear el estado de los componentes de Oracle. Si una operación de verificación falla para un componente, entonces el componente se apaga y se reinicia.

En caso de  que se necesite  usar Oracle Automatic Storage Management (Oracle ASM), se  debera instalar tambien  Oracle Restart antes de instalar la BBDD.

Oracle combinó dos productos de infraestructura (Oracle Grid Infrastructure para un servidor independiente que  incluye Oracle Restart y Oracle Automatic Storage Management.) en un único conjunto de binarios que se instalan desde la  página de inicio de Oracle Restart.

Respecto a Oracle Automatic Storage Management es un administrador de volúmenes y un sistema de archivos para archivos de base de datos Oracle que admite configuraciones de Oracle Database y Oracle Real Application Clusters (Oracle RAC) de instancia única.  También admite un sistema de archivos de propósito general para las necesidades de su aplicación, incluidos los binarios de Oracle Database.

En resumen Oracle Automatic Storage Management es la solución de administración de almacenamiento recomendada de Oracle que ofrece una alternativa a los administradores de volumen convencionales, sistemas de archivos y dispositivos sin formato.

Presenta incompatibilidades

  • No puede instalar Oracle Restart en un nodo miembro de clúster de Oracle Grid Infrastructure, ni agregar un servidor de Oracle Restart a un nodo miembro de clúster de Oracle Grid Infrastructure.
  • Oracle Restart admite bases de datos de instancia única en un servidor, mientras que Oracle Grid Infrastructure para un clúster admite bases de datos de instancia única o Oracle RAC en un clúster.
  • Si desea usar Oracle ASM o Oracle Restart, debe instalar Oracle Grid Infrastructure para un servidor independiente antes de instalar y crear la base de datos. De lo contrario, debe registrar manualmente la base de datos con Oracle Restart. Oracle Restart se utiliza en entornos de instancia única (no agrupados).

 

Desde el punto de vista del desarrollador  en una BBDD en RAC stanalone   necesitaremos  tener en el  tnsanames.ora una única entrada   pues toda la gestion se abastrae  tanto a lso servidores de aplicaciones como al propio desarrolalador

 

 

 

Reconocimiento de colores con Pixy


En efecto, si no tenemos demasiado tiempo  para experimentar con algoritmos de reconocimiento de imágenes con opencv o similares ,por ejemplo para integrar  la visión artificial en un robot que siga una linea, hay un producto llamado   Pixy2    que puede hacer todo eso y mas. Además, esta segunda version,  es más rápida, más pequeña y más potente que el Pixy original, agregando algoritmos de seguimiento / seguimiento de línea, así como otras características  (de  hecho la velocidad de procesamiento  en tiempo real   se ha mejorado en 60 fotogramas por segundo)

Como  puede  suponer  Pixy2  incorpora una cámara  y  una fuente de luz , y con todo  este hw puede detectar líneas, intersecciones y pequeños códigos de barras, diseñados para robots que siguen líneas.

Precisamente  por la utilidad de integrarlo en pequeños robots ,se han agregado algoritmos de seguimiento a la detección de objetos basada en color. Ademas tampoco descuidan su conexión con otras placas pues proporcionan bibliotecas mejoradas y simplificadas para Arduino, Raspberry Pi.

Veamos a continuación   mas detalles sobre esta interesante  placa

 

Hablamos de una placa  bastante pequeña(de unos 8x7cm) ,  tanto que incluso se puede conectar varios Pixy2 a un microcontrolador pues  Pixy2 es más pequeño, más rápido y más potente que el Pixy original. 

Este sistema de visión inteligente plug-and-play para Arduino-compatibles, Raspberry Pi u otros microcontroladores / sistemas de computadora.

 Al igual que su predecesor, Pixy2 puede aprender a detectar objetos que le enseñe, simplemente presionando un botón. Además, Pixy2  implementa nuevos algoritmos que detectan y rastrean las líneas para su uso con robots de seguimiento de línea (  incluso con  los nuevos algoritmos también pueden detectar intersecciones y “señales de tráfico”.)

 

Aunque la nueva cámara puede funcionar hasta 60 fps, se  ejecuta aproximadamente la mitad de esa velocidad y existen múltiples opciones para el ajuste fino del reconocimiento de objetos, todo  ello  para  mejorar la precisión   el reconocimiento de imágenes   ya que la cámara no esta diseñada para la grabación de imágenes pero si  pasará el centro X, Y, y el ancho, la altura de un objeto, y lo hace muy bien.

La nueva version  Pixy2  lleva  modo de seguimiento de línea y fuente de luz LED integrada simplificando  su programación recibiendo solo los objetos que le interesan.

Se puede utilizar el controlador que desee pues incluye bibliotecas de software para Arduino, Raspberry Pi y BeagleBone Black.

Si lo conectamos a  un pc, podemos instalar la utilidad de configuración (se ejecuta en Windows, MacOS y Linux) asi como el sw  Pixy2 CMUCam5, un sensor de imagen para su microcontrolador que puede enseñarle qué buscar.También es una gran mejora con respecto a las versiones anteriores de Pixy CMUCam, que agrega una mayor flexibilidad cuando se trata de cambios de iluminación y exposición. También puede recordar siete firmas de colores diferentes, encuentre cientos de objetos en a visión del robot es fácil: presione el botón para enseñarle a Pixy2 un objeto

Por ello el   Pixy2   es un sensor de imagen con un potente procesador que puede programar para enviar solo la información que está buscando para que su microcontrolador no se vea abrumado por los datos  ya que Pixy2 exporta su información en una variedad de formas útiles (UART serie, SPI, I2C, salida digital o salida analógica) para que su microcontrolador o microcomputadora pueda comunicarse fácilmente mientras realiza otras tareas.

Las coordenadas  enviadas  desde   Pixy2  pueden decirle a su robot qué hacer, como girar a la izquierda, girar a la derecha, disminuir la velocidad, etc. Y Pixy2 hace todo esto a 60 cuadros por segundo, para que su robot también pueda ser rápido. Pixy2 utiliza el tono y la saturación como su principal medio de detección de imágenes, en lugar del RGB normal. Esto significa que la iluminación o la exposición no afectarán la detección de Pixy2 de un elemento, lo cual es un problema frustrante con muchos sensores de imagen. .

 

 

Vamos  a ver un ejemplo publicado en instructables.com  de un interesante  robot seguidor que implementa  esta tecnologia  creado  por chaabani houssem 

Necesitaremos  al menos los  siguientes componentes:

  • 1 Arduino mega (o en su defecto un Arduno uno o Arduino nano … )
  • Pixy2  
  • 2 motores  paso  a paso
  • 2 ruedas y sus engranajes 
  • Un l293d
  • Una batería de  9v  (o   cualquiera que pueda reciclar 

 

Podemos  enseñar cualquier objeto a pixy a través de este enlace:

http: //cmucam.org/projects/cmucam5/wiki/Teach_Pixy …

Para controlar  los dos motores usaremos un famoso controlador , el CI   l293d

Este circuito integrado     de 16 pines ofrece los siguintes carasterciticas: 

  • Capacidad del canal: 600 mA de corriente de salida / canal.
  • Sistema de activación.
  • Pico de salida de corriente: 1,2 A / canal (no repetitivo).
  • Protección contra sobretemperatura.
  • Entrada lógica “0” a 1,5 V (alta inmunidad al ruido).

Picture of Build the Robot

Conectemos  los pines del L293D   a un  Arduino   de la siguiente manera :

  • Pin  1 al pin Arduino 2.
  • Pin 2 al pin 3 de Arduino.
  • Entrada 3 al pin 4 de Arduino.
  • Entrada 4 al pin Aduino 5.

Con estas conexiones ya  se puede probar el robot como verificar el avance, probar el giro a la izquierda o  el giro a la derecha y la parada.

Si todo va  bien ahora ya puede agregar pixy, pero para que  funcione el robot  antes tendrá que  programar Arduino  para  que  en función de la  salida de  Pixy2   de las  ordenes oportunas a los motores

Como  ejemplo de código  vamos a ver  una demostracion de como podemos  controlar lso dos motores usando  unicamente la informacion apoportada por Pixy2  

 

//definición de  puertos  que se usaran

int mg2 = 4;

int mg1 = 5;

int md1 = 3;

int md2 = 2;

int enag= 6;

//librerias  externas

#include <Wire.h>

#include <Pixy.h>

//llamada a las primitivas de Pixy

Pixy pixy;




//definición de puertos 

void setup()
{
pinMode(enag, OUTPUT);

pinMode(md1, OUTPUT);

pinMode(md2, OUTPUT);

pinMode(mg1, OUTPUT);

pinMode(mg2, OUTPUT);

//sacamos  por consola de Arduino mensajes de depuración

Serial.begin(9600);

Serial.print("Arrancando...\n");

pixy.init();

}







//comienzo del programa  principal

void loop()
{

static int i = 0;

int j;

uint16_t blocks;

char buf[32];


blocks = pixy.getBlocks();

if (blocks)

{
i++;

// Hacer esto cada 50 cuadros porque si se  supero colapsaria Arduino


if (i%50==0)

{
sprintf(buf, "Detected %d:\n", blocks);
Serial.print(buf);


//bucle for que recorre todos lox bloques enviados por Pixy
for (j=0;  j<blocks;    j++) 

{

sprintf(buf, " block %d: ", j);

Serial.print(buf);  //sacamos las salida por consola

pixy.blocks[j].print();

}


}

if((pixy.blocks[0].x>120)&&(pixy.blocks[0].x<190))
{
go();  //avanzar
}

if((pixy.blocks[0].x<120) && (pixy.blocks[0].x>10))
{

gauche();//girar a derecha

}

if(pixy.blocks[0].x>190)
{

droite();} //girar  a izda
}

else
{

o9if();//hacia atras

}
}






//giro a la derecha
void droite()
{
analogWrite(enag,210);
analogWrite(mg1,0);
analogWrite(mg2,0);
analogWrite(md1,255);
analogWrite(md2,0);
delay(30);
}




//giro a al izda

void gauche()
{
analogWrite(enag,210);
analogWrite(mg1,255);
analogWrite(mg2,0);
analogWrite(md1,0);
analogWrite(md2,0);
delay(30);
}




//hacia atras
void o9if()

{
analogWrite(mg1,0);
analogWrite(mg2,0);
analogWrite(md2,0);
analogWrite(md1,0);
delay(30);
}

//avanzar

void go ()
{
analogWrite(enag,210);
analogWrite(mg1,255);
analogWrite(mg2,0);

analogWrite(md1,255);
analogWrite(md2,0);
delay(30);
}

 

Y   ahora en un vídeo podemos ver el robot   funcionando:

 

En general,   Pixy2   es un excelente sistemas de visión inteligente introductorio  pues  podemos dar seguimiento de objetos a un  robot de manera mucho más fácil que usar un pc de una sola placa con OpenCV (más requisitos de menor potencia) pues se conecta fácilmente a un Arduino Nano o Uno (entre otros sistemas)  gracias  a los ejemplos de código que proporcionan que  ayudan a ponerlo en marcha rápidamente .Ademas es  muy fácil configurarlo utilizando las instrucciones en su sitio web pues hay ejemplos integrados en su software.

 

Ingeniería inversa con java


Si alguna vez  ha tenido un proyecto java compilado en forma de fichero .class  o .jar   y necesita conocer como esta construido el código para  hacer ingeniería inversa o simplemente para investigar su  funcionamiento,  la herramienta que vamos a ver, lo hace de maravilla ! y además es gratuita!, veamos en detalle en que consiste.

En  efecto el “proyecto Java Decompiler” tiene como objetivo desarrollar herramientas para descompilar y analizar el “código de bytes” de Java 5 y las versiones posteriores siendo  JD-GUI la utilidad gráfica independiente que muestra los códigos fuente de Java de los archivos “.class”.

Con esta herramienta puede explorar el código fuente reconstruido con la GUI de JD para obtener acceso instantáneo a los métodos y campos Incluso puede integrarse  con el IDE de Eclipse  gracias a  JD-Eclipse, que  es un complemento para la plataforma Eclipse.

La herramienta le permite mostrar todas las fuentes Java durante su proceso de depuración, incluso si no las tiene todas. JD-Core es una biblioteca que reconstruye el código fuente de Java de uno o más archivos “.class”. JD-Core se puede usar para recuperar el código fuente perdido y explorar la fuente de las bibliotecas de tiempo de ejecución de Java.

Se admiten las nuevas características de Java 5, como anotaciones, genéricos o tipo “enum”. JD-GUI y JD-Eclipse incluyen la biblioteca JD-Core. JD-Core, JD-GUI y JD-Eclipse son proyectos de código abierto publicados bajo la licencia GPLv3.

Veamos un poco algo sobre la historia de esta  interesante  herramienta:

  • En 2011, Alex Kosinsky inició una variante de JD-Eclipse que admite la alineación del código descompilado por los números de línea de los originales, que a menudo se incluyen en el Bytecode original como información de depuración.
  • En 2012, una rama de JDEclipse-Realign de Martin “Mchr3k” Robertson  extendió la funcionalidad mediante el control de descompilación manual y el soporte para Eclipse 4.2 (Juno).
  • Y llegamos a la actualidad    D (Java Decompiler) ,  es un decompilador para el lenguaje de programación Java.Se proporciona como una herramienta GUI, así como en forma de complementos para los entornos de desarrollo integrado Eclipse (JD-Eclipse) e IntelliJ IDEA (JD-IntelliJ).Es compatible con la mayoría de las versiones de Java desde 1.1.8 hasta 1.7.0, así como JRockit 90_150, Jikes 1.2.2, Eclipse Java Compiler y Apache Harmony y, por lo tanto, a menudo se utiliza donde anteriormente se operaba el popular JAD

Java decompiler

Instalación

Se puede descargar directamente desde  su pagina de Github

La versión ultima   disponibles  es la 1.5.2

Esta versión incluye los siguientes cambios:

  • Actualizando JD-Core a 1.0.3
  • Adición de soporte de archivos AAR (archivo de Android)
  • Adición de soporte de archivos JMOD (módulo Java 9)

Este   es el enlace para descargar el  jd-gui-windows-1.5.2.zip   que es la versión  que   funciona sobre windows.

Descomprimimos el  ficherpo zip ( https://github.com/java-decompiler/jd-gui/releases/download/v1.5.2/jd-gui-windows-1.5.2.zip)

Finamente lanzaremos la aplicación  jd-gui.exe

JD-GUI es una utilidad gráfica independiente que muestra los códigos fuente de Java de los archivos “.class”  y también  “.jar”  . Puede explorar el código fuente reconstruido con la GUI de JD para obtener acceso instantáneo a los métodos y campos.

Existe JD-Eclipse es un complemento para la plataforma Eclipse. Le permite mostrar todas las fuentes Java durante su proceso de depuración, incluso si no las tiene todas.

JD-GUI es una utilidad gráfica independiente que muestra los códigos fuente de Java de los archivos “.class”. Puede explorar el código fuente reconstruido con la GUI de JD para obtener acceso instantáneo a los métodos y campos.

Mas  información en su sitio  http://java-decompiler.github.io/