10 de julho de 2020

Semáforo com botão para pedestre

Como realmente funciona o botão de pedestre nos semáforos e como fazer funcionar sem utilizar a função delay no projeto.


Existem algumas lógicas que podem ser aplicadas aos semáforos com botão para o pedestre e, as mais comuns são:
  • Sinal verde para veículos possui o tempo programado para determinados horários e, quando o botão de pedestre é pressionado, o tempo é reduzido.
  • Sinal verde para veículos sempre ativo até que o botão de pedestre seja pressionado.

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 MillisTimer 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.

30 de abril de 2020

Trava Analógica

Como nos cofres mecânicos, é necessário selecionar a combinação dos números girando o disco.


O projeto faz a simulação do "38 para direita, 21 para esquerda" como nos cofres de discos.

A combinação fica armazenada na memória EEPROM e é possível utilizar uma senha entre 1 e 5 números, sendo cada um entre 01 e 99.
No vídeo, a trava é aberta com a combinação 38 - 21 - 54.

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.

22 de abril de 2020

BadUSB - Digispark Attiny85

Veremos um exemplo de ataque por hardware e como pode ser perigoso.


O BadUSB é um dispositivo que ao ser conectado na porta USB do computador já efetua o ataque.
Não é necessário que o usuário execute e nem clique em nada.

7 de dezembro de 2019

Relógio Binário de Mesa

Vamos visualizar as horas em um relógio binário.


As horas são exibidas na primeira linha de leds, os minutos na linha do centro e os segundos na linha de baixo.

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.

16 de fevereiro de 2019

Dado Eletrônico com Attiny85

Pequeno projeto com o microcontrolador Attiny85.


3 de fevereiro de 2019

Zumbido Secreto

Um zumbido secreto começa quando as luzes se apagam.


18 de janeiro de 2019

Gravador Arduino - Bootloader e Sketch

Como gravar o bootloader e também o sketch no microcontrolador Atmega328.


Uma forma prática de como gravar vários microcontroladores sem gastar muito tempo.

8 de dezembro de 2018

Watchdog Timer - Reset Automático do Circuito

Um sistema de Watchdog é responsável por reiniciar o circuito caso ocorra travamentos.


O watchdog funciona como um cronômetro e, ao atingir seu tempo limite é disparado o comando de reset do circuito.
Em projetos onde o circuito necessita estar operando por várias horas, a utilização do recurso de reset automático para prevenção de travamentos é essencial.

É possível o sistema de watchdog por hardware e via software.
Vamos ver como fazer por software no Arduino.

2 de dezembro de 2018

Código Morse

O Código Morse é um sistema de comunicação binário enviado de modo intermitente. Os caracteres são representados por uma sequência única de pontos e traços.
Vamos codificar textos para sinais sonoros e visuais!


Criado por Samuel Morse em 1835, o código Morse surgiu para ser a linguagem utilizada na transmissão de mensagens através do telégrafo elétrico.

O sinal de socorro mais comum é o SOS, formado por três pontos, três traços e três pontos. Esse sinal é internacionalmente reconhecido.
...---...

1 de dezembro de 2018

Gravar arquivo .hex no Arduino - Proteger Sketch

Uma forma de proteger seu código fonte é compartilhar o arquivo compilado.


Após desenvolver o programa, é possível compilar gerando um arquivo com a extensão .hex e gravá-lo no Arduino.
Para projetos profissionais é uma maneira de manter seu código fonte seguro, podendo enviar para gravação nas placas sem compartilhar o desenvolvimento da lógica de programação.

18 de novembro de 2018

Descarga Automática

Como é o funcionamento de uma descarga automática.


O sensor detecta e somente aciona a descarga após verificar que não existe mais a presença.

4 de novembro de 2018

Sorteio Digital

Projeto para sortear números aleatórios entre 0 e 9.


Ao pressionar o botão um número é sorteado e exibido em um display de leds.

21 de outubro de 2018

Teste de Reação

O jogo para testar seu tempo de reação.


O display exibirá seu tempo de reação em milissegundos.

Memorize a cor do LED e mantenha o botão pressionado. O LED piscará aleatoriamente em cores diferentes, e ao visualizar a cor memorizada solte o botão!

Consegue ser rápido?