Lectura de archivo en tarjeta MicroSD y escritura pantalla de placa esp32-s3




Presentación


Este proyecto empiezo a utilizar la libreria que estoy construyendo con las distintas funciones que permite esta placa por lo que resulta un programa muy simple donde se llama a las funciones de la libreria .

El mismo consiste en acceder a la tarjeta MicroSD, leer un archivo que contiene la misma y escribir ese contenido en la pantalla de la placa



Materiales


Placa Esp32-S3 con display


Montaje del proyecto en la placa Esp32-S3


Para utilizar la placa Esp32-S3 con MicroPython es necesario flashear primero la misma con el firmware correspondiente. En el caso de este proyecto se utilizo el provisto por la pagina de ESP32 GENERIC S3

Una vez instalado el firmware en la placa utilizando la utilidad que viene provista por el IDE Thonny, o por aquella que ustedes utilicen ademas del firmware quedara grabado en la placa un archivo boot.py que debe ser borrado y en su reemplazo copiar los archivos que se incluyen en el codigo desarrollado a continuacion.


Consideraciones previas


Para este proyecto ademas de la libreria libSincEsp32S3.py fue necesario usar las siguientes librerias:

ST7735.py

sysfont.py

sdcard.py

Para la versión asincronica en lugar de la libreria libSincEsp32S3.py se usa la libreria libAsinEsp32S3.py y agregarse la librería:

asyncio


Código


El codigo se ha escrito en dos archivos boot.py, main.py.

El archivo boot.py solamente contiene la ruta para las librerias /lib/ ya que para un mejor ordenamiento en esa carpeta se colocaron las librerias.

El archivos main.py contiene la parte principal del programa, que consta simplemente de dos funciones una de la clase Tarjeta que lee el contenido del archivo y otra de la clase Pantalla que escribe ese contenido en la pantalla.

El archivo texto.txt cuyo contenido es el que será leido y mostrado en la pantalla debe estar ubicado en la tarjeta MicroSD.

Una vez copiado todos los archivos se debería ver la siguiente estructura de carpetas y archivos:.


boot.pypara ambas versiones




        import sys
        sys.path.append("/lib")
      
    

main.py para versión sincronica




    
        from libEsp32S3 import Tarjeta, Pantalla

        pantalla = Pantalla()
        tarjeta = Tarjeta()

        archivo = "texto.txt"
        pantalla.escribir(tarjeta.leer(archivo))

        
    

main.py para versión asincronica



    
        
            import uasyncio as asyncio
            from libasin import Tarjeta, Pantalla
            
            
            async def main():
                pantalla = Pantalla()
                tarjeta = Tarjeta()
            
                archivo = "texto.txt"
                await pantalla.escribir(await tarjeta.leer(archivo))
            
            asyncio.run(main())
               
            
        

texto.txt para ambas versiones




      
        Este es el contenido del archivo texto.txt

    


Cerrar