Raspberry Pi é uma placa baseada em processador de arquitetura ARM projetada para engenheiros eletrônicos e amadores. O PI é uma das plataformas de desenvolvimento de projeto mais confiáveis que existe agora. Com maior velocidade do processador e 1 GB de RAM, o PI pode ser usado para muitos projetos de alto perfil, como processamento de imagens e Internet das coisas.
Para fazer qualquer um dos projetos de alto nível, é necessário compreender as funções básicas do PI. É por isso que estamos aqui, cobriremos todas as funcionalidades básicas do Raspberry Pi nestes tutoriais. Em cada série de tutoriais, discutiremos uma das funções do PI. Ao final da série de tutoriais, você será capaz de realizar projetos de alto nível sozinho. Verifique estes para Introdução à configuração do Raspberry Pi e do Raspberry Pi.
Estabelecer a comunicação entre o PI e o usuário é muito importante para a concepção de projetos no PI. Para a comunicação, PI deve receber entradas do usuário. Neste segundo tutorial da série PI, faremos a interface de um botão com o Raspberry Pi, para receber INPUTS do usuário.
Aqui, conectaremos um botão a um pino GPIO e um LED a outro pino GPIO do Raspberry Pi. Vamos escrever um programa em PYTHON, para piscar o LED continuamente, ao pressionar o botão pelo usuário. O LED piscará ao ligar e desligar o GPIO.
Antes de partirmos para a programação, vamos falar um pouco sobre o LINUX e o PYHTON.
LINUX:
LINUX é um sistema operacional como o Windows. Ele executa todas as funções básicas que o sistema operacional Windows pode fazer. A principal diferença entre eles é que o Linux é um software de código aberto, enquanto o Windows não é. O que basicamente significa é que o Linux é gratuito, enquanto o Windows não é. O sistema operacional Linux pode ser baixado e operado gratuitamente, mas para fazer o download do sistema operacional Windows genuíno, você precisa pagar o dinheiro.
E outra grande diferença entre eles é que o sistema operacional Linux pode ser 'modificado' por meio de ajustes no código, mas o sistema operacional Windows não pode ser modificado, isso levará a complicações legais. Assim, qualquer pessoa pode pegar o sistema operacional Linux e modificá-lo de acordo com suas necessidades para criar seu próprio sistema operacional. Mas não podemos fazer isso no Windows, o sistema operacional Windows tem restrições para impedir que você edite o sistema operacional.
Aqui estamos falando sobre Linux porque JESSIE LITE (Raspberry Pi OS) é um sistema operacional baseado em LINUX, que instalamos na parte de introdução do Raspberry Pi. O PI OS é gerado com base no LINUX, portanto, precisamos saber um pouco sobre os comandos operacionais do LINUX. Discutiremos sobre esses comandos do Linux nos tutoriais a seguir.
PITÃO:
Ao contrário do LINUX, PYTHON é uma linguagem de programação como C, C ++ e JAVA etc. Essas linguagens são usadas para desenvolver aplicativos. Lembre-se de que as linguagens de programação funcionam no sistema operacional. Você não pode executar uma linguagem de programação sem um sistema operacional. Portanto, o sistema operacional é independente enquanto as linguagens de programação são dependentes. Você pode executar PYTHON, C, C ++ e JAVA no Linux e no Windows.
Os aplicativos desenvolvidos por essas linguagens de programação podem ser jogos, navegadores, aplicativos etc. Usaremos a linguagem de programação PYTHON em nosso PI, para desenhar projetos e manipular os GPIO's.
Discutiremos um pouco sobre o PI GPIO antes de prosseguir,
Pinos GPIO:
Conforme mostrado na figura acima, existem 40 pinos de saída para o PI. Mas quando você olha para a segunda figura, você pode ver que nem todos os 40 pinos podem ser programados para nosso uso. Estes são apenas 26 pinos GPIO que podem ser programados. Esses pinos vão de GPIO2 a GPIO27.
Esses 26 pinos GPIO podem ser programados conforme a necessidade. Alguns desses pinos também executam algumas funções especiais, discutiremos sobre isso mais tarde. Com GPIO especial colocado de lado, temos 17 GPIO restantes (Cirl verde claro).
Cada um desses 17 pinos GPIO pode fornecer uma corrente máxima de 15mA. E a soma das correntes de todos os GPIO não pode exceder 50mA. Portanto, podemos extrair um máximo de 3mA em média de cada um desses pinos GPIO. Portanto, não se deve mexer nessas coisas, a menos que saiba o que está fazendo.
Componentes necessários:
Aqui, estamos usando o Raspberry Pi 2 Model B com o Raspbian Jessie OS. Todos os requisitos básicos de hardware e software foram discutidos anteriormente. Você pode consultá-los na introdução do Raspberry Pi, exceto o que precisamos:
- Pinos de conexão
- Resistor 220Ω ou 1KΩ
- CONDUZIU
- Botão
- Tábua de pão
Explicação do circuito:
Conforme mostrado no diagrama de circuito, vamos conectar um LED ao PIN35 (GPIO19) e um botão ao PIN37 (GPIO26). Como disse anteriormente, não podemos extrair mais de 15mA de qualquer um desses pinos, então para limitar a corrente estamos conectando um resistor de 220Ω ou 1KΩ em série com o LED.
Explicação de trabalho:
Assim que tudo estiver conectado, podemos ligar o Raspberry Pi para escrever o programa em PYHTON e executá-lo. (Para saber como usar o PYTHON vá para PI BLINKY).
Vamos falar sobre alguns comandos que vamos usar no programa PYHTON.
Vamos importar o arquivo GPIO da biblioteca, a função abaixo nos permite programar os pinos GPIO do PI. Também estamos renomeando “GPIO” para “IO”, portanto, no programa, sempre que quisermos nos referir aos pinos GPIO, usaremos a palavra 'IO'.
importar RPi.GPIO como IO
Às vezes, quando os pinos GPIO, que estamos tentando usar, podem estar executando algumas outras funções. Nesse caso, receberemos avisos durante a execução do programa. O comando abaixo diz ao PI para ignorar os avisos e prosseguir com o programa.
IO.setwarnings (falso)
Podemos referir os pinos GPIO do PI, tanto pelo número do pino a bordo quanto pelo número da função. No diagrama de pinos, você pode ver que 'PIN 37' na placa é 'GPIO26'. Portanto, dizemos aqui que vamos representar o pino aqui por '37' ou '26'.
IO.setmode (IO.BCM)
Estamos configurando GPIO26 (ou PIN37) como pino de entrada. Detectaremos o pressionamento de botão por este pino.
IO.setup (26, IO.IN)
Enquanto 1: é usado para loop infinito. Com este comando, as instruções dentro deste loop serão executadas continuamente.
Uma vez que o programa é executado, o LED conectado ao GPIO19 (PIN35) pisca sempre que o botão é pressionado. Ao liberar o LED, ele irá para o estado OFF novamente.