Placa de desarrollo de sistema mínimo STM32F103C8T6
Información del producto
El módulo de placa de desarrollo de sistema mínimo STM32F103C8T6 ARM STM32 es una placa de desarrollo basada en el microcontrolador STM32F103C8T6. Está diseñado para programarse utilizando Arduino IDE y es compatible con varios clones, variaciones y placas de terceros de Arduino como ESP32 y ESP8266.
La placa, también conocida como Blue Pill Board, opera a una frecuencia aproximadamente 4.5 veces mayor que la de un Arduino UNO. Se puede utilizar para diversos proyectos y se puede conectar a periféricos como pantallas TFT.
Los componentes necesarios para construir proyectos con esta placa incluyen la placa STM32, el programador FTDI, la pantalla TFT a color, el botón pulsador, la placa de pruebas pequeña, los cables, el banco de energía (opcional para el modo independiente) y el convertidor de USB a serie.
Esquemático
Para conectar la placa STM32F1 a la pantalla TFT en color basada en 1.8 ST7735 y a un botón, siga las conexiones pin a pin descritas en los esquemas proporcionados.
Configurando el IDE de Arduino para STM32
- Abra el IDE de Arduino.
- Vaya a Herramientas -> Tablero -> Administrador de tablero.
- En el cuadro de diálogo con una barra de búsqueda, busque "STM32F1" e instale el paquete correspondiente.
- Espere a que se complete el procedimiento de instalación.
- Después de la instalación, la placa STM32 ahora debería estar disponible para su selección en la lista de placas Arduino IDE.
Programación de placas STM32 con el IDE de Arduino
Desde sus inicios, el IDE de Arduino ha demostrado el deseo de admitir todo tipo de plataformas, desde clones de Arduino y variaciones de diferentes fabricantes hasta placas de terceros como ESP32 y ESp8266. A medida que más personas se familiarizan con el IDE, comienzan a admitir más placas que no están basadas en chips ATMEL y en el tutorial de hoy veremos una de esas placas. Examinaremos cómo programar la placa de desarrollo STM32F32C103T8 basada en STM6 con el IDE de Arduino.
La placa STM32 que se utilizará en este tutorial no es otra que la placa de desarrollo STM32F103 basada en chip STM8F6C32T1, comúnmente conocida como "píldora azul" en línea con el color azul de su PCB. Blue Pill funciona con el potente procesador ARM STM32F32C103T8 de 6 bits, con una frecuencia de 72 MHz. La placa funciona con niveles lógicos de 3.3 V, pero se ha probado que sus pines GPIO son tolerantes a 5 V. Si bien no viene con WiFi o Bluetooth como las variantes ESP32 y Arduino, ofrece 20 KB de RAM y 64 KB de memoria flash, lo que lo hace adecuado para proyectos grandes. También posee 37 pines GPIO, 10 de los cuales se pueden usar para sensores analógicos ya que tienen ADC habilitado, junto con otros que están habilitados para SPI, I2C, CAN, UART y DMA. Para una placa que cuesta alrededor de $3, estarás de acuerdo conmigo en que estas son especificaciones impresionantes. En la siguiente imagen se muestra una versión resumida de estas especificaciones en comparación con la de un Arduino Uno.
Según las especificaciones anteriores, la frecuencia a la que opera Blue Pill es aproximadamente 4.5 veces mayor que la de un Arduino UNO, para el tutorial de hoy, como exampPara saber cómo usar la placa STM32F1, la conectaremos a una pantalla TFT de 1.44 ″ y la programaremos para calcular la constante “Pi”. Observaremos cuánto tiempo le tomó a la placa obtener el valor y lo compararemos con el tiempo que le toma a un Arduino Uno realizar la misma tarea.
Componentes necesarios
Se requieren los siguientes componentes para construir este proyecto;
- Tablero STM32
- Programador FTDI
- TFT en color
- Botón pulsador
- Placa de pruebas pequeña
- Cables
- Banco de energía
- Convertidor USB a serial
Como es habitual, todos los componentes utilizados para este tutorial se pueden comprar en los enlaces adjuntos. Sin embargo, el banco de energía sólo es necesario si desea implementar el proyecto de forma independiente.
Esquemático
- Como se mencionó anteriormente, conectaremos la placa STM32F1 a la pantalla TFT en color basada en ST1.8 de 7735 ″ junto con un botón.
- El botón se utilizará para indicarle a la placa que inicie el cálculo.
- Conecte los componentes como se muestra en el siguiente esquema.
Para que las conexiones sean fáciles de replicar, a continuación se describen las conexiones pin a pin entre el STM32 y la pantalla.
STM32 – ST7735
Revise las conexiones una vez más para asegurarse de que todo esté como debería, ya que tiende a ser un poco complicado. Hecho esto, procedimos a configurar la placa STM32 para programarla con el IDE de Arduino.
Configurando el IDE de Arduino para STM32
- Como ocurre con la mayoría de las placas que no son fabricadas por Arduino, es necesario realizar un poco de configuración antes de que la placa pueda usarse con el IDE de Arduino.
- Esto implica instalar la placa. file ya sea a través de Arduino Board Manager o descargándolo de Internet y copiando el files en la carpeta de hardware.
- La ruta Board Manager es la menos tediosa y dado que la STM32F1 se encuentra entre las placas enumeradas, seguiremos esa ruta. Comience agregando el enlace de la placa STM32 a las listas de preferencias de Arduino.
- Ir a File -> Preferencias, luego ingresa esto URL ( http://dan.drown.org/stm32duino/package_STM32duino_index.json ) en el cuadro como se indica a continuación y haga clic en Aceptar.
- Now go to Tools -> Board -> Board Manager, it will open a dialogue box with a search bar. Buscar STM32F1 and install the corresponding package.
- El procedimiento de instalación tardará unos segundos. Después de eso, la placa ahora debería estar disponible para su selección en la lista de placas Arduino IDE.
Código
- El código se escribirá de la misma manera que escribiríamos cualquier otro boceto para un proyecto Arduino, con la única diferencia en la forma en que se hace referencia a los pines.
- Para poder desarrollar fácilmente el código para este proyecto, usaremos dos bibliotecas que son modificaciones de las bibliotecas estándar de Arduino para hacerlas compatibles con STM32.
- Usaremos la versión modificada de las bibliotecas Adafruit GFX y Adafruit ST7735.
- Ambas bibliotecas se pueden descargar a través de los enlaces adjuntos. Como de costumbre, haré un breve desglose del código.
- Comenzamos el código importando las dos bibliotecas que usaremos.
- A continuación, definimos los pines del STM32 a los que están conectados los pines CS, RST y DC de la pantalla LCD.
- A continuación, creamos algunas definiciones de colores para que sea más fácil usar los colores por sus nombres en el código más adelante en lugar de por sus valores hexadecimales.
- A continuación, configuramos el número de iteraciones que queremos que realice el tablero junto con la duración de la actualización para que se utilice la barra de progreso.
- Una vez hecho esto, creamos un objeto de la biblioteca ST7735 que se utilizará para hacer referencia a la pantalla durante todo el proyecto.
- También indicamos el pin del STM32 al que está conectado el pulsador y creamos una variable para mantener su estado.
- Una vez hecho esto, pasamos a la función void setup().
- Comenzamos configurando el pinMode() del pin al que está conectado el pulsador, activando una resistencia pull-up interna en el pin ya que el pulsador se conecta a tierra cuando se presiona.
- A continuación, inicializamos la comunicación en serie y la pantalla, configurando el fondo de la pantalla en negro y llamando a la función print () para mostrar la interfaz.
- La siguiente es la función void loop(). La función de bucle vacío es bastante simple y corta, gracias al uso de bibliotecas/funciones.
- Empezamos leyendo el estado del pulsador. Si se ha presionado el botón, eliminamos el mensaje actual en la pantalla usando removePressKeyText() y dibujamos la barra de progreso cambiante usando la función drawBar().
- Luego llamamos a la función de inicio de cálculo para obtener y mostrar el valor de Pi junto con el tiempo que tomó calcularlo.
- Si no se presiona el botón, el dispositivo permanece en modo inactivo y la pantalla exige que se presione una tecla para interactuar con él.
- Finalmente, se inserta un retraso al final del bucle para dar un poco de tiempo antes de esbozar los “bucles”.
- La parte restante del código son las funciones llamadas para realizar las tareas, desde dibujar la barra hasta calcular el Pi.
- La mayoría de estas funciones se han cubierto en varios otros tutoriales que implican el uso de la pantalla ST7735.
- El código completo del proyecto está disponible a continuación y se adjunta en la sección de descargas.
Cargando código al STM32
- Cargar bocetos al STM32f1 es un poco complejo en comparación con las placas estándar compatibles con Arduino. Para cargar código en la placa, necesitamos un convertidor de USB a serie basado en FTDI.
- Conecte el convertidor de USB a serie al STM32 como se muestra en los esquemas a continuación.
Aquí hay un mapa de conexión pin a pin.
FTDI – STM32
- Una vez hecho esto, cambiamos la posición del puente de estado de la placa a la posición uno (como se muestra en el gif a continuación), para poner la placa en modo de programación.
- Presione el botón de reinicio en el tablero una vez después de esto y estaremos listos para cargar el código.
- En la computadora, asegúrese de seleccionar "Placa genérica STM32F103C" y seleccione el número de serie para el método de carga, después de lo cual podrá presionar el botón de carga.
- Una vez que se complete la carga, cambie el puente de estado a la posición "Oh" Esto pondrá la placa en modo "ejecutar" y ahora debería comenzar a ejecutarse según el código cargado.
- En este punto, puedes desconectar el FTDI y alimentar la placa a través de su USB. En caso de que el código no se ejecute después de encender, asegúrese de haber restablecido el puente correctamente y recicle la energía a la placa.
Manifestación
- Con el código completo, siga el proceso de carga descrito anteriormente para cargar el código en su configuración.
- Debería ver aparecer la pantalla como se muestra en la imagen a continuación.
- Presione el botón para iniciar el cálculo. Deberías ver la barra de progreso deslizarse gradualmente hasta el final.
- Al final del proceso, se muestra el valor de Pi junto con el tiempo que tomó el cálculo.
- El mismo código se implementa en un Arduino Uno. El resultado se muestra en la imagen de abajo.
- Comparando estos dos valores, vemos que la “Píldora Azul” es 7 veces más rápida que el Arduino Uno.
- Esto lo hace ideal para proyectos que implican un procesamiento intenso y limitaciones de tiempo.
- El pequeño tamaño de la píldora azul también sirve como ventaja.tagEstamos aquí porque es sólo un poco más grande que el Arduino Nano y puede usarse en lugares donde el Nano no será lo suficientemente rápido.
Documentos / Recursos
![]() |
Placa de desarrollo de sistema mínimo STM32 STM32F103C8T6 [pdf] Manual del usuario Placa de desarrollo de sistema mínimo STM32F103C8T6, STM32F103C8T6, Placa de desarrollo de sistema mínimo, Placa de desarrollo de sistema, Placa de desarrollo, Placa |