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.
É 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.
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.
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.
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.
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
16 de fevereiro de 2019
Dado Eletrônico com Attiny85
Pequeno projeto com o microcontrolador Attiny85.
Marcadores:
Arduino,
Attiny85,
Eletrônica,
Push Button,
Random
Compartilhe a postagem:
3 de fevereiro de 2019
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.
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.
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.
...---...
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 e ESP32 - 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.
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.
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.
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?
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?
13 de outubro de 2018
SleepMode - Reduzindo o consumo de energia do Arduino
Como reduzir o consumo de energia do projeto e aproveitar as baterias por muito mais tempo.
Um Arduino Pro Mini ligado sem nenhuma carga, caiu de 15 mA para apenas 3 mA. Uma redução de 80% do consumo.
Um Arduino Pro Mini ligado sem nenhuma carga, caiu de 15 mA para apenas 3 mA. Uma redução de 80% do consumo.
Marcadores:
Arduino,
Interrupção Externa,
Programação,
Push Button,
SleepMode
Compartilhe a postagem:
6 de outubro de 2018
28 de janeiro de 2018
11 de janeiro de 2018
9 de dezembro de 2017
3 de dezembro de 2017
18 de novembro de 2017
Controle de Acesso com RFID e EEPROM
Controlar o acesso através de tags RFID (Radio Frequency IDentification) é uma solução muito utilizada nos dias hoje.
Esse projeto armazena os cartões cadastrados na memória EEPROM.
Esse projeto armazena os cartões cadastrados na memória EEPROM.
14 de novembro de 2017
12 de novembro de 2017
20 de fevereiro de 2016
Capacitor de Fluxo
O capacitor de fluxo é o principal componente da máquina do tempo
construída pelo Doutor Brown. É o componente responsável por tornar a
viagem no tempo possível.
29 de junho de 2014
MemoryLib.h EEPROM
Vamos falar um pouco sobre a memória EEPROM.
Essa biblioteca vai ajudar!
Quando desenvolvemos um projeto com o Arduino nosso de cada dia, muitas vezes precisamos manter os valores de algumas variáveis, de forma que seja possível desligar o circuito sem a perda da mesma.
Um circuito de um relógio, por exemplo, para ter a função alarme/despertador, temos que guardar o horário em memória.
A biblioteca que já conhecemos e utilizamos para acessar a memória, nos permite escrever em cada endereço apenas 1 byte (valores de 0 a 255).
Mas se precisarmos armazenar um valor lido por um sensor conectado na porta analógica, que nos retorna valores de 0 a 1024?
E se entre as infinitas possibilidades, precisarmos armazenar um valor compreendido entre 0 a 999999999?
Para esses casos já começamos a ter um certo trabalho. Foi pensando nisso que resolvi desenvolver essa biblioteca que faz esse gerenciamento da memória EEPROM e facilita a minha vida!
E só incluir a MemoryLib.h no projeto e vida nova!
Essa biblioteca vai ajudar!
Quando desenvolvemos um projeto com o Arduino nosso de cada dia, muitas vezes precisamos manter os valores de algumas variáveis, de forma que seja possível desligar o circuito sem a perda da mesma.
Um circuito de um relógio, por exemplo, para ter a função alarme/despertador, temos que guardar o horário em memória.
A biblioteca que já conhecemos e utilizamos para acessar a memória, nos permite escrever em cada endereço apenas 1 byte (valores de 0 a 255).
Mas se precisarmos armazenar um valor lido por um sensor conectado na porta analógica, que nos retorna valores de 0 a 1024?
E se entre as infinitas possibilidades, precisarmos armazenar um valor compreendido entre 0 a 999999999?
Para esses casos já começamos a ter um certo trabalho. Foi pensando nisso que resolvi desenvolver essa biblioteca que faz esse gerenciamento da memória EEPROM e facilita a minha vida!
E só incluir a MemoryLib.h no projeto e vida nova!
Assinar:
Postagens (Atom)








