GPIO pinnen terug naar de inleiding
De board bevat 40 pinnen.
32 x GPIOHS = High speed GPIO pinnen
8 x general purpose GPIO pinnen
De pinnen hebben een Input en uitput mode er zijn geen PWM pinnen. PWM is mogelijk mbv de inbouwde timer.
Al deze pinnen kunnen worden toegewezen aan een van de 48 pinnen op de board
mbv de register methode van de fpioa_manager wordt board hardware op een pin aangesloten
Hier onder het aangepaste script in: Document Folder --> MaixPy_scripts --> hardware --> demo_gpio.py
De anodes van de RGB led's zijn aangesloten op 3.3 V dus als de pin 1 is, staat de led uit
Dit is anders dan bijv bij de arduino. Hier loopt er stroom in de outputpin als deze 0 is en de led is dan aan.
import utime
from Maix import GPIO
from board import board_info
from fpioa_manager import fm
#//register pin to gpiohs0,
#//arg force means force register no matter we have registered before or not
#//if arg force=False(by default), register func will return a tuple that registered info,
#//or return number 1
fm.register(board_info.LED_R, fm.fpioa.GPIO0, force=True) # //Hiermee wordt de rode led aangesloten op pin 0
fm.register(board_info.LED_G, fm.fpioa.GPIOHS0, force=True)
fm.register(board_info.BOOT_KEY, fm.fpioa.GPIO1, force=True)
led_r = GPIO(GPIO.GPIO0, GPIO.OUT) # //led_r is een object van het type GPIO waarin pin 0 wordt geiniteerd als outputpin
led_g = GPIO(GPIO.GPIOHS0, GPIO.OUT)
boot = GPIO(GPIO.GPIO1, GPIO.IN)
#//boot = Pin(1) en boot(value) = 1
#//in de oorspronkelijke schets worden de rode en groene led gelijktijdig in en uit geschakeld
#//en ik zie alleen de groene led knipper
i = 0
status = 0
while i<20:
led_g.value(status)
print("rode led :", led_r.value())
print("-------boot:", boot.value())
i+=1
status = 0 if (status==1) else 1
utime.sleep_ms(500)
led_r.value(status)
print("groene led :", led_r.value())
utime.sleep_ms(500)
led_r.value(1) #//anders blijft de rode led branden
fm.unregister(board_info.LED_R, fm.fpioa.GPIO0)
fm.unregister(board_info.LED_R, fm.fpioa.GPIOHS0)
fm.unregister(board_info.BOOT_KEY, fm.fpioa.GPIO1)