Creació de jocs amb PyBadge

Programació Gràfics     Recursos CITCEA
Tutorial Exemples Projectes   Inici

Programa de prova

Un cop ja tenim l'entorn de programació totalment instal·lat, serà convenient enviar un programa a la nostra placa per comprovar que tot funciona correctament. En aquest cas, el nostre primer programa només encendrà el LED incorporat a la placa (per la part posterior) en forma intermitent. El LED està connectat a la sortida D13.

Per encendre el LED de manera intermitent podem fer servir el següent programa.

import digitalio
import board
import time
led = digitalio.DigitalInOut(board.D13)
led.direction = digitalio.Direction.OUTPUT
while True:
    led.value = True  # Encen el LED
    time.sleep(0.5)
    led.value = False  # Apaga el LED
    time.sleep(0.5)

Si guardem aquest programa al directori arrel de la placa amb el nom code.py podrem veure com el LED de la placa fa intermitències.

A les tres primeres línies (amb fons groc) fem la importació de tres biblioteques que farem servir. La biblioteca board conté informació de la placa, la digitalio permet controlar entrades i sortides i la time permet tenir en compte el temps.

A continuació fem la inicialització (fons taronja) on creem un objecte anomenat led que correspon a una entrada o sortida (DigitalInOut, de la biblioteca digitalio). Aquesta entrada o sortida està assignada a la pota D13 (definida a la biblioteca board).

Després ajustem la propietat direction de l'objecte led. Li diem que és de sortida mitjançant la comanda OUTPUT que està a Direction de la biblioteca digitalio.

Les instruccions o sentències del programa vénen a continuació (fons vermell). Quasi tots els programes tenen un bucle while que es fa mentre es cumpleix la condició que indiquem. En aquest cas la condició és True o sigui que es cumpleix sempre. Per tant aquest bucle s'executarà contínuament fins que carreguem un nou programa.

Les quatre darreres línies estan dins el bucle while. Això es veu perquè estan indentades quatre espais. En Python són els indentats els que indiquen el que està dins d'una sentència. Això vol dir que cal vigilar molt en quines coses s'indenten i quants espais s'indenten ja que un espai de diferència canvia el significat. En aquest web farem servir quatre espais per a cada nivell d'indentat. Cal evitar fer servir la tecla del tabulador per indentar. Si ho fem dins de Mu, aquest canvia automàticament el tabulador per quatre espais però si el programa el fem amb un altre editor (encara que després el copiem a Mu) pot passar que no s'interpretin els indentats correctament.

La primera instrucció del bucle canvia el valor del LED a True (cert) i, per tant, encén el LED. La següent instrucció fa aturar el microcontrolador (sleep) durant un temps, en aquest cas 0,5 s, o sigui que el LED estarà mig segon encès. La instrucció sleep està a la biblioteca time i, per tant, així s'indica. Les dues darreres instruccions s'encarreguen d'apagar el LED i esperar un altre mig segon.

En aquest programa hi hem posat dos comentaris. Els comentaris van després del signe #. El CircuitPython ignorarà tot el que hi ha des d'aquest símbol fins al final de la línia. Convé deixar dos o més espais abans del signe #. Al programa Mu no li agraden els caràcters que no són ASCII (accents, etc.) per tant hem evitat posar-los als comentaris (sent conscients de fer faltes d'ortografia).

Els programes es poden anomenar amb un d'aquests noms: code.txt, code.py, main.txt i main.py i l'intèrpret de CircuitPython els intenta executar en aquest ordre. Normalment és preferible fer servir les extensions py. Si volem guardar programes per a ús posterior els podem donar altres noms però atès que la capacitat de les plaques és limitada potser és millor guardar-los a l'ordinador i gravar a la placa només el code.py que desitgem en aquell moment.

Com qualsevol llàpis de memòria, l'emmagatzematge a la placa PyBadge pot fallar. Convé guardar sempre, com a mínim, una còpia del programa actual i una del darrer que va funcionar en algun altre lloc.

 

 

 

 

 

 

 

 

 

 

Licencia de Creative Commons
Esta obra de Oriol Boix está licenciada bajo una licencia no importada Creative Commons Reconocimiento-NoComercial-SinObraDerivada 3.0.