de RGB leds aansluitingen

 de RGB leds aansluitingen

 

 

 

 

 

 

het aangepaste demo_gpio.py script

het aangepaste demo_gpio.py script

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)