from machine import Pin, I2C
import ssd1306
from time import sleep
#Creazione dell'oggetto i2c
i2c = I2C(0)
#Inizializzazione del display
display = ssd1306.SSD1306_I2C(128, 64, i2c)
#Visualizzazione di diverse porzioni di testo sul display in diverse posizioni
display.fill(0) #fill(0) consente di effettuare un 'clear' del display scrivendo tutti i pixel a 0 (nero)
display.text('Dispositivi e ', 0, 0, 1)
display.text('Sensori ', 0, 10, 1)
display.text('Biomedicali', 0, 20, 1)
display.text('Studente: ', 0, 40, 1)
display.text('Nome Cognome', 0, 50, 1)
display.show()
#Funzione per lo scrolling del testo
def scroll_text (text, y, col):
text=' '+text+' ' # Aggiunta di uno spazio all'inizio e alla fine del testo (non obbligatorio)
for i in range(0,len(text)*8-display.width):
#ciclo per scorrere pixel per pixel tutti i punti del testo (ogni font è largo 8 pixel)
display.fill_rect(0, y, display.width, 8, 0) # ad ogni iterazione cancella quanto scritto precedentemente
# disegnando un rettangolo largo quanto il display e alto 8 pixel
display.text(text, -i, y, 1) #si sposta di 1 pixel alla volta
display.show()
sleep(0.01)
sleep(5)
display.fill(0)
display.text('Studente: ', 0, 40, 1)
display.text('Nome Cognome', 0, 50, 1)
while True:
scroll_text('Dispositivi e Sensori Biomedicali', 10, 1)