FAVORITAR
Faça login para como favoritoFechar

Franzininho WiFi: Explorando as GPIOs com Arduino

Os microcontroladores se comunicam com o ambiente externo por meio de canais físicos, para enviar ou receber sinais elétricos. Nos microcontroladores, a GPIO (General Purpose Input/Output) é o periférico responsável por essa função. Trata-se de um recurso versátil e amplamente utilizado em aplicações de Sistemas Embarcados. A expressão “General Purpose” significa “Propósito Geral” e indica que cada pino pode ser configurado de acordo com as necessidades do projetista.

A Franzininho WiFi possui 35 GPIOs que podem operar em dois modos: OUTPUT e INPUT. É possível usar resistores internos nos pinos configurados como Pull-Up ou Pull-Down.

Neste artigo apresentaremos como utilizar o periférico GPIO na Franzininho WiFi. Nas próximas seções serão descritos os recursos e o código-fonte para cada aplicação proposta. Caso não tenha adicionado a placa Franzininho WiFi no Arduino IDE, confira o artigo de instalação.

API GPIO do Arduino

Nessa sessão conheceremos as funções mais comuns usada no periférico GPIO:

Embarcados Experience 2024: Evento Presencial

Participe do Embarcados Experience 2024 em São Paulo. Conhecimento técnico, palestras, workshops e oportunidade de networking com profissionais experientes.

Inscreva-se agora

pinMode

Define o modo de operação específico para o pino

  • pin : escolher o pino físico será utilizado
  • mode: configura o modo de operação

Os modos de operação para trabalha-se com os pinos são:

  • INPUT : habilita a GPIO como entrada digital
  • OUTPUT: habilita a GPIO como saída digital
  • INPUT_PULLDOWN : GPIO como entrada e habilita resistor interno de pulldown
  • INPUT_PULLUP : GPIO como entrada e habilita resistor interno de pullup

digitalWrite

Seleciona o nível lógico em HIGH ou LOW. Essa função é usada apenas quando o pino é configurado como OUTPUT. 

  • pin : escolher o pino físico a ser utilizado
  • val: configura a saída digital em HIGH ou LOW 

digitalRead

Realiza a leitura do estados lógicos do pino configurado como INPUT

  • pin : define o pino físico

Materiais necessários

Os materiais necessários para os exemplos propostos são:

  • Placa Franzininho WiFi;
  • Protoboard;
  • Botão táctil;
  • Jumpers;
  • Arduino IDE 

Não tem o Franzininho WiFi? Conheça a simulador Wokwi.

Circuito

Na imagem abaixo apresentamos o circuito proposto neste artigo. Vamos utilizar os LED on-board (GPIO 33 e GPIO 21) e um botão táctil (GPIO 2).

GPIO na Franzininho WiFi

Código

Neste artigo, apresentamos dois projetos que usam o mesmo circuito. No primeiro, controlamos os LEDs por meio de um botão táctil. No segundo, os LEDs alternam entre ligados e desligados (pisca-pisca). Abaixo, disponibilizamos os códigos comentados para ambos os projetos.

Confira esse projeto no Wokwi.

Projeto 1 – Acionamento de LEDs com botão

Simule esse projeto no Wokwi:

Projeto 2 – Pisca-Pisca 

Simule esse projeto no Wokwi – Franzininho WiFi – GPIOs

Desenvolvimento do Código

Nesta sessão entenderemos os códigos dos exemplos apresentados. 

Explicando o Projeto 1 : Acionamento de LEDs com botão

Declarando as constantes com o mapeamento das GPIOs:

Configura as GPIOs de acordo com o modo de operação:

No void loop(), criou-se um laço de condição para ler o estado do botão, caso seja pressionado(LOW), aciona o LED YELLOW e desliga o LED BLUE.

Quando soltar o botão desliga o LED YELLOW e aciona o LED BLUE.

Explicando o Projeto 2 : Pisca-Pisca Franzininho WiFI

Declarando as constantes com o mapeamento das GPIOs:

Configura as GPIOs de acordo com o modo de operação:

Na função pisca_pisca() é chamada no void loop() para realizar a temporização entre a alternância entre os níveis lógicos de cada LED. Nela utilizamos a função millis() para pegar o tempo corrido em milissegundos, registrar a última vez atendeu a condição do laço de repetição e faz uma operação lógica XOR para escrever no pino. Caso não conheça a função millis(), acesse a documentação.

Conclusão

Neste artigo, explicamos o funcionamento básico do GPIO, as funções para configurá-lo (pinMode), acessar seus estados lógicos (digitalRead) e escrever níveis lógicos (digitalWrite). Os projetos apresentados servem como introdução para explorar as diversas possibilidades de uso desse periférico, uma vez que é amplamente utilizado em projetos. Encorajamos você a praticar e modificar os códigos fornecidos para consolidar o conhecimento sobre as GPIOs.

Compre sua Franzininho WiFi (com frete gratis) clicando neste link.

Outros artigos da série

<< Franzininho WiFi: Primeiros passos na Arduino IDEFranzininho WiFi: Leitura de entradas analógicas com Arduino >>
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.
Comentários:
Notificações
Notificar
1 Comentário
recentes
antigos mais votados
Inline Feedbacks
View all comments
Marco Aurelio
Marco Aurelio
11/04/2023 21:39

Oi boa noite, uma pergunta: vejo q você não usou as plavras reservada define aqui.
Pode me explicar o por que e quando devo usá las?

Home » Arduino » Franzininho WiFi: Explorando as GPIOs com Arduino

EM DESTAQUE

WEBINARS

LEIA TAMBÉM

JUNTE-SE HOJE À COMUNIDADE EMBARCADOS

Talvez você goste:


Seminário de
Sistemas Embarcados e IoT 2024
 
Data: 25/06 | Local: Hotel Holiday Inn Anhembi, São Paulo-SP
 
GARANTA SEU INGRESSO

 
close-link