Entradas

Stellaris LaunchPad y Energia: Encender/Apagar un LED vía bluetooth y aplicación hecha en APP Inventor

Imagen
Saludos!! En esta ocasión vamos a comunicar nuestra Stellaris con una aplicación del teléfono para encender/apagar un LED, puedes revisar a nuestro post donde se creo la aplicación. Para la comunicación usaremos un modulo bluetooth chino (SG133-SZ), pero ustedes pueden usar el HC-05,  HC-06, RN-41 o RN-42 sin problemas (probablemente en otro post use este ultimo, que también tengo),  lo importante es conectar TX y RX del bluetooth al RX y TX de la Stellaris respectivamente y asegurarse de trabajar a la misma velocidad (en este caso a 9600 baudios), debo decir que no he modificado nada del modulo, he usado sus valores que trae de fabrica, si necesitan cambiar algún dato a su modulo ya les tocara investigar como hacerlo, probablemente mas adelante explique como modificar los parámetros a este modulo bueno si es que llego a necesitarlo, por el momento así esta bien.

El circuito usado es el siguiente:
El código es el siguiente:
El vídeo en acción es el siguiente:
Aquí el enlace para DESC…

APP Inventor: Encender/Apagar un LED vía bluetooth

Imagen
¡Saludos! Hoy tocara mostrar un primer ejemplo de una aplicación realizada en APP Inventor, es importante decir que solo mostrare la parte de la aplicación, lo del receptor mejor dicho el circuito de aplicación lo veremos mas adelante en otro post. Lo primero que se debe hacer es tener una cuenta en la pagina en linea MIT App Iventor para ello acceder con su cuenta de gmail (por lo menos así lo he hecho yo).

Lo que sigue es crear un nuevo proyecto, como se muestra a continuación: Una vez hecho click, y de haber asignado un nombre los llevara a la parte donde se diseñara la APP, llamada Designer:
La herramienta es muy intuitiva y creo yo fácil de aprender a manejar (ademas hay mucho de ejemplo en la red), como utilizaremos el bluetooth lo que debemos hacer es ir a Connectivity, elegir BluetoothClient y arrastrarlo a la pantalla donde se va a utilizar (de hecho esto de hace para casi todo lo que deseamos agregar a nuestra APP).
Al momento de soltarlo se nota que se agrega hasta la part…

Stellaris LaunchPad y Energia: Uso de dos puertos serie

Imagen
En este post vamos aprenderemos a utilizar dos puertos serie de nuestra stellaris, anteriormente ya habíamos establecido una comunicación serial (ver información), en este caso lo que haremos sera conectar el modulo FT232 (ver información) al puerto serial numero dos de nuestra LaunchPad, recordar que la stellaris trabaja a 3.3V así que el jumper del modulo del FT232 debe de estar en la posición para trabajar a este voltaje, así que solo necesitaremos hacer la conexión como se muestra a continuación.
El código es el siguiente: Utilizaremos el monitor de energia para enviar y recibir datos por el puerto serial numero uno (en mi caso es el COM13 donde esta conectado la LaunchPad), para el serial numero dos usaremos el monitor serial de arduino (en mi caso el COM20 donde esta conectado el modulo FT232), el resultado en los monitores es el siguiente:
Aquí el enlace para DESCARGAR los archivos disponibles desde mi repositorio en GitHub, si no sabes como descargarlo puedes checar aquí, bue…

MPLAB X y XC32: PWM test

Imagen
Como ya había mencionado me vi en la necesidad de manejar un PIC32 y para ello anduve realizando algunas pruebas, en esta ocasión les muestro un ejemplo básico sobre el uso del modulo de PWM, se trata simplemente de un contador en la rutina principal, que actualiza el duty cycle de la señal, esta tiene una frecuencia aproximada de 62KHz.
Aun sigo aprendiendo sobre esto, así que en esta ocasión no les he dejado el código, mas adelante veremos si realizamos algunos ejemplos para mostrar detalladamente.

Bueno por el momento es todo si tienes dudas, comentarios, sugerencias, inquietudes, traumas, etc. dejarlas y tratare lo mas pronto posible responderlas...

MPLAB X y XC8: Librería para pantalla LCD 16x2

Imagen
Saludos!! Siguiendo con los ejemplos en XC8, ahora vamos a tocar el tema de las pantallas LCD, específicamente una de 16x2 (pero la librería también soporta 16x4), debo aclarar que no soy el autor de dicha librería, solo hago uso de ella y muestro con un ejemplo como se utiliza, puedes encontrar la versión original en el siguiente enlace.

El circuito usado es el siguiente, un PIC18F25K22 y la LCD16x2 conectada el puerto B, un botón de reset y sus debidas resistencias (no es necesario puedes conectar solo una resistencia de 10K de MCLR a VCC):
El código de ejemplo es el siguiente (al final de la publicación están todos los archivos para descarga):
Aquí un vídeo del circuito en acción:
Pues de momento todo trabaja bien, habría que hacer mas pruebas con otros microcontroladores, o incluso ver si se pueden usar puertos combinados, etc. Lo que si note es que cuando intente usar un FOSC=64MHz me botaba unos errores sobre unos retardos en lcd.c, así que opte por usar 16MHz.

Aquí el enlace p…

MPLAB X y XC32: Interrupt test

Imagen
Saludos!! Recientemente he estado haciendo un par de pruebas con un PIC32 utilizando el MPLAB X y XC32, una de las primeras cosas que hice fue activar las interrupciones. El ejemplo es sencillo, simplemente consta en desbordar el TMR1 a 1mS y atender este desbordamiento con una interrupción, luego hacer un conteo y actualizar el estado de un LED cada segundo, el LED esta conectado al pin C2 de nuestro microcontrolador, la interrupción se configura con un nivel de prioridad 1.

El código del test es el siguiente:
Aquí el vídeo del PIC en acción: Como era de mis primeros ejemplos tenia ciertos problemas, aquí el enlace al foro de microcip para que vean las sugerencias hechas. Bueno por el momento es todo si tienes dudas, comentarios, sugerencias, inquietudes, traumas, etc. dejarlas y tratare lo mas pronto posible responderlas...

MPLAB X y C18: Comunicación serie (UART)

Imagen
Saludos!! El objetivo de este ejemplo usar la UART de nuestro microcontrolador (específicamente del PIC18F4620) y comunicarlo con nuestra PC para interactuar con el monitor serial X-CTU (pueden descargar la version que yo uso desde aquí, por cierto yo lo ocupo con Windows7 sin problemas), si lo prefieren pueden usar otro como el Hiperterminal, Putty o incluso el monitor serial de Arduino, como en mi PC no tengo un puerto serial voy a utilizar el FT232 para hacer el puente entre el uC y un puerto USB (usare un circuito mostrado anteriormente en el blog, aquí el enlace), también pueden usar otro modulo o circuito que tengan.

La configuración del X-CTU usado para este ejemplo es el siguiente:
El circuito usado es bastante sencillo, se trata de tres LEDs conectado al puerto E de un PIC18F4620, los pines TX y RX se conectan al modulo FT232 (recordar que se invierten los pines para tener una comunicación exitosa), continuación el circuito usado:
El código que hace posible esto es el siguie…

Nuevo juguete!!! Módulos nRF24L01+

Imagen
Saludos!! Les comento que hace un par de días me han llegado mis módulos de RF, según las características con alcance de hasta 1Km al aire libre, ya estaré haciendo las pruebas para ver que tal funcionan, por el momento cera hora de buscar algo de información y ver si encuentro algunas librerias para poder darles vida, lo tengo pensado conectar a un par de PIC18F y programar en XC8 pero ya veremos que pasa mas adelante.
Esto es todo por el momento, nos leemos en otra publicación y espero mas adelante contarles como me fue ya en pruebas de comunicación...

Kit de osciloscopio digital DSO138

Imagen
Saludos!! Les comento que a finales del diciembre (del 2016 claro esta) me llego este pequeño kit que compre por aliexpress con un costo de aproximadamente 21 dolares, creo que es una buena herramienta, a buen precio y pues es portable para traerlo de un lado a otro en tu caja de herramientas, el DSO138 usa un ARM Cortex-M3 y tiene una pantalla de 2.4 pulgadas.

Algunas especificaciones:Maximum Real-time Sampling Rate: 1MspsAccuracy: 12BitSampling Buffer Depth: 1024 bytesAnalog Bandwidth: 0-200KHzVertical Sensitivity: 10mV / Div - 5V / Div (1-2-5 progressive manner)Input Impedance: 1MΩMaximum Input Voltage: 50Vpp (1: 1 probe), 400Vpp (10: 1 probe)Coupling Modes: DC / AC / GNDThe Horizontal Time Base Range: 10μs / Div - 50s / Div (1-2-5 progressive manner)Supply Voltage: DC 9V El kit lo compre sin soldar, así que tuve que soldarlo y fue una experiencia entretenida por así decirlo, un par de horas sentado con el cautín y la soldadura, pero al final el resultado fue lo esperado. Dejare u…

Probando PIC18F25K22 + PWM + LEDs RGB

Imagen
Saludos!! Hace unos días andaba realizando unas pruebas de PWM con el PIC18F25K22 en XC8 para el control de unos LEDs RGB.
Aquí un vídeo del test, cabe mencionar que no todos los LEDs brillan con la misma intensidad debido a que sus debidas resistencias están calculadas para 5V pero estoy haciendo la prueba con 3.3V, son LEDs RGB con el cátodo común así que he agregado unos transistores (considero que lo ideal es usar algunos MOSFETs, ya probare mas adelante) en el ánodo para controlarlos con el PWM proveniente del uC, los ánodos los controlo con un ULN2803, en cuanto al firmware es simplemente una rutina donde se genera el PWM con un Timer y una interrupcion, en el main realizamos un contador para ir incrementando y luego decrementando una variable, que es la encargada de actualizar el Duty Cycle de nuestra señal, esto para los tres colores, como se aprecia en el vídeo estoy ocupando tres LEDs pero solo un colo de ellos a la vez. Mas adelante estaré haciendo otras pruebas, por el mo…