Feliz año nuevo!!!

Saludos gente escribo esta publicación con el fin de agradecer a todos los seguidores de Electrónica&Robótica, este  ha sido un año de cambios y de muchas cosas buenas para el blog, iniciando por el cambio a blogspot y las secciones mas organizadas para poder acceder a la información que se publica, así como de una mejor vista del blog (bueno ami me gusta espero igual a ustedes).

Numato Lab - Give Away 2015

Saludos cordiales a todos lo lectores!!! Les comparto una noticia de la que recientemente me entere.

Para celebrar el fin de año y la llegada del 2015 la gente de Numato Lab han iniciado una campaña (como la que realizaron el año pasado) para premiar a las personas que les ayuden a divulgar su pagina web y el trabajo que realizan. 

Cualquier persona que desee participar en la campaña solo debe de compartir la siguiente publicación de Facebook, darle Retweet al siguiente tweet o incluso hacer alguna publicación es sus blogs como la que estoy haciendo yo (aunque como dicen ellos le tienes que avisar dejando un comentario en su publicación si es que no compartiste en Facebook o Twitter).

MSP430 LaunchPad y Energia: Realizando primeras pruebas, traumas y demás

Saludos!!! En esta ocasión quería relatar antes de finalizar el año lo que me sucedió hace unos meses cuando decidí desempolvar mi LauchPad, por pura curiosidad decidí hacer algunos ejemplos usando Energia el IDE de TI para esta tarjeta, lo primero que uno se da cuenta es que es el mismo que el de Arduino e incluso trae los mismo ejemplos y librerias, recordemos que mi tarjeta trae el MSP430G2231, probé los ejemplos básicos; el blinking con un LED, encender el LED con un botón, variar la intensidad del LED con un potenciometro y  mostrar un mensaje en el LCD bueno todo esto lo compile y grabe sin problemas y funcionaba y todo ok. 

Pero al se me ocurrió hacer una practica mas, la cual consistía en mostrar el valor leído en el ADC (tenia un potenciometro) en una LCD16x2 el código usado fue el siguiente:
 Pero gran sorpresa cuando el IDE me mostraba el siguiente error:

Kit de brazo mecánico con control alámbrico

Saludos seguidores!!! En esta ocasión me tomare un momento para platicar sobre un robot que adquirí hace ya tiempo pero por ciertos motivos lo tengo abandonado y es el kit de brazo mecánico con control alámbrico que se consigue en Steren aquí en México .

Bueno tenia tiempo  que lo había visto y tenia la inquietud de adquirirlo no se por que razón y por que motivo pero decidí hacerlo, debo decir un poco caro para lo que trae, pero así es este gusto siempre se necesita de dinero para comprar o desarrollar las cosas que se desean.

Para iniciar, es bastante entretenido  estar montando pieza a pieza y estar atornillando y todo ese rollo que por cierto si te lleva unos cuantos minutos u horas jejejeje depende de la emoción que le pongas, disculpen que no tenga fotos del paso a paso del ensamble pero no tenia mi cámara en esos momentos así que solo tengo algunas fotos finales.

En cuanto a la estructura pues esta hecho de plástico de color negro y amarillo, por otra parte usa motores de DC con su propia caja de engranajes no muy resistentes para forzarlos mucho pero para la aplicaciones en donde se usan es adecuada, así lo considero, en cuento al control pues no es la gran cosa ya que solo son interruptores que abren o cierran dependiendo del motor que deseas activar.

Para alguien con curiosidad como yo pues aplica comprarlo ensamblarlo y ponerle pilas para que funcione, pero debo decir que no deseo dejarlo así, pienso que con algunas modificaciones puede que se le saque un poco mas de provecho a la estructura.

Estas son algunas modificaciones que se me ocurren:
  • Agregarle alguna etapa con microcontroladores para hacer un control o una rutina de movimiento.
  • Agregarle algún accesorio en la parte de los motores para que sea un tipo encoder, tener una retroalimentacion y así tener mas control sobre estos motores,  he visto en otros sitios que le agregan unos potenciometros, leen ese valor por el ADC y lo aprovechan para controlarlo.
  • Hacerle la parte de potencia para el control de los motores, considero que algún puente H comercial soportaría estos motores, en todo caso una medición con el amperimetro bastaría para saber el consumo y así elegir el adecuado.
  • Agregar una etapa inalámbrica ya sean módulos de RF o Bluetooth, tengo ambos pero obtaría por el segundo ya que así se podría hacer una aplicación para manipularlo con el celular o con la computadora directamente con el bluetooth, de lo contrario si es RF pues hacer algún circuito para comunicar con la PC ya sea de forma serial (Claro esta con un circuito USB-serial como el FT232 que ya lo he utilizado antes) o directamente con el USB (CDC o HID).
  • Buscar alguna forma de alimentación con baterías recargables o algún eliminador todo depende de donde se desee utilizar.
Bueno por el momento no se me ocurre mas, aquí les dejo unas fotos del robot:

MPLAB X y C18: Interrupciones

El uso de las interrupciones al momento de programar microcontroladores es un recurso de gran utilidad, ya que una interrupción causa que el PIC responda a cierto evento inesperado ya sea externo o interno, cuando una interrupción se activa el micro detiene la ejecución del programa en curso y da un salto de programa para llegar al vector de interrupción (ISR) ejecutando el bloque de código que allí se encuentre, cuando ejecuto todo regresa al lugar de donde realizo el salto y continuar con la ejecución normal del programa.

La gama PIC18 tienen múltiples fuentes de interrupción, además de la característica de prioridad de interrupción, que permite a cada fuente de interrupción asignarle un nivel de prioridad ya sea alta o baja. Cuando ocurre un evento de alta prioridad interrumpirá cualquier interrupción de baja prioridad que pueda estar en progreso. El vector de alta prioridad está en la dirección 0x0008 y el vector de baja prioridad está en la dirección 0x0018.

En general las interrupciones manejan tres tipos de bits para su control:
  • Flag bit: Indica si un evento de interrupción ha ocurrido.
  • Enable bit: Habilita el salto al vector de interrupción cuando ocurre un evento.
  • Priority bit: Selecciona entre prioridad alta y baja.
Para el manejo de interrupciones existen 10 registros que son los siguientes:
  • RCON
  • INTCON, INTCON2, INTCON3
  • PIR1, PIR2
  • PIE1, PIE2
  • IPR1, IPR2
La característica de prioridad de interrupciones se activa seteando el bit IPEN del registro RCON. Si este no esta seteado, no existen prioridades y las interrupciones se comportan como en los dispositivos de la gama media (PIC16).