Mostrando postagens com marcador Programação. Mostrar todas as postagens
Mostrando postagens com marcador Programação. Mostrar todas as postagens

10 de janeiro de 2026

Reset no Arduino

Em alguns projetos pode surgir a necessidade de reiniciar o Arduino, sem apertar o botão físico de reset.

Podemos resetar nosso circuito via software, mas é importante saber que nem toda forma de reset funciona da mesma maneira.

Já vimos que o Watchdog Timer é uma forma de proteger o circuito contra eventos não esperados, efetuando o reset automático.
Mas pode existir situações que precisaremos que o circuito seja reiniciado, seja por algum gatilho automático, que não envolva erros, ou por um gatilho manual, como um comando enviado remotamente.

1 de janeiro de 2026

Caixa Eletrônico - Painel de Saldo

Simulando um caixa eletrônico utilizando um LCD como um painel de saldo.


Toda a interação acontece pelo Monitor Serial, onde o usuário digita as operações de depósito e saque.

LCD 16x2 com módulo I2C exibe o saldo atual e informações das operações realizadas. E os dois LEDs ajudam a dar feedback visual: verde para operação realizada com sucesso e vermelho para indicar erro.

25 de dezembro de 2025

Validador de Datas

Validando se uma data é válida, com o Arduino.

Através do Monitor Serial o usuário digita uma data e o Arduino analisa se é válida ou não, verificando as regras de dia, mês, ano e se o formato está correto.

O foco desse projeto não é a data em si, mas o estudo de lógica de programação, usando o Arduino como a ferramenta para interpretar textos e aplicar as regras. 

20 de dezembro de 2025

Validador de Senhas

Validando se uma senha é segura, utilizando o Arduino.


A ideia é simples: o usuário digita uma senha pelo Monitor Serial e o Arduino analisa com base em algumas regras, como tamanho mínimo, presença de números, letras maiúsculas e caracteres especiais.

26 de agosto de 2023

ButtonControl - Controlando os cliques dos botões

Em diversos projetos precisamos agilizar o controle de cliques em push buttons e, então, fiz essa biblioteca para me auxiliar.

Com a ButtonControl é possível controlar cliques rápidos e também cliques duplos, triplos, longos e sequenciais. Além de retornar os tempos dos cliques em milissegundos.

22 de junho de 2023

Cipher Code - Cifrando Textos

 Vamos ver exemplos de técnicas para cifrar textos.

As Cifra de Vigenere, Cifra de Espelhamento, Cifra Matemática e a Cifra de César são algumas das quais apliquei na biblioteca CipherCode.

São técnicas para cifrar mensagens e envia-las de forma segura aos seus destinatários. E montar esses algoritmos são uma excelente maneira para estudos de lógica de programação.

10 de outubro de 2022

Teste de rede com PING no ESP32

Realizando testes de conexão com o comando Ping no ESP32.

Para monitorarmos a comunicação com outros equipamentos e realizarmos a verificação se a conexão com a internet e/ou rede interna estão ativas.

1 de abril de 2022

Cartão de memória Micro SD no Arduino

Salvar todas as informações em arquivo de log em cartão Micro SD é muito importante para determinados projetos.

Um arquivo mantendo o histórico de retorno de todos os sensores do circuito e outro com as informações dos atuadores são exemplos úteis.

1 de março de 2022

Relógio e Temperatura no Arduino - RTC DS3231

Quando é necessário que o projeto tenha um controle de data/hora, utilizamos o circuito RTC (Real-time clock).


O módulo DS3231 possui uma bateria externa para manter o relógio em atividade quando o circuito estiver desligado e um sensor de temperatura ambiente integrado.

4 de julho de 2021

Cifra de César

Uma das técnicas mais antigas para cifrar mensagens, utilizada por Júlio César durante o império Romano, para se comunicar com suas tropas durante as guerras.

A técnica de substituição das letras que chamamos de Cifra de César.

3 de junho de 2021

Gravar Arquivos no ESP32 - SPIFFS

SPI Flash File System é o sistema de arquivos do ESP32. É possível acessar a memória flash para ler, gravar, renomear e excluir arquivos.

Um sistema de monitoramento gerando arquivos de log em txt, o html de uma página, ou um arquivo com parâmetros de configurações são bons exemplos para uso.

1 de maio de 2021

Calculadora de Cores de Resistores

O valor de um resistor é indicado através de um código cores. Vamos criar uma calculadora onde poderemos informar o valor do resistor e verificarmos quais são as suas cores.

Esse é um bom exemplo para estudos de lógica de programação.
Trabalharemos com os tipos de variáveis String, long e int, e utilizaremos substring e conversão de variáveis.

25 de abril de 2021

Data e Hora no ESP32 - NTP

O NTP (Network Time Protocol) é o protocolo que permite a sincronização do relógio do circuito com a internet. Mantendo a data e a hora sempre atualizadas em tempo real.


Um circuito com a data e a hora sempre atualizadas, principalmente para projetos IoT (Internet das Coisas), é muito importante.

8 de junho de 2020

Delay com Millis() - Multitarefas

Quando é necessário executarmos várias tarefas ao mesmo tempo, precisamos limitar a utilização do delay() no código fonte, e utilizarmos mais a função millis().


A função millis() retorna o tempo que o microcontrolador está ligado, em milissegundos.
Guardando o valor de tempo que o processo foi executado e comparando com o valor de tempo atual, poderemos calcular quando deve ser executado novamente.

Para facilitar a lógica, fiz a biblioteca MillisTimerLib que faz o gerenciamento das variáveis para cada processo que for utilizar.

17 de maio de 2020

Comunicação Python com Arduino

Através da comunicação serial, o Arduino troca informações com um programa Python no computador.


O Python pode receber informações de sensores conectados ao Arduino e enviar comandos para serem executados.

8 de maio de 2020

Saídas PWM no ESP32 - Biblioteca

Utilizar as saídas PWM no ESP32 é um pouco diferente do Arduino.
É necessário configurar os canais, a resolução e a frequência que será utilizada por cada pino.


Para facilitar o uso, fiz a biblioteca PWMOutESP32 que permite que o uso seja simplificado.
Utilizando a biblioteca para controlar as saídas PWM, usa-se somente o analogWrite() como é no Arduino.

25 de abril de 2020

Sequencial de LEDs com Fade

Com controle de brilho e estruturas de repetições vamos acionar seis leds em um sequencial.


Utilizamos a modulação por largura de pulso, o PWM (Pulse-Width Modulation), para controlar a intensidade dos leds.

24 de agosto de 2019

Watchdog Timer - ESP32

Um sistema de Watchdog é responsável por reiniciar o circuito caso ocorra travamentos.
Vamos ver como configurá-lo no ESP32.


Na postagem Watchdog Timer - Reset Automático do Circuito foi detalhado melhor como funciona um watchdog e, utilizamos um Arduino.

Nesse exemplo veremos como utilizar no ESP32.

3 de agosto de 2019

WiFi Scan com ESP32 - Buscando e conectando em redes abertas

O circuito permanece verificando as redes WiFi disponíveis e, quando encontrar redes abertas efetua a conexão na que estiver com o melhor sinal.


Quando já conectado, continua verificando se existem redes abertas com um melhor sinal e, caso exista, faz a conexão na nova rede.

9 de julho de 2019

Loterias

Vamos ver o funcionamento da função random() sorteando números da loteria.