GPIO.setmode(GPIO.BCM)
LED = [4,18,23]
for i in range(3):
GPIO.setup(LED[i], GPIO.OUT, initial=False)
Een lijst definieert de GPIO-nummer van de drie LED's. Vervolgens initialiseert een lus de drie GPIO-poorten
als uitgangen en zet alle LED's op uitgeschakeld.
Ook in dit experiment gebruiken wij een
steeds weer automatisch te laten lopen, tot de gebruiker het met
eigenlijke interessante functies, die toegang hebben op het besturingssysteem en de vrije geheugenruimte
oproepen.
s = os.statvfs('/')
informatie voor het bestandssysteem, die hier binnen de gesloten lus bij elke lusdoorloop opnieuw als object
in de variabele
worden geschreven.
s
f = s.f_bsize * s.f_bavail / 1048576
in byte.
geeft het aantal vrije blokken weer. Het product uit beide waarden geeft derhalve het
s.f_bavail
aantal vrije bytes weer, die hier door 1.048.576 wordt gedeeld, om het aantal vrije megabytes verkrijgen. Het
resultaat wordt in de variabele
if f < g1:
x = "100"
Indien de vrije geheugenruimte kleiner is dan de eerste grenswaarde (1 MB), wordt de tekenvolgorde
het patroon van de ingeschakelde LED aangeeft, op
patroon is een eenvoudige tekenketting uit de cijfers 0 en 1.
elif f < g2:
x = "110"
elif f < g3:
x = "010"
elif f < g4:
x = "011"
Met behulp van
-vragen, worden de andere grenswaarden opgeroepen en het LED-patroon
elif
overeenkomstig ingesteld, wanneer de eerste vraag niet overeenkomt, dus meer dan 1 MB vrije
geheugenruimte beschikbaar is.
else:
x = "001"
Indien geen van de vragen overeenkomt, dus meer vrije geheugenruimte beschikbaar is, dan de hoogste
grenswaarde aangeeft, wordt het LED-patroon op
for i in range(3):
GPIO.output(LED[i], int(x[i]))
64
try...except
De statistische module
Nu levert de methode
opgeslagen.
f
-constructie en een gesloten lus, om het programma
[Strg]
uit de
os.statvfs()
s.f_bsize
gezet. De eerste, rode LED moet branden. Het
"100"
gezet. De laatste, groene LED moet branden.
"001"
[C]
+
afbreekt. Hierna volgen de
-bibliotheek levert diverse statische
os
de grootte van een geheugenblok
, die
x