terça-feira, janeiro 25, 2022

Entrada Digital no RP2040 (Raspberry Pi Pico)

 Complementando o que vimos no post anterior, vamos dar uma rápida olhada nos recursos disponíveis na entrada digital.

Estrutura lógica de um pino do RP2040 (fonte: datasheet)


terça-feira, janeiro 11, 2022

Saída Digital no RP2040 (Raspberry Pi Pico)

A saída digital em microcontroladores parece ser muito simples, principalmente se você está acostumado a programar com a biblioteca Arduino. Com um comando você coloca um pino em nível alto ou baixo. Isso é tudo? Não... vamos ver neste post algumas considerações importantes no caso particular do RP2040 (o microcontrolador usado na Raspberry Pi Pico).

Display de 7 segmentos acionado pela Pi Pico


domingo, janeiro 09, 2022

Crítica: Sid Meier's Memoir!

Mais um livro de memórias de um desenvolvedor de jogos. Desta vez são as memórias de Sid Meier, mais conhecido por Civilization mas que trabalhou também em vários outros títulos de sucesso.


sábado, janeiro 01, 2022

Resoluções de Ano Novo - Edição 2022

No final das contas, 2021 foi um ano bastante agitado. Mantendo a tradição, é hora de rever as resoluções do ano passado e fazer novas.

terça-feira, dezembro 14, 2021

Ruminações sobre o "log4Shell" (CVE-2021-44228)

Domingo, estou desligando a TV para dormir e o celular dispara: mensagem, email e chamada de voz! É um cliente preocupado com a vulnerabilidade no log4j descrita no CVE-2021-44228. Neste post vou falar um pouco sobre o que é, porque preocupa (e porque não), como resolver e algumas divagações filosóficas sobre como essas falhas surgem.

"Foi o Java que me deu"

quinta-feira, dezembro 09, 2021

(Mini) Avaliação: Raspberry Pi zero 2 W

Seis anos atrás a Raspberry Foundation surpreendia muita gente ao lançar a Raspberry Pi Zero, uma pequena placa com capacidade computacional próxima à Raspberry Pi original e o incrível preço de US$5. Pouco mais de um ano depois ela foi seguida pela versão Zero W, com WiFi e Bluetooth, por US$10 (veja minhas mini avaliações aqui). No final de outubro passado foi anunciada uma nova versão, o Raspberry Pi Zero 2 W. Vamos ver o que mudou e o que permanece o mesmo?

No alto, à esquerda, a Raspberry Pi Zero. À direita, a Zero W. Na frente, a Zero 2 W.


quinta-feira, dezembro 02, 2021

Dezesseis Anos do Blog

 E chegamos a mais um aniversário do blog! Hora do tradicional balanço anual.


quinta-feira, novembro 25, 2021

Avaliação: Robocore Vespa

Neste post vamos dar uma olhada na placa Vespa da Robocore, que é uma placa voltada para robótica  utilizando o microcontrolador ESP32. 


terça-feira, novembro 16, 2021

ADC (Conversor Analógico Digital) - Parte 8 - ADS1115

Desta vez, ao invés de falar em um ADC interno a um microcontrolador, vamos falar de um ADC em um circuito integrado separado. Módulos com o ADS1115 são facilmente encontráveis e são uma opção popular para os Raspberry Pi.

Módulo ADS1115


quinta-feira, novembro 11, 2021

Franzininho DIY: Detector de Proximidade

 Já faz mais de três anos desde o último post com um projeto com a Franzininho DIY! Finalmente acho que estou avançando em uma ideia daquela época: juntar todos estes projetos em um livro. Daí veio a busca por ideias para novos projetos. O primeiro resultado está aqui.


terça-feira, novembro 09, 2021

ADC (Conversor Analógico Digital) - Parte 7 - RP2040

Chegou a vez de falar do conversor analógico digital do RP2040, que é o microcontrolador usado na Raspberry Pi Pico.

Diagrama de Blocos do ADC do RP2040 (fonte: datasheet)


terça-feira, novembro 02, 2021

ADC (Conversor Analógico Digital) - Parte 6 - ESP32

Embora seja mais conhecido por incorporar WiFi e Bluetooth, o ESP32 é bastante rico em recursos. Um deles é o ADC, que é bastante complexo. Vamos dar uma olhada rápida no que é oferecido.

O ESP32 possui dois conversores analógico digitais de 12 bits, capazes de operar de forma simultânea e independente. As opções de entrada incluem 18 pinos e mais 4 sinais internos; os resultados podem ir para cinco controladores diferentes (ADCn CTRL), conforme mostrado na figura abaixo (atenção que pad-in[n:0] indica n+1 pinos).

Diagrama de Blocos do ADC do ESP32 (fonte: manual de referência técnica)

domingo, outubro 31, 2021

Resenha: A Trilogia Thrawn (Star Wars)

Publicados entre 1991 e 1993, os três livros que compõem a Trilogia Thrawn tem sido bastante mencionados desde o anúncio da terceira trilogia de filmes (muitos afirmam que a trama neles é muito superior à da "trilogia Disney"). Resolvi dar um tempo na minha leitura de livros físicos (e sérios) e verificar.

terça-feira, outubro 19, 2021

ADC (Conversor Analógico Digital) - Parte 5 - MSP430F2013

Faz algum tempo que não falo no MSP430, um microcontrolador muito interessante mas que não fez muito sucesso com os makers. O modelo MSP430F2013 foi o primeiro que eu tive contato como parte da ferramenta eZ430-F2013. E este modelo contém um ADC Sigma Delta (SD16).

Diagrama de bloco do SD16 (fonte: MSP430x2xx Family User Guide)


terça-feira, outubro 12, 2021

ADC (Conversor Analógico Digital) - Parte 4 - ATmega328

Vamos examinar agora o ADC de um microcontrolador específico: o ATmega328 usado no Arduino Uno (de um modo geral o que vamos ver aplica também a outros membros da família ATmega e mesmo ao ATtiny).

O diagrama de blocos do ADC do ATmega328 (fonte: datasheet)


quinta-feira, outubro 07, 2021

Memórias dos Anos 2000: A Unidade de Negócios de Software

Nesta fase das minhas memórias não vou tentar ser cronológico, nem muito específico ao trabalho na Seal; vou tentar falar de algumas coisas mais genéricas sobre trabalhar com software em empresas cuja atividade principal é vender hardware.


terça-feira, outubro 05, 2021

ADC (Conversor Analógico Digital) - Parte 3 - Sigma Delta

Embora o mais comum nos microcontroladores seja implementar o ADC usando a Aproximação Sucessiva (SAR - que vimos no post anterior), alguns utilizam o mais sofisticado (e complicado) Sigma Delta (também chamado de Delta Sigma).

Diagrama de um ADC Sigma Delta (extraído da ref 3)


terça-feira, setembro 28, 2021

ADC (Conversor Analógico Digital) - Parte 2 - Aproximação Sucessiva

Uma forma bastante comum de implementar um ADC é através de aproximação sucessiva. Como veremos, este método fornece um resultado preciso com um circuito de (relativo) baixo custo, em troca de um tempo maior de conversão.

Diagrama de Blocos - Adaptado de https://en.wikipedia.org/wiki/Successive-approximation_ADC


quinta-feira, setembro 16, 2021

Memórias dos Anos 90: O Personal Shopper System

Vou quebrar a sequência cronológica dos meus posts de memória e voltar alguns anos atrás para falar de um sistema que eu conheci nos anos 90 e que eu vi em prática recentemente: o PSS (Personal Shopper System). Neste sistema, o cliente do supermercado realiza ele mesmo a leitura dos códigos de barras dos produtos à medida em que os pega nas gôndolas (prateleiras) e coloca no carrinho. Parece uma viagem? Está funcionando desde os anos 90 em lojas do supermercado Albert Heijn na Holanda.


terça-feira, setembro 14, 2021

ADC (Conversor Analógico Digital) - Parte 1

Este post é o primeiro de uma série a respeito de um recurso importante dos microcontroladores: o conversor (de) analógico (para) digital. Depois que a gente aprende o analogRead do Arduino, corre-se o risco de tratar o ADC como se fosse um periférico perfeito, que magicamente converte uma tensão em um número. Nesta série vou estudar o que é um ADC, quais suas características importantes, as formas comuns dele ser implementado e ver como ele é em alguns microcontroladores populares (e também num componente externo).

Um dos exemplos de AnalogRead na IDE do Arduino