🔬 Introdução ao Raspberry Pi
O que é o Raspberry Pi, como difere do Arduino, o sistema operativo, os 40 pinos GPIO e os primeiros passos para começar a programar eletrónica com Python.
O que é o Raspberry Pi?
O Raspberry Pi é um computador de placa única (single-board computer) desenvolvido pela Raspberry Pi Foundation no Reino Unido. Ao contrário do Arduino — que é um microcontrolador que executa um único programa em loop —, o RPi é um microcomputador completo que corre Linux, tem RAM, WiFi, Bluetooth, HDMI e ainda pinos GPIO para controlar hardware.
Raspberry Pi vs Arduino
| Característica | Raspberry Pi 4 | Arduino UNO |
|---|---|---|
| Tipo | Microcomputador | Microcontrolador |
| Processador | ARM Cortex-A72 quad-core 1.5GHz | ATmega328 16MHz |
| RAM | 4 GB LPDDR4 | 2 KB SRAM |
| Sistema operativo | Raspberry Pi OS (Linux) | Nenhum |
| Linguagem principal | Python (também C, Node.js…) | C/C++ (Arduino IDE) |
| GPIO | 40 pinos a 3.3V | 14 digitais + 6 analógicos a 5V |
| ADC nativo | ❌ — precisa MCP3008 via SPI | ✅ 6 entradas analógicas |
| Rede | WiFi + Ethernet + Bluetooth 5.0 | Módulo externo |
| Preço | ~35–80 € | ~8–25 € |
| Quando usar | Projetos com rede, câmara, web, IA | Tempo real, baixo consumo |
O conector GPIO de 40 pinos
O GPIO (General Purpose Input/Output) é a ligação entre o RPi e o mundo físico. São 40 pinos no total:
- Alimentação: 3.3V (pinos 1, 17) e 5V (pinos 2, 4)
- GND (terra): pinos 6, 9, 14, 20, 25, 30, 34, 39
- GPIO de uso geral: saída/entrada digital a 3.3V
- I²C: SDA (GPIO 2) e SCL (GPIO 3) — para LCD, sensores
- SPI: MOSI, MISO, SCLK, CE0/CE1 — para MCP3008, displays
- UART: TX (GPIO 14) e RX (GPIO 15) — comunicação série
- PWM por hardware: GPIO 12, 13, 18, 19
Instalar o sistema operativo
O RPi arranca a partir de um cartão microSD. A forma mais simples de instalar é com o Raspberry Pi Imager:
- Descarrega o Raspberry Pi Imager em raspberrypi.com/software
- Escolhe o sistema: Raspberry Pi OS (64-bit)
- Escolhe o cartão microSD (mínimo 8 GB, recomendado 16 GB+)
- Clica em Write e aguarda a gravação
- Insere o cartão no RPi, liga ao monitor HDMI e à alimentação (5V/3A)
Primeiro script Python com GPIO
Depois de arrancar o RPi OS, abre o Thonny IDE (já incluído) ou um terminal. Este código faz piscar um LED ligado ao GPIO 18:
import RPi.GPIO as GPIO import time # Usar numeração BCM (nome do pino no chip) GPIO.setmode(GPIO.BCM) # Configurar GPIO 18 como saída GPIO.setup(18, GPIO.OUT) try: while True: GPIO.output(18, GPIO.HIGH) # LED acende time.sleep(1) GPIO.output(18, GPIO.LOW) # LED apaga time.sleep(1) except KeyboardInterrupt: # Ctrl+C para parar — limpar pinos antes de sair GPIO.cleanup() print("GPIO limpo. Programa terminado.")
Para executar no terminal:
# Executar o script python3 blink.py # Para parar: Ctrl + C
BCM vs BOARD — dois sistemas de numeração
Existe uma fonte comum de confusão: há dois sistemas de numeração para os pinos:
- GPIO.BCM — numeração do chip Broadcom (ex: GPIO 18). Recomendado — funciona em todas as versões do RPi.
- GPIO.BOARD — numeração física do conector (ex: pino físico 12). Mais fácil de contar no hardware mas menos portável.
GPIO.setmode(GPIO.BCM) no início de todos os teus scripts para consistência.