Utilizando os pinos da micro:bit
Deixe um comentárioNesta aula, explicaremos como conectar diferentes tipos de componentes externos aos pinos micro:bit, utilizando sua GPIO. Vamos aprender como controlar LEDs, ler botões e sensores digitais, bem como trabalhar com sinais analógicos para sensores que exigem uma leitura mais precisa.
O que é uma GPIO?
GPIO, ou General-Purpose Input/Output (Entrada/Saída de Uso Geral), é um termo comum na eletrônica que se refere a pinos em um microcontrolador ou microprocessador que podem ser programados para funcionar como entradas ou saídas digitais.
- Entradas: Quando um pino GPIO é configurado como entrada, ele pode ler sinais de dispositivos externos. Isso permite que o microcontrolador receba informações do ambiente, como a pressão de um botão, o nível de luz de um sensor ou a presença de um objeto detectado por um sensor de proximidade.
- Saídas: Quando configurado como saída, um pino GPIO pode enviar sinais para dispositivos externos. Isso permite ao microcontrolador controlar componentes como LEDs, motores ou outros circuitos. O pino pode ser configurado para um estado alto (1), enviando uma tensão específica, ou um estado baixo (0), desligando a tensão.
Esses pinos permitem a interação do microcontrolador com uma variedade de componentes externos, como sensores, LEDs, botões, motores e outros dispositivos eletrônicos.
As características das GPIOs incluem:
- Versatilidade: Os pinos GPIO podem ser usados para diversas finalidades, como controle de componentes digitais, comunicação com outros dispositivos ou leitura de sinais de sensores.
- Configuração: A configuração dos pinos GPIO como entrada ou saída é feita por software, o que proporciona flexibilidade na criação de projetos eletrônicos.
- Níveis Lógicos: Os níveis lógicos usados pelos pinos GPIO geralmente seguem os padrões de tensão do microcontrolador. No caso da micro:bit os níveis lógicos são 3.3V para estado alto e 0V para estado baixo.
Abaixo estão listados alguns exemplos de uso de uma GPIO:
- Botões e Interruptores: Utilizar pinos GPIO configurados como entradas para ler o estado de botões ou interruptores.
- LEDs: Configurar pinos GPIO como saídas para ligar e desligar LEDs.
- Motores e Servos: Controlar motores e servos configurando os pinos GPIO como saídas para enviar sinais PWM (Pulse Width Modulation).
- Sensores: Ler dados de sensores analógicos ou digitais configurando os pinos GPIO como entradas.
Entender o que é uma GPIO e como utilizá-la é fundamental para qualquer projeto de eletrônica. Os pinos GPIO fornecem uma interface entre o microcontrolador e o mundo externo, permitindo a criação de uma variedade de projetos interativos e automatizados.
Na micro:bit, os pinos GPIO são especialmente úteis devido à sua facilidade de uso e integração com diversos componentes eletrônicos, tornando-a uma excelente ferramenta educacional para aprender os conceitos básicos de eletrônica e programação.
Pinos da micro:bit: Digitais e Analógicos
A placa BBC microbit possui uma variedade de pinos que podem ser utilizados para entradas e saídas digitais e analógicas. Compreender a diferença entre esses tipos de pinos e como usá-los é essencial para tirar o máximo proveito do seu micro:bit em projetos de eletrônica.
Pinos Digitais da micro:bit
Os pinos digitais na micro:bit podem ser configurados para funcionar como entradas ou saídas. Quando configurados como entradas, eles podem ler sinais digitais, que são estados lógicos de 0 (baixo) ou 1 (alto). Quando configurados como saídas, eles podem enviar esses estados lógicos para controlar dispositivos externos.
- Entradas Digitais: Usados para ler estados de dispositivos como botões ou sensores digitais.
- Saídas Digitais: Usados para controlar dispositivos como LEDs, relés ou outros componentes que funcionam com sinais digitais.
Pinos Analógicos da micro:bit
Os pinos analógicos na micro:bit podem ler ou gerar sinais que variam continuamente dentro de um intervalo de valores. Esses pinos são utilizados para trabalhar com dispositivos que fornecem ou requerem sinais variáveis, como sensores de temperatura, potenciômetros ou LEDs com controle de brilho.
- Entradas Analógicas: Usados para ler valores de sensores analógicos. A micro:bit converte esses sinais analógicos em valores digitais (ADC – Conversão Analógico-Digital) que podem ser processados pelo microcontrolador.
- Saídas Analógicas: Usados para gerar sinais PWM (Pulse Width Modulation), que são sinais digitais que simulam um sinal analógico variando a largura do pulso. Isso é útil para controlar o brilho de LEDs, a velocidade de motores, entre outros.
Pinos da micro:bit: Layout da GPIO
A micro:bit possui um conjunto de pinos GPIO (General Purpose Input/Output) que permitem a conexão de componentes externos como LEDs, botões, sensores e motores. Estes pinos estão localizados na borda da placa e são facilmente acessíveis para conectar diversos dispositivos.
Abaixo está uma imagem com os detalhes do layout da GPIO, com todos os pinos da micro:bit:
A micro:bit possui 25 pinos na borda da placa, mas nem todos são pinos GPIO. Os pinos mais importantes incluem:
- Pinos 0, 1 e 2: Estes são os pinos multifuncionais que podem ser usados como entradas e saídas digitais e também como entradas analógicas. Eles são frequentemente utilizados para conectar sensores e atuadores.
- Pinos 3V e GND: Estes são os pinos de alimentação. O pino 3V fornece uma tensão de 3.3 volts para alimentar componentes externos, enquanto o pino GND é o terra (ground) do circuito, necessário para completar o circuito elétrico.
- Pinos de I2C (19 e 20): Estes pinos são usados para comunicação I2C, que permite a micro:bit se comunicar com outros dispositivos I2C, como sensores e displays.
- Pinos de SPI (13, 14 e 15): Estes pinos são usados para comunicação SPI, uma interface de comunicação rápida para conectar dispositivos como sensores e cartões SD.
Como ligar componentes externos aos pinos da micro:bit?
Conectar componentes externos à micro:bit amplia significativamente suas capacidades, permitindo que você interaja com uma variedade de sensores, atuadores e outros dispositivos eletrônicos.
A micro:bit facilita essas conexões através de seus pinos GPIO (General Purpose Input/Output). Aqui, vamos explorar como ligar diferentes tipos de componentes externos aos pinos da micro:bit .
Antes de começar a conectar componentes à micro:bit, é importante ter as seguintes ferramentas e materiais:
- Cabos com com garra jacaré ou jumpers
- Protoboard (opcional, mas útil para projetos mais complexos)
- Resistores (para proteção de LEDs e outros componentes)
- Componentes externos (LEDs, botões, sensores, motores, etc.)
Ligando um LED na micro:bit
Para ligar um LED à micro:bit, você precisará conectar um pino digital da micro:bit a um dos terminais do LED e o outro terminal do LED ao pino GND. Para proteger o LED, é aconselhável usar um resistor em série. As conexões são as seguintes:
- Conecte um dos terminais do resistor ao pino P0 da micro:bit.
- Conecte o outro terminal do resistor ao anodo (+) do LED.
- Conecte o catodo (-) do LED ao pino GND da micro:bit.
Programação em blocos (MakeCode) para ligar e desligar um LED através dos pinos da micro:bit:
Programação em texto Python (Python Editor) para ligar e desligar um LED através dos pinos da micro:bit:
from microbit import * while True: pin0.write_digital(1) # Liga o LED sleep(1000) # Espera 1 segundo pin0.write_digital(0) # Desliga o LED sleep(1000) # Espera 1 segundo
Leitura de botão nos pinos da micro:bit
Para ler um botão, você precisará ligá-lo entre um pino digital e o pino GND da micro:bit. As conexões são as seguintes:
- Conecte um terminal do botão ao pino P1 da micro:bit.
- Conecte o outro terminal do botão ao pino GND da micro:bit.
- Conecte um resistor entre o pino P1 e o GND para garantir um sinal estável.
Programação em blocos (MakeCode) para ler um botão através dos pinos da micro:bit:
Programação em texto Python (Python Editor) para ler um botão através dos pinos da micro:bit:
from microbit import * while True: if pin1.read_digital() == 1: # Verifica se o botão está pressionado display.show(Image.HAPPY) else: display.clear()
Leitura de Sensor Analógico nos pinos da micro:bit
Para conectar um sensor de luz ou qualquer sensor analógico, utilize um pino analógico da micro:bit. As conexões são as seguintes:
- Conecte um terminal do LDR ao pino 3V da micro:bit.
- Conecte o outro terminal do LDR ao pino P2 da micro:bit.
- Conecte um terminal do resistor ao pino P2.
- Conecte o outro terminal do resistor ao pino GND.
Programação em blocos (MakeCode) para ler um sensor analógico através dos pinos da micro:bit:
Programação em texto Python (Python Editor) para ler um sensor analógico através dos pinos da micro:bit:
from microbit import * while True: light_level = pin2.read_analog() # Lê o valor analógico do sensor de luz display.scroll(light_level) # Exibe o valor na matriz de LEDs sleep(1000) # Espera 1 segundo
Projeto de controle de um servo motor
Controlar um servo motor com a micro:bit é uma ótima maneira de aprender sobre controle de movimentos e automação. Neste projeto, vamos utilizar a micro:bit para controlar a posição de um servo motor através dos seus pinos GPIO.
Para seguir com este projeto você irá precisar dos seguintes materiais:
- Placa micro:bit
- Servo motor (modelo padrão, como SG90)
- Jumpers ou cabos com garras jacaré
Os servo motores têm três fios:
- Sinal (cabo laranja): Recebe o sinal de controle da micro:bit.
- VCC (cabo vermelho): Alimentação positiva.
- GND (cabo marrom): Terra ou negativo da alimentação.
Os servos são controlados através de sinais PWM (Pulse Width Modulation). Alterando a largura do pulso, você pode definir a posição do eixo do servo.
Siga o passo a passo abaixo para conectar o servo motor a micro:bit.
- Conecte o fio de sinal do servo ao pino P0 da micro:bit.
- Conecte o fio VCC do servo a saída positiva das pilhas.
- Conecte o fio GND do servo a saída negativa das pilhas.
- Conecte a saída negativa das pilhas ao pino GND da micro:bit.
Abaixo está um exemplo de código em blocos para controlar um servo motor.
Abaixo está um exemplo de código em MicroPython para controlar um servo motor. Este código move o servo para diferentes ângulos em resposta aos botões A e B da micro:bit.
from microbit import * # Inicializa o ângulo do servo motor angulo = 0 pin0.write_analog(0) while True: pin0.write_analog(angulo) if button_a.was_pressed(): angulo += 10 if button_b.was_pressed(): angulo -= 10 pin0.write_analog(angulo) sleep(100)
Este projeto demonstra como controlar um servo motor com a micro:bit utilizando sinais PWM. Com esse conhecimento, você pode explorar uma variedade de projetos de automação e robótica, como braços robóticos, mecanismos de inclinação, e muito mais. A flexibilidade da micro:bit e a simplicidade dos servos tornam essa combinação ideal para iniciantes e entusiastas da eletrônica.