RPi.GPIO è un modulo per Python per gestire le GPIO della Raspberry Pi.
Questo modulo è ancora in sviluppo e mancano alcune parti,
ma è possibile usarlo con le limitazioni del caso
e anche come test. Nelle prove che ho fatto non ho trovato problemi.
Ricordate che sono a 3,3V e quindi vanno interfacciate in modo adeguato.
La documentazione sulla libreria è disponibile qui dove è possibile scaricarla.
Ricordate che sono a 3,3V e quindi vanno interfacciate in modo adeguato.
La documentazione sulla libreria è disponibile qui dove è possibile scaricarla.
La trovate anche su Python Package Index
Visto che è disponibile su PyPI usiamo easy_install per installarla.
Prima di tutto dove avere installato easy_install che in Debian si trova nel package python-pip
pi@raspberrypi:~$ python
Python 2.6.6 (r266:84292, Dec 27 2010, 21:57:32)
[GCC 4.4.5 20100902 (prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import RPi.GPIO as GPIO
>>> dir(GPIO)
['BCM', 'BOARD', 'IN', 'InvalidChannelException',
Visto che è disponibile su PyPI usiamo easy_install per installarla.
Prima di tutto dove avere installato easy_install che in Debian si trova nel package python-pip
- installiamo python-pip
- pi@raspberrypi:~$ sudo apt-get install python-pip
- ora python-dev
- se usciamo Python 2: sudo apt-get install python-dev
- Se usciamo Python 3: sudo apt-get install python3-dev
- procediamo con l'installazione di distribute
- pi@raspberrypi:~$ sudo pip install distribute
- e ora il modulo RPi.GPIO
- pi@raspberrypi:~$ sudo pip install RPi.GPIO
- fatto
pi@raspberrypi:~$ python
Python 2.6.6 (r266:84292, Dec 27 2010, 21:57:32)
[GCC 4.4.5 20100902 (prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import RPi.GPIO as GPIO
>>> dir(GPIO)
['BCM', 'BOARD', 'IN', 'InvalidChannelException',
'InvalidDirectionException', 'InvalidModeException',
'OUT', 'WrongDirectionException', '_BCM', '_ExportedIds',
'_GPIO_PINS', '_GetValidId', '_MODE', '_MODES', '__builtins__',
'__doc__', '__file__', '__name__', '__package__', '__path__',
'_unexport', 'atexit', 'input', 'os', 'output', 'setmode', 'setup']
>>>
esempio
E ora proviamo helloword che si usa con gli MCU, fare lampeggiare un led.
>>>
esempio
E ora proviamo helloword che si usa con gli MCU, fare lampeggiare un led.
Per questa prova serve una resistenza da circa 330ohm e un led da collegare come da schema qui sotto.
Ora scriviamo questo piccolo codice d'esempio in python usando la libreria RPi.GPIO
import RPi.GPIO as GPIO, time
"""
possiamo chiamare i pin con il numero assegnato o come numero BCM GPIO.
usando GPIO.setmode(GPIO.BCM))usciamo i pin chiamandoli per il numero.
"""
GPIO.setup(12, GPIO.OUT) # definiamo che il pin 12 (GPIO18) è un uscita
while 1: # loop infinito
GPIO.output(12, True) # GPIO a 1 (HIGH), led accesso
time.sleep(1) # attendi 1 secondo
GPIO.output(12, False) # GPIO a 0 (LOW), led spento
time.sleep(1) # attendi 1 secondo e ricomincia
esempio 2
Nel esempio precedente abbiamo visto come usare i pin chiamandoli per numero,
ora vediamo come chiamarli per BCM GPIO
Lo schema elettrico rimane lo stesso del precedente
import RPi.GPIO as GPIO, time
"""
possiamo chiamare i pin con il numero assegnato o come numero BCM GPIO.
usando GPIO.setmode(GPIO.BCM))usciamo i pin chiamandoli per GPIO
il pin num 12 corrisponde al GPIO 18
"""
GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.OUT) # definiamo che il la GPIO18 (pin12) è un uscita
while 1: # loop infinito
GPIO.output(18, True) # GPIO a 1 (HIGH), led accesso
time.sleep(1) # attendi 1 secondo
GPIO.output(18, False) # GPIO a 0 (LOW), led spento
time.sleep(1) # attendi 1 secondo e ricomincia
|
Nessun commento:
Posta un commento
Commenta