Page 1 of 1

horloge et matrice 15x7 charlieWing de feather

Posted: Tue 8 Sep 2020 08:34
by IHOXOHI
Bonjour,

Il me semble avoir vu un "tuto" sur l'affichage d'une hrologe sur la matrice 15x7 CharlieWing de feather.
Mais je ne retrouve plus le sujet...

J'ai rapidement essayé de me pencher sur l'écriture d'un script à cette fin, mais cela va me prendre du temps et j'avoue être partisan du moindre effort...

Merci.

Re: horloge et matrice 15x7 charlieWing de feather

Posted: Fri 11 Sep 2020 20:02
by IHOXOHI
Yip,

Le temps est passé, ...

Voici mon humble script, surement lourd pour rien et mal écrit... mais il fonctionne.

Je ne parviens pas a joindre le fichier. (.py non accepté?)
Je l'ai renommé en .jpg...

sinon voici le code de 160 lignes:

Code: Select all

from machine import I2C
import is31fl3731 as is31f
import time

i2c1 = I2C(scl='X9', sda='X10', freq=100000)
display = is31f.CharlieWing(i2c1)

#chiffre 0 sur la deuxieme place
def Chiffre_0(a):
        display.pixel(5+a,1,5)
        display.pixel(4+a,2,5)
        display.pixel(6+a,2,5)
        display.pixel(4+a,3,5)
        display.pixel(6+a,3,5)
        display.pixel(4+a,4,5)
        display.pixel(6+a,4,5)
        display.pixel(5+a,5,5)
#chiffre 1 sur la deuxieme place
def Chiffre_1(a):
        display.pixel(5+a,1,5)
        display.pixel(4+a,2,5)
        display.pixel(5+a,2,5)
        display.pixel(5+a,3,5)
        display.pixel(5+a,4,5)
        display.pixel(5+a,5,5)
def Chiffre_2(a):
        display.pixel(5+a,1,5)
        display.pixel(4+a,2,5)
        display.pixel(6+a,2,5)
        display.pixel(5+a,3,5)
        display.pixel(4+a,4,5)
        display.pixel(4+a,5,5)
        display.pixel(5+a,5,5)
        display.pixel(6+a,5,5)
def Chiffre_3(a):
        display.pixel(4+a,1,5)
        display.pixel(5+a,1,5)
        display.pixel(6+a,2,5)
        display.pixel(5+a,3,5)
        display.pixel(6+a,4,5)
        display.pixel(5+a,5,5)
        display.pixel(4+a,5,5)
def Chiffre_4(a):
        display.pixel(4+a,1,5)
        display.pixel(4+a,2,5)
        display.pixel(4+a,3,5)
        display.pixel(6+a,3,5)
        display.pixel(4+a,4,5)
        display.pixel(5+a,4,5)
        display.pixel(6+a,4,5)
        display.pixel(6+a,5,5)
def Chiffre_5(a):
        display.pixel(4+a,1,5)
        display.pixel(5+a,1,5)
        display.pixel(6+a,1,5)
        display.pixel(4+a,2,5)
        display.pixel(4+a,3,5)
        display.pixel(5+a,3,5)
        display.pixel(6+a,4,5)
        display.pixel(5+a,5,5)
        display.pixel(4+a,5,5)
def Chiffre_6(a):
        display.pixel(6+a,1,5)
        display.pixel(5+a,2,5)
        display.pixel(4+a,3,5)
        display.pixel(5+a,3,5)
        display.pixel(4+a,4,5)
        display.pixel(6+a,4,5)
        display.pixel(5+a,5,5)
def Chiffre_7(a):
        display.pixel(4+a,1,5)
        display.pixel(5+a,1,5)
        display.pixel(5+a,2,5)
        display.pixel(5+a,3,5)
        display.pixel(4+a,3,5)
        display.pixel(6+a,3,5)
        display.pixel(5+a,4,5)
        display.pixel(5+a,5,5)
def Chiffre_8(a):
        display.pixel(5+a,1,5)
        display.pixel(4+a,2,5)
        display.pixel(6+a,2,5)
        display.pixel(5+a,3,5)
        display.pixel(4+a,4,5)
        display.pixel(6+a,4,5)
        display.pixel(5+a,5,5)
def Chiffre_9(a):
        display.pixel(5+a,1,5)
        display.pixel(4+a,2,5)
        display.pixel(6+a,2,5)
        display.pixel(5+a,3,5)
        display.pixel(6+a,3,5)
        display.pixel(6+a,4,5)
        display.pixel(5+a,5,5)
        display.pixel(4+a,5,5)

global b
b = 2
def point(b):
    if b % 2 == 0:
        display.pixel(7,6,5)

global phrase1, phrase2, phrase3, phrase4
phrase1, phrase2, phrase3, phrase4 = "", "", "", ""

while True:

    heure = time.localtime()

    ###break down time
    heure1 = str(heure[3])
    heure11 = int(heure1[0])
    try:
        heure12 = int(heure1[1])
    except:
        heure11 = 0
        heure12 = int(heure1[0])
    heure2 = str(heure[4])
    heure21 = int(heure2[0])
    try:
        heure22 = int(heure2[1])
    except:
        heure21 = 0
        heure22 = int(heure2[0])
    ###link time to display commands
    for x in range(3):
        if heure11 == x:
            global phrase1
            phrase1 = "Chiffre_" + str(x) + "(" + str(-4) + ")"
    for x in range(10):
        if heure12 == x:
            global phrase2
            phrase2 = "Chiffre_" + str(x) + "(" + str(0) + ")"
    for x in range(6):
        if heure21 == x:
            global phrase3
            phrase3 = "Chiffre_" + str(x) + "(" + str(4) + ")"
    for x in range(10):
        if heure22 == x:
            global phrase4
            phrase4 = "Chiffre_" + str(x) + "(" + str(8) + ")"
    ###display command
    def affichage():
         global phrase1, phrase2, phrase3, phrase4
         convert1 = eval(phrase1)
         convert2 = eval(phrase2)
         convert3 = eval(phrase3)
         convert4 = eval(phrase4)
         return convert1
         return convert2
         return convert3
         return convert4
    
    affichage()
    b += 1
    point(b)
    time.sleep(1)
    display.fill(0)

Re: horloge et matrice 15x7 charlieWing de feather

Posted: Thu 17 Sep 2020 22:01
by Dominique
Bonjour,
Je viens seulement d'arriver sur le sujet...

Trouver une réponse par soi même est toujours enrichissant.

a mon avis, le tuto dont vous parlez est celui-ci:

pybstick-projects/charlie-clock

Bonne soirée,
Dominique