Le module oxocard utilise la classe OxoGrid, qui modélise l'affichage comme un objet logiciel.

Les 64 LEDs couleur (néopixels) de l'écran sont disposées dans une matrice 8x8 et peuvent être adressées individuellement via leurs coordonnées x et y. Par exemple, vous pouvez utiliser

dot(x, y, color)

allumez la LED en position x, y avec la couleur donnée. color est la couleur RGB et est spécifiée comme un tuple de color(r, g, b) avec les valeurs de couleur pour le rouge, le vert et le bleu dans la gamme 0..255.

Vous pouvez éteindre toutes les LED avec la commande clear() ou régler toutes les LED sur la couleur donnée avec la commande clear(color).

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/4bf81928-a7b4-4333-ace1-9042d8319443/Untitled.png

<aside> 💡 Remarque Les LED sont très lumineuses, ce qui peut être gênant si vous n'avez pas installé l'oxocarte dans la boîte. Avec la commande dim(20), vous pouvez généralement réduire la luminosité par un facteur de 20. Cela vous permettra d'utiliser tous les programmes inchangés pour une carte intégrée ou non montée, à l'exception de cette commande.

</aside>

Exemples

Allumer les différentes LED

Votre programme doit allumer toutes les LED l'une après l'autre. Si la coordonnée x est plus grande que la coordonnée y, la LED est rouge, sinon elle est verte. Pour faciliter le suivi du dessin, la commande sleep(0.1) arrête l'exécution du programme dans la boucle de répétition de 0,1 seconde.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/b32984fe-0dab-4d8e-866e-c0fb277a91a3/Untitled.png

from oxocard import *

for y in range(8):
    for x in range(8):  
        if x > y:
            dot(x, y, RED)
        else:
            dot(x, y, GREEN)        
        sleep(0.1)

Dessiner un échiquier

Avec seulement quelques lignes de code, vous pouvez dessiner un motif en damier en considérant que pour les cases blanches, la somme s = x + y des coordonnées est paire et pour les cases bleues, impaire.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/3019338d-e9b8-4168-9fa1-dda18d5fbeed/Untitled.png

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/ed78524d-ab2e-4148-a81b-a2248ea19005/Untitled.png

En Python, s % 2 donne le reste, qui peut être obtenu par division (entière) par 2. Donc, pour les nombres pairs, s % 2 = 0.

Vous parcourez l'affichage ligne par ligne avec deux boucles d'anticipation imbriquées et réglez la couleur sur blanc ou bleu.

Vous parcourez l'affichage ligne par ligne avec deux boucles d'anticipation imbriquées et réglez la couleur sur blanc ou bleu.

from oxocard import *

for y in range(8):
    for x in range(8):  
        if (x + y) % 2 == 0 :
            dot(x, y, BLUE)
        else:
            dot(x, y, WHITE)

Dessiner des figures

Avec la fonction rectangle (ulx, uly, w, h, color), vous pouvez dessiner un rectangle avec le coin supérieur gauche donné ulx, uly avec la largeur w et la hauteur h et la couleur donnée. Dans votre exemple, vous dessinez quatre carrés de couleurs différentes disposés concentriquement.

Pour économiser de la mémoire vive du micro-contrôleur, les fonctions permettant de dessiner des formes sont absentes du module oxocard. Pour les utiliser, il faut utiliser l'importation suivante

from oxocardext import *