Raspberry Pi: Programacao GPIO com Python: mudanças entre as edições
De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
(Criou página com '=Raspberry Pi: Programação GPIO com Python= ==Programação Python para controle GPIO== ===Biblioteca RPi.GPIO=== A biblioteca '''RPi.GPIO''' <ref>https://pypi.org/projec...') |
|||
Linha 1: | Linha 1: | ||
=Raspberry Pi: Programação GPIO com Python= | =Raspberry Pi: Programação GPIO com Python= | ||
==Biblioteca RPi.GPIO== | |||
A biblioteca '''RPi.GPIO''' <ref>https://pypi.org/project/RPi.GPIO/</ref> é um módulo de controle para as portas '''GPIO''' do '''Raspberry Pi''' usando linguagem '''Python'''. Entretanto, está biblioteca não é apropriada para aplicações tempo real ou com restrições temporais, pois roda sobre o ''kernel'' Linux, o qual não apropriado para aplicações tempo real. A versão atual desta biblioteca não suporta SPI, I2C, hardware PWM ou interface serial. | A biblioteca '''RPi.GPIO''' <ref>https://pypi.org/project/RPi.GPIO/</ref> é um módulo de controle para as portas '''GPIO''' do '''Raspberry Pi''' usando linguagem '''Python'''. Entretanto, está biblioteca não é apropriada para aplicações tempo real ou com restrições temporais, pois roda sobre o ''kernel'' Linux, o qual não apropriado para aplicações tempo real. A versão atual desta biblioteca não suporta SPI, I2C, hardware PWM ou interface serial. | ||
Linha 15: | Linha 13: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==Programa para piscar led== | |||
Código Python <ref>https://www.electrofun.pt/blog/curso-raspberry-pi-14-python-basico-gpio/</ref>: | Código Python <ref>https://www.electrofun.pt/blog/curso-raspberry-pi-14-python-basico-gpio/</ref>: | ||
Linha 36: | Linha 34: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==Programa para ler chave ''pull-up'' e acionar led== | |||
Chave conectada ao pino 18 (entrada ''pull-up'') e led ao pino 17 (saída). | |||
<syntaxhighlight lang="python"> | <syntaxhighlight lang="python"> | ||
Linha 56: | Linha 56: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==Biblioteca Gpio Zero== | <!--==Biblioteca Gpio Zero== | ||
A biblioteca '''Gpio Zero''' <ref>https://gpiozero.readthedocs.io/en/stable/</ref> é uma interface GPIO para uso com o Raspberry Pi. Esta biblioteca é instalada por ''default'' no Raspberry Pi. | A biblioteca '''Gpio Zero''' <ref>https://gpiozero.readthedocs.io/en/stable/</ref> é uma interface GPIO para uso com o Raspberry Pi. Esta biblioteca é instalada por ''default'' no Raspberry Pi. | ||
Linha 135: | Linha 135: | ||
led.value = not button.value # light when button is pressed! | led.value = not button.value # light when button is pressed! | ||
</syntaxhighlight> | </syntaxhighlight> | ||
--> | |||
==Interação entre Raspberry Pi e Node-RED== | ==Interação entre Raspberry Pi e Node-RED== | ||
Edição das 20h55min de 17 de fevereiro de 2022
Raspberry Pi: Programação GPIO com Python
Biblioteca RPi.GPIO
A biblioteca RPi.GPIO [1] é um módulo de controle para as portas GPIO do Raspberry Pi usando linguagem Python. Entretanto, está biblioteca não é apropriada para aplicações tempo real ou com restrições temporais, pois roda sobre o kernel Linux, o qual não apropriado para aplicações tempo real. A versão atual desta biblioteca não suporta SPI, I2C, hardware PWM ou interface serial.
- Procedimentos para uso
- Verificar se a biblioteca rpi.gpio está instalada:
apt list --installed | grep rpi.gpio
- Importar biblioteca no interpretador ou código Python:
import RPi.GPIO as GPIO # Importa o módulo RPi.GPIO e usa localmente o nome GPIO para referenciá-lo.
Programa para piscar led
Código Python [2]:
import RPi.GPIO as GPIO
from time import *
GPIO.setmode(GPIO.BCM) # Numeração nomes GPIO
#GPIO.setmode(GPIO.BOARD) # Numeração pinagem da placa
GPIO.setup(17, GPIO.OUT)
while True:
GPIO.output(17, GPIO.HIGH)
print("Led ON")
sleep(1)
GPIO.output(17, GPIO.LOW)
print("Led OFF")
sleep(1)
Programa para ler chave pull-up e acionar led
Chave conectada ao pino 18 (entrada pull-up) e led ao pino 17 (saída).
import RPi.GPIO as GPIO
from time import sleep
GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(17, GPIO.OUT)
while True:
if GPIO.input(18):
print("Led ON")
GPIO.output(17, 1)
else:
print("Led OFF")
GPIO.output(17, 0)
sleep(0.1)
Interação entre Raspberry Pi e Node-RED
Referências
Evandro.cantu (discussão) 17h51min de 17 de fevereiro de 2022 (-03)