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=


==Programação Python para controle GPIO==
==Biblioteca RPi.GPIO==
 
===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:
==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).
==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)