Curso Raspberry Pi – #14 – Python Básico, GPIO

Nós já sabemos como usar os pinos GPIO universais usando a linha de comando e terminal de scripting. Muitas vezes verifica-se que esse controlo não é muito confortável. Nesta parte, mostraremos como usar o GPIO com o Python. A propósito, aprenderemos o básico desta linguagem de programação popular.

 

 

A grande vantagem (que às vezes é uma desvantagem) do Raspberry é a capacidade de resolver o mesmo problema de várias maneiras. No caso do Arduino, a vida é mais simples. Na grande maioria dos casos, temos o Arduino IDE, escrevemos um programa em C ++ e executamos pressionando um botão. O Raspberry Pi oferece mais opções, o que às vezes dificulta a escolha da solução correta. Porém, vale a pena aprender métodos diferentes de fazer tarefas semelhantes num Raspberry.

Python – o que vale a pena conhecer?

Nesta parte, vamos lidar com a linguagem de programação extremamente popular, Python. Primeiro de tudo, o que pode ser um choque para muitos, o nome desta linguagem não tem nada a ver com cobras. “Python” vem da série Monty Python’s Flying Circus, se ainda não viu, provavelmente é hora de ver!

A segunda coisa são as versões linguísticas: atualmente as duas principais são usadas – Python 2.xe 3.x. Em poucas palavras, há cerca de dez anos, os desenvolvedores da linguagem decidiram fazer modificações significativas e introduzir um novo número de versão 3. Infelizmente, a linguagem já é tão popular que mudanças rápidas não são bem-vindas. Como resultado, em vez de substituir a versão 2 pela nova versão 3, ainda existem os dois – de uma maneira paralela.

Executando o Python no Raspberry Pi

O Python é uma das linguagens interpretadas, por isso funciona como scripts de shell sem a necessidade de compilar. No entanto, um intérprete de idioma é necessário para a operação. O Raspbian usado por nós fornece o interpretador Python por padrão.

Está na hora de praticar! No início, nos conectamos ao Raspberry Pi de uma maneira escolhida por nós (por exemplo, por SSH) e verificamos qual versão do Python é usada por padrão. Para este fim, nós emitimos o comando:

python --version

No nosso caso, esta é a versão 2.7.13. Se quisermos ter certeza de que usamos a versão 2, em vez de python, devemos executar o python2 , ou seja:

python2 --version

O mesmo para a versão 3:

python3 --version

Trabalho interativo com Python

Uma das vantagens das linguagens interpretadas é a capacidade de inserir e executar comandos individualmente. Assim como com os comandos do terminal. Vamos verificar agora como funciona. Nós executamos o interpretador Python com o comando python3:

python3

Vamos ver um sinal “>”, muitas vezes são 3. É aqui que podemos inserir comandos que serão tratados como código Python:

Para começar, um “exemplo imortal”, ou seja, Hello world!:

print("Hello world!")

Como podemos ver, o programa respondeu escrevendo uma mensagem. Com a ajuda da print, também pode “imprimir” mensagens um pouco mais complicadas ou resultados de cálculos:

print(2+2)

GPIO em Python

Este curso não é focado em programação, então temos que adiar isto para uma ocasião diferente – agora só vamos conhecer o básico na prática. Vamos direto ao exemplo usando a linha GPIO.

Anteriormente, já controlamos o díodo (a partir da linha de comando), vale a pena começar com o mesmo exercício. Nós conectamos o mesmo circuito que usamos na peça com o GPIO. Nós conectamos o díodo luminoso ao pino número 40 (rotulado como GPIO21). Este pino está localizado no canto do conector e seu “vizinho” mais próximo é o pino número 39 (GND).

Na prática, o layout pode ter a seguinte aparência:

Precisamos de uma biblioteca adequada para controlar os pinos. Na verdade, sempre que escrevemos programas em Python, usamos algumas bibliotecas. É verdade que, em comparação com outros idiomas, o Python permite o uso fácil e agradável de soluções prontas.

Não é diferente no nosso caso – o que precisamos é da biblioteca RPi.GPIO. A biblioteca em si já está instalada (pacote python3-rpi.gpio), que pode ser verificado com o seguinte comando:

apt list --installed | grep rpi.gpio

Agora só precisa importá-lo. No caso do Arduino, a importação de uma nova biblioteca requer o uso de um rato, em Python nós simplesmente escrevemos:

import RPi.GPIO as GPIO

Poderíamos escrever o mesmo “import RPi.GPIO”, mas a cada vez teríamos que dar o prefixo “RPi.” na frente do nome da função que está sendo executada. Uma mistura de letras maiúsculas e minúsculas é um pesadelo programável. Com a ajuda da nota “as GPIO”, apresentamos nosso nome local GPIO , o que facilita muito o trabalho com a biblioteca.

Como nos lembramos das partes anteriores do curso, manipular os pinos no Raspberry é repleto de uma “bagunça” numérica. Em Python, essa “bagunça” também existe. Antes de usar os pinos , temos que escolher o método de numeração. Queremos usar o pino GPIO21, então escrevemos:

GPIO.setmode(GPIO.BCM)

Agora o nosso díodo terá o número 21. Poderíamos usar uma numeração diferente escrevendo, por exemplo, “GPIO.setmode (GPIO.BOARD)”, então o número do pino físico no conector seria usado. De acordo com essa descrição, o nosso díodo seria então conectado ao pino 40.

No entanto, ficamos com a nossa numeração (BCM). Similar ao anterior, no início definimos o modo de linha como uma saída. Para este fim, escrevemos:

GPIO.setup(21, GPIO.OUT)

Está na hora de ligar o díodo:

GPIO.output(21, GPIO.HIGH)

Pode desligar o díodo:

GPIO.output(21, GPIO.LOW)

 

 Curso Raspberry Pi – #1 – Introdução, Índice

 Curso Raspberry Pi – #2 – O que é o Raspberry Pi?

Curso Raspberry Pi – #3 – Caixa, Dissipadores de Calor

 Curso Raspberry Pi – #4 – Instalação do Sistema, Raspberry Pi como PC 

 Curso Raspberry Pi – #5 – Instalação / Comunicação Via UART

 Curso Raspberry Pi – #6 – Instalação / Comunicação Através da Rede

 Curso Raspberry Pi – #7 – Acesso Remoto VNC, Chaves SCP, RSA

 Curso Raspberry Pi – #8 – O Básico do Linux

 Curso Raspberry Pi – #9 – Processadores de Texto

 Curso Raspberry Pi – #10 – Câmara, Fotos, Transmissão de Imagem

 Curso Raspberry Pi – #11 – Filmes, Slowmotion, Timelapse

 Curso Raspberry Pi – #12 – Noções Básicas sobre GPIO, Scripts

 Curso Raspberry Pi – #13 – PWM, Entradas, Scripts com uma Câmara

 Curso Raspberry Pi – #14 – Python Básico, GPIO