Artículos
Librería para display ST7735 para cualquier micro
- Detalles
- Categoría: Artículo
- Publicado el Lunes, 06 Julio 2020 05:28
- Escrito por Super User
- Visto: 6703
Contaba con una pantallita ST7735 que estaba acumulando polvo junto con otros circuitos. Decidí echarla a andar con el microcontrolador S32K144 de NXP que recibí como regalo de Digikey (tarjeta de evaluación). Este artículo te da el código fuente para echar a andar una ST7735 en cualquier micro que corra lenguaje C y tenga un periférico SPI. Claro, también puedes echarla a andar con bit bang pero eso correrá por tu cuenta.
Los archivos fuente de la librería se encuentran en Github:
https://github.com/migsantiago/s32k1_st7735
La pantalla debe conectarse como sigue:
* LITE - PTD15
* MOSI - PTB4
* SCK - PTB2
* TFT-CS - PTB3
* DC - PTB5
* RESET - 10kOhm - PTB0
* VDD - 5V
* GND - GND
Pero eso está hecho en un archivo llamado tft_st7735_callbacks.c para un S32K144 de NXP. Tú eres libre de usar cualquier microcontrolador para la pantalla. Sólo basta con que redefinas las siguientes funciones para tu hardware en específico:
void TFT_ST7735_Configure_SPI(void)
void TFT_ST7735_Delay(unsigned int ms)
void TFT_ST7735_Set_Chip_Select(TFT_ST7735_CS_T status)
void TFT_ST7735_Set_Data_Command(TFT_ST7735_Data_Command_T request)
void TFT_ST7735_Set_Reset(TFT_ST7735_Reset_T status)
void TFT_ST7735_Write_SPI(unsigned char *data, uint32_t size)
La librería fue adaptada de una librería escrita en C++ para Arduino:
Bodmer / TFT_ST7735
https://github.com/Bodmer/TFT_ST7735
C++ es flexible y abre muchas ventanas de programación en micros, pero no es amigable con su uso de memoria. Es por ello que decidí convertirla a C plano y tener la posibilidad de usarla en más ambientes.
Aquí la librería dibujando un arcoíris para probarla...
Aquí calculando una Transformada Rápida de Fourier (FFT) y ploteando los resultados...
https://www.youtube.com/watch?v=JLK37iNjeX0
El micrófono utilizado es un electret. Podrás recrear el circuito para ajustar la ganancia y filtro anti-alias desde este link:
http://www.migsantiago.com/index.php/articulos-sp-776750948/18-amplificador-para-microfono-electret
La librería está casi lista para usar... me faltó ver por qué una fuentes grandes de texto no funcionan bien; se imprimen con errores. Si gustas corregirlas por favor sube tus cambios a Github y les haré pull cuando los revise.
Gracias por tu visita.