from apgiotboard import *
# Some test code
#led(14).on()
#led(20).on()
# In de apgiotboard module (tab apgiotboard.py) vind je wat documentatie en
# enkele definities om de decimal display verbonden met het bordje te
# gebruiken. Om het echt handig te maken, ga je enkele functies bijmaken in
# de apgiotboard module.
# De volgende opdrachten zijn genummerd, maar hoeven niet (allemaal) in
# volgorde opgelost worden. De meeste opdrachten zijn heel kort, dus laat je
# niet overdonderen door het aantal.
# Als je IoT Programming voor 3 studiepunten volgt (uitdovend vak), vind je
# de oplossing voor vragen 1-4 op digitap. Voeg deze toe aan de apgiotboard
# module. Vanaf vraag 5 moet je oplossen.
# 1. Schrijf een functie "clear_display" die alle leds van de display dooft.
# Laat je functie gebruik maken van seg7leds die reeds gedefinieerd is.
# 2. Schrijf een functie "show_error" dis via de display een error aangeeft.
# Dit gebeurt door het middelste horizontale balkje (led 20) te doen branden.
# Alle andere leds moeten gedoofd worden.
# 3. Maak in de apgiotboard module een functie "show_digit".
# • Deze heeft een parameter "digit" die aangeeft welk cijfer op de display moet
# getoond worden. Dus bijvoorbeeld met parameter 7 worden leds 14, 15, en 16
# aangezet. (Zie "digits" in apgiotboard.py.)
# Tip: gebruik de list index om dit met weinig code te kunnen oplossen.
# • Als digit negatief is, of groter dan het laatste element van de lijst, roep
# dan je functie show_error op.
# • Laat je functie teruggeven of het tonen van de digit gelukt is: True wanneer
# wel, False wanneer niet.
# 4. Breid "digits" uit met de letters A en b (en als je wil C, d, E, F).
# • Je functie show_digit zou nu ook moeten werken met getallen 10 en 11.
# 5. Documenteer de functie show_digit met behulp van een docstring. Deze moet
# kort zeggen wat de functie doet, wat de parameter(s) zijn, en wat de return
# value is.
# 6. Schrijf in het main.py script (eerste tab) een loop die één voor één de
# digits op de display toont en tussenin telkens 1 seconde wacht.
# 7. Maak het mogelijk om deze loop te onderbreken met ctrl-c zonder dat een
# foutboodschap wordt geprint.
# 8. Schrijf in het main.py script een tweede loop die:
# • aan de gebruiker telkens een digit vraagt
# • test of de input een getal is en dit dan op de display toont en anders
# (als het geen getal is) show_error aanroept
# • als de input leeg is, de display leeg maakt en de loop onderbreekt
#1)
seg7leds = range(14, 22)
from machine import Pin
#led(seg7leds).on()
#led=seg7leds
led(14, 22).on()