Entradas

Proyecto Rotae - Velocímetro y distancia recorrida mostrado en un TFT, sensor Hall y Arduino (Parte 1)

Imagen
En proyecto nos marcamos como objetivo crear un velocímetro con diferentes funciones. Queremos que sea capaz de medir la velocidad, registrar un espacio.
  En esta primera parte nos vamos a centrar sobretodo en el funcionamiento del sensor del efecto hall y en mostrarlo por la pantalla.
  En la segunda parte añadiremos varias funciones como, un cronometro y para e iniciar la cuenta de distancia, GPS, etc.
IntroducciónMaterialesFuncionamiento sistema de lectura de velocidadPantalla TFTCódigo completo
INTRODUCCIÓN

 La idea es muy sencilla, el sensor de efecto hall detecta el giro completo de una de las ruedas, contando el tiempo de vuelta y lo que recorre la rueda tenemos la velocidad.
  Esta velocidad es mostrada al usuario en la pantallaTFT, además en esta pantalla vamos a mostrar la distancia recorrida.

Programando microcontrolador ARM: 6 - Estructura física GPIO y conectar LED para el blink (stm32f103c8)

Imagen
Esta vez vamos a ver que posibilidades nos dan los pines GPIO y vamos a ver como conectar el LED de los tutoriales anteriores.
Empezando por el principio, vamos a estudiar como están construidos internamente los pines GPIO, centrándonos en el output. Una salida nos proporciona tres diferentes modos: Push-pullOpen-drainDesconectado

Programando microcontrolador ARM: 5 - Blink por referencia a registros (stm32f103c8)

Imagen
En este tutorial vamos a ver como podemos escribir los registros ayudándonos de la biblioteca del microcontrolador que nos ofrece el fabricante.

Además vamos a organizar un poco el código añadiendo funciones.

Registros por referencia.

Cómo ya vimos para escribir en los registros podemos pasar un numero hexadecimal que en su formato binario equivale a los bits del registro.

Por ejemplo cuando escribíamos lo siguiente. //Reset en el pin 13. Pone el pin a 0.
GPIOC -> BSRR |= 0x20000000;

Programando microcontrolador ARM: 4 - Primer programa, blink con registros de memoria (stm32f103c8)

Imagen
Este primer ejercicio consiste en aprender y practicar el comportamiento mas básico que podemos obtener en nuestro ARM. Y es el punto de partida para posteriormente ampliar nuestros conocimientos sobre la programación de un microcontrolador ARM y así poder hacer cosas más complejas.

A través de los registros de memoria encenderemos y apagaremos un LED. Para ello usaremos los pines digitales que disponemos en nuestro microcontrolador.

¿Qué son los registros de memoria?
Todos los microcontroladores tienen una porción de memoria reservada exclusivamente para el funcionamiento del microcontrolador. Estas porciones de memoria se denominan registros.
El microcontrolador observará el estado y la información de esas cedas de memoria para funcionar de un modo u otro. El fabricante a través de los documentos que nos facilita nos indica todos los registros que tenemos disponibles, ademas de como escribir en ellos y como usarlos. Necesitamos tener esta información debido a que no todos los microcontr…

Programando microcontrolador ARM: 3 - Configurar primer proyecto CooCox CoIDE (stm32f103c8)

Imagen
Como ya vimos en el post anterior vamos a usar CoIDE para programar nuestro ARM. Es un entorno de trabajo muy intuitivo y tiene lo minimo necesario que necesitamos. 
Crear un proyecto nuevo en CooCox CoIDE es muy sencillo.
Podemos crear un proyecto nuevo desde la ventana de bienvenida o desde Proyect-> New Project, de ambos modos llegamos al miso sitio.

Debemos seleccionar el modelo de nuestro microcontrolador, en mi caso, el STM32F103C8. Podemos buscar directamente el modelo o navegar por las categorías y encontrar nuestro modelo.

Programando microcontrolador ARM: 2 - Configurar entorno de programación, CooCox IDE (stm32f103c8)

Imagen
El entorno de programación
Como ya dije en la entrada anterior vamos a usar CooCox CoIDE, que es un IDE recomendado por ST y que nos permite programar multitud de microcontroladores, no solo ARM y de cualquier fabricante.
Por supuesto, lo primero que tenemos que hacer es descargarnos e instalar el entorno. No necesitamos hacer ninguna instalación alternativa a la normal.
Una vez instalado podemos empezar a usarlo, la primera vez que lo abrimos encontramos una ventana como esta, la ventana de bienvenida. 


Antes de empezar con nuestros primer código, vamos a configurar alguna opciones.

Programando microcontrolador ARM: 1 - Introducción (stm32f103c8)

Imagen
Esta serie de tutoriales está enfocado a comprender por completo el funcionamiento de los microcontroladores basados en la arquitectura ARMy por tanto poder programarlos.
Yo me hice con este microcontrolador para programarlo a través de Arduino, existen bibliotecas que permiten programarlo como si programaremos un Arduino aunque dependiendo del modelo de microcontrolador puede que no tengas acceso a todas las funcionalidades, además de que estas sujeto a esas extensas bibliotecas que hacen de puente y puedes encontrarte errores que te impidan continuar usándolo.
¿Qué vamos a necesitar para nuestros tutoriales?

El microcontrolador ARM

En mi caso voy a usar un stm32f103c8 (Blue Pill), que puedes encontrar muy barato, yo lo encontré por 1,5 dólares en paginas como eBay o Aliexpress.
Pero podríamos usar cualquierARM ya que pese a que dependiendo del modelo del microcontrolador puede programarse de manera diferente.

En esta serie de tutoriales vamos a aprender a entender el manual que nos propor…