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


quinta-feira, agosto 26, 2021

Memórias da Entrada no Terceiro Milênio

 Existiu uma certa confusão sobre as celebrações de "virada do milênio" serem feitas no início ou final do ano 2000 (a wikipedia em inglês tem um texto sobre isso). Na prática, nós comemoramos no final de 1999. O que vou falar aqui abrange 1999 e 2000, um período meio confuso para mim.


terça-feira, agosto 24, 2021

Primeiras Impressões: Adafruit Feather RP2040

Para a sua primeira placa de microcontrolador, a Raspberry Pi Foundation decidiu criar o seu próprio microcontrolador, o RP2040, e oferecê-lo para outras empresas projetarem as suas próprias placas. Uma destas placas é a Feather RP2040 da Adafruint.


terça-feira, agosto 17, 2021

Acelerômetro 3 Eixos MMA8452: Um Módulo MicroPython para Usar com o Raspberry Pi Pico

No post anterior vimos um pouco sobre este sensor e um exemplo de uso com o Arduino. Neste post vamos ver como usá-lo com o PiPico, programando em MicroPython.


quinta-feira, agosto 12, 2021

Memórias dos Anos 90: Os Primeiros Coletores Symbol com Windows CE

No apagar das luzes do século XX a Symbol estava se encaminhando para o seu ápice, comemorando a ultrapassagem de 1 bilhão de dólares de faturamento anual. Uma parte importante desta receita era um contrato com o governo americano envolvendo novos modelos de coletores.

PPT2700, PDT7200 e PDT7500 (não em escala!)

terça-feira, agosto 10, 2021

Acelerômetro 3 Eixos MMA8452: Introdução e uso com um Arduino

Mais um sensor para a coleção! Este é um acelerômetro capaz de medir a aceleração em três eixos (X, Y e Z, onde Z normalmente é a vertical) e que implementa várias funções adicionais para facilitar o seu uso.

terça-feira, agosto 03, 2021

Usando Display LCD TTF de 2,4" com CircuitPython na Franzininho WiFi

Em um post anterior eu estudei a comunicação com este display, que é baseada em enviar de forma paralela oito bits de dados/comando. Para fins de teste, naquele post eu controlei um a um os sinais de dados. Mas isso é um gargalo, principalmente quando vamos programar em CircuitPython. 

Programando em C no Arduino, é fácil trabalhar num nível abaixo e acessar direto os registradores e atualizar os oito pinos de dados de uma vez. Nest post vamos ver a maneira "pythonica" de fazer isso.



domingo, agosto 01, 2021

(Mini)Crítica: As Séries Marvel na Disney+: WandaVision, The Falcon and The Winter Soldier e Loki

Uma grande expectativa se formou com relação a estas séries, que se propõem a fechar algumas pendências de "Vingadores: Ultimato" (o nome original, "Endgame", me parece mais apropriado). É também "preparação essencial para os filmes da fase 4 do MCU" (aprendemos alguma coisa com o "Capitã Marvel é essencial para Vingadores: Ultimato"?). Seguem os meus comentários, sem grandes spoilers.


quinta-feira, julho 29, 2021

Memórias dos Anos 90: SPT-1500 e Palm

Eu já escrevi, em 2006, um outro artigo sobre isso (O Longo Adeus ao Symbol Palm Terminal). Dê um pulinho lá e leia, pois vou tentar não ser repetitivo. Já de volta? Então vamos lá!



quinta-feira, julho 22, 2021

Memórias dos Anos 90: Marketing de Produto

Estamos chegando ao final dos anos 90 e a uma fase mais confusa da minha vida profissional. Vocês já me imaginaram trabalhando com Marketing?

Você compraria um coletor desse sujeito?


terça-feira, julho 20, 2021

Projeto: Timer com o Raspberry Pi Pico

Já é hora de eu apresentar um projeto completo com o PiPico! Este timer é uma montagem simples e me diverti bastante com o visual.



domingo, julho 18, 2021

Crítica: War of Honor (Honor Harrington #10)

Insistindo na saga de Honor Harrington, outro livro longo, mas uma leitura que foi mais suave.


quinta-feira, julho 15, 2021

Memórias dos Anos 90: Serviços Sistêmicos Profissionais

O título acima é meio grosseiro, mas foi o que achei em um documento. Embora eu me lembre de muitos detalhes da minha vida profissional, devo reconhecer que às vezes tenho dificuldade em dizer quando foi cada coisa. Há pouco tempo achei um CD de backup de 2002, para mim surpresa ainda estava legível e tinha documentos do tempo que trabalhei na Seal. Isso possibilitou delimitar melhor esta fase.

Logo (não oficial)


terça-feira, julho 13, 2021

Raspberry Pi Pico: Gerando Vídeo Alfanumérico Colorido

Como mencionei algum tempo atrás, um dos meus projetos com o PiPico é fazer um terminal de vídeo alfanumérico, para usar com meus projetos com microprocessadores antigos (Z80, 6502, etc). Como parte deste projeto, eu preciso aprender como gerar um vídeo alfanumérico colorido (a meta é pelo menos 24 linhas de 80 colunas).

Minha ideia foi fazer algo semelhante ao que é feito no modo alfanumérico da CGA/EGA/VGA, armazenando os códigos dos caracteres e um byte de atributo para cada um, gerando em tempo real a sequência de pixeis correspondente. Pelo pouco que eu tinha lido sobre as rotinas (experimentais) de geração de vídeo VGA com o PiPico, me parecia algo viável. Mas eu acabei sofrendo bastante para fazer o básico funcionar e, por enquanto, tive que me conformar com 40 colunas...


domingo, julho 04, 2021

Resenha: Thelonious Monk: The Life and Times of an American Original

Uma leitura um pouco diferente: a biografia do compositor e pianista de jazz Thelonius Sphere Monk. Esta leitura me faz relembrar a minha descoberta de Monk e aprender um pouco sobre as dificuldades que ele e outros artistas negros passaram.


terça-feira, junho 29, 2021

Gravando Firmware "AT" no Módulo ESP-01 (ESP8266)

Uma coisa que pode fazer falta no PiPico é a comunicação WiFi, o módulo ESP-01 me pareceu uma solução pequena e barata. Em uma primeira abordagem vou usar o firmware que trabalha com "comandos AT" (explico já). Embora normalmente este firmware já venha instalado, eu achei que era fácil gravar e resolvi ter certeza que tinha a versão mais recente. E aí se foram seis horas, a maior parte de frustração...


quinta-feira, junho 24, 2021

Memórias dos Anos 90: Um Bate-e-Volta

Uma das características dos meus anos na Seal foram as viagens internacionais. Pelo menos uma vez para o ano eu ia para o exterior (exceto por uma única vez, sempre para algum lugar nos EUA), quase todas as vezes para um treinamento ou evento técnico. Mas esta viagem em 1998 para Cincinnati foi diferente.

A lembrança da viagem


domingo, junho 20, 2021

Crítica: O Legado de Jupiter (a finada série da Netflix)

 Esta crítica é meio tola, já que a série foi cancelada. Mas a primeira e única temporada continua disponível e alguém pode estar se perguntando se vale a pena ver (spoiler: não).


terça-feira, junho 15, 2021

Calculando Pi na Plaquinha (Uno, PiPico, ESP32, BlackPill, etc)

Uma coisa que está na minha lista faz algum tempo é fazer testes de velocidade com as várias plaquinhas que eu tenho. Mais pela brincadeira, pois estes testes normalmente não representam direito o desempenho em aplicações reais. E aí me surgiu a ideia de fazer a comparação calculando os dígitos do Pi.


quinta-feira, junho 10, 2021

Memórias dos Anos 90: Spectrum 24 (parte 2)

Nesta segunda parte vou falar sobre as mudanças na série 3000 de coletores para suportar o Spectrum24 e duas linhas novas de coletores. Espero que parte destas coisas tenha algum interesse mais geral que simplesmente listar modelos de equipamentos obsoletos...

As versões retail e industrial do PDT61xx, o PDT68xx e o VRC69xx

terça-feira, junho 08, 2021

Sensor Ultrassônico HC-SR04 com o Raspberry Pi Pico (usando o PIO)

À medida em que vou entendendo o funcionamento do PIO (Programmable I/O) do Raspberry Pi Pico, mais oportunidades de usá-lo eu vou enxergando. O dispositvo da vez é o sensor de distância HC-SR04, cujo funcionamento já examinamos oito anos atrás (!).


quinta-feira, maio 27, 2021

Memórias dos Anos 90: Spectrum 24 (parte 1)

No post anterior eu falei sobre o Spectrum One, um sistema de rádio específico para os coletores da Symbol. O sistema seguinte de RF da Symbol foi o Spectrum 24, que tinham aspirações bem maiores.


terça-feira, maio 25, 2021

Examinando um Shield Arduino com Display LCD TTF de 2,4" Sensível ao Toque - Parte 2

Na primeira parte vimos como é a interface com o controlador do display.  E a detecção de toque? Esta parte não é tratada pelo controlador, porém utiliza alguns pinos em comum com ele. Quais pinos e como implementar a detecção de toque deu um pouco de trabalho.


quinta-feira, maio 20, 2021

Memórias dos Anos 90: O Sistema Spectrum One

 Uma das vantagens dos coletores da Symbol em relação à concorrência era o sistema Spectrum One de comunicação por rádio. Nos meus primeiros anos na Seal eu trabalhei muito com ele (posteriormente foi montado um time só para cuidar dos projetos com rádio frequência).

A base de rádio do Spectrum One. A antena era externa e existiam muitas opções

terça-feira, maio 18, 2021

Examinando um Shield Arduino com Display LCD TFT de 2,4" Sensível ao Toque

Esta é mais uma daquelas plaquinhas que a gente acha em vários lugares (eu comprei no Mercado Livre). Um detalhe importante é que existem muitas variações com a aparência semelhante (este site estranho lista uma dezena de variações). A que eu tenho tem a identificação "tftlcd for arduino uno (spiflash)".


domingo, maio 16, 2021

Crítica: Star Wars - Rebels

Concluído "The Clone Wars", emendei com  Rebels, que é uma espécie de continuação (entre as duas temos agora "The Bad Batch"). Segue um crítica onde tentei pegar leve nos spoilers.

Os rebeldes. Dá para descobrir quem é quem pelas minhas descrições?


quinta-feira, maio 13, 2021

Memórias dos Anos 90: Coletores de Dados II

Como a "série 3000" rodava DOS (DR_DOS para ser exato) algumas pessoas pensavam que dava para escrever programas em qualquer linguagem (de preferência Clipper, estamos nos anos 90). Mas a compatibilidade limitada e a pouca memória levava à minha velha amiga, a linguagem C.

Gerando um arquivo HEX para carga no coletor


terça-feira, maio 11, 2021

Raspberry Pi Pico: Usando o PIO para Interfacear um Teclado PS/2

Uma das características mais interessantes da PiPico é o PIO - Programmable Input/Output, que permite executar pequenos programas de manipulação de entrada e saída digital em paralelo à execução dos núcleos ARM Cortex M0+.

Resolvi estudar o PIO fazendo a interface com um teclado PS/2, que já examinamos aqui no blog. Neste post anterior nós usamos um Arduino e os dados eram lidos bit a bit em uma interrupção gerada pelo sinal de clock. Com a PIO o processador vai receber direto o dado completo.

Sou sujinho mas funciono, viu?


quinta-feira, maio 06, 2021

Memórias dos Anos 90: Coletores de Dados I

Como já mencionei, a maior parte do meu trabalho na Seal foi relacionado a coletores de dados (principalmente, mas não exclusivamente, fazendo programas para eles). É hora de começar a falar sobre eles.

Coletânea de fotos dos coletores da Serie 3000, fora de escala
Em sentido horário, partindo do alto à esquerda: PDT3300, LRT3800, PDT3500 e
PDT3100. No centro o VRC3910.


terça-feira, maio 04, 2021

MicroPython ou CircuitPython?

As placas que estou usando atualmente (a Franzininho WiFi e a Raspberry Pi Pico) possuem suporte tanto do MicroPython como do CircuitPython. O que são estes dois ambientes e o que tem de igual e diferente entre eles?


quinta-feira, abril 29, 2021

Memórias dos Anos 90: Código de Barras III

 Vamos encerrar estas lembranças sobre código de barras falando num outro fornecedor de aparelhos para a Seal: a Accu-Sort. A Seal fechou a representação em torno da época que eu entrei, o primeiro treinamento foi bastante marcante.

O modelo 55, bem em surrado e sem a cor azul de fábrica.


terça-feira, abril 27, 2021

Raspberry Pi Pico: Gerando Vídeo VGA Colorido

No post anterior sobre o PiPico vimos como gerar vídeo composto monocromático. Agora vamos ver algo mais útil: como gerar vídeo VGA colorido.

A foto é ruim e o monitor tem um defeito no canto superior direito, mas o importante é que funciona!


quinta-feira, abril 22, 2021

Memórias dos Anos 90: Código de Barras II

Continuando a falar sobre código de barras, vou falar neste post sobre a impressão e as soluções que a Seal oferecia para isso.

Algumas impressoras da época que comecei a trabalhar na Seal


domingo, abril 18, 2021

Crítica: Web Development with Angular and Bootstrap

Se já era esquisito eu estar programando "back-end" com Spring Boot, eis que agora estou programando "front-end" com Angular... Logo vocês poderão dizer que eu sou um programador "full-stack"!

Algum dia eu escrevo um post explicando porque considero as aplicações web um monte de gambiarras (no bom e no mau sentido). Angular está lá para o topo: a ideia é que a sua aplicação é um imenso JavaScript que vai rodar no browser e criar dinamicamente o HTML. Para obter as informações da retaguarda são, tipicamente, usadas API Rest. E na verdade você não escreve diretamente o JavaScript, grande parte é gerada automaticamente a partir de decorators e templates; o que você escreve é em TypeScript que é uma versão fortemente tipada do JavaScript. Só que o browser não entende TypeScript, ele é traduzido para JavaScript pelo Angular. O resultado é bem interessante.

Como de costume, resolvi ler um livro para aprender e, aproveitando uma oferta da Packt, o escolhido foi este "Web Development with Angular and Bootstrap" de autoria de Sridhar Rao Chivukula e Aki Iskandar. A minha experiência com livros da Packet tem variado bastante, o que acredito indicar que eles não são muito seletivos sobre o que publicar. Será que desta vez eu gostei?



quinta-feira, abril 15, 2021

Memórias dos Anos 90: Código de Barras I

Embora a Seal viesse a trabalhar com muitas outras coisas, ela era conhecida principalmente por vender equipamentos relacionados a código de barras. Já escrevi alguns posts técnicos sobre isso, aqui vou dar uma visão mais geral sobre o assunto no contexto da Seal.


terça-feira, abril 13, 2021

Usando a Raspberry Pi Pico na IDE Arduino - Suporte Oficial e Não Oficial

Talvez estejamos mal acostumados, mas a forma oficial da Raspberry para programação C/C++ na PiPico vem sendo considerada bastante complicada. É necessário instalar vários softwares (um plugin para o Visual Code automatiza isto, mas ainda são vários passos a serem seguidos) e a criação de um novo projeto requer mais que simplesmente dar File New e sair digitando.

O que muitos desejam é o suporte ao PiPico na IDE do Arduino. E isso já existe, tanto de forma oficial como não oficial. Vamos ver aqui como instalar e alguns detalhes sobre isso (por enquanto ainda não tenho muita experiência com as duas opções).


quinta-feira, abril 08, 2021

Memórias dos Anos 90: Mudando de Emprego

A troca de emprego em meados de 1993 foi uma mudança em vários sentidos e, para o bem ou para o mal, me alargou os pontos de vista e conhecimentos.

O jovem eu na minha mesa*


terça-feira, abril 06, 2021

Raspberry Pi Pico: Gerando Vídeo Composto

Uma (das muitas) diferenças óbvias entre o Raspberry Pi Pico e os outros modelos de Raspberry é a ausência de uma saída de vídeo (lembrando, o PiPico é uma placa de microcontrolador e os demais são "computadores em uma única placa").

Mas, com o acréscimo de alguns resistores e um pouco de engenhosidade de software, é possível gerar vídeo com o PiPico. Neste post e no próximo vamos ver duas formas de fazer isso.


domingo, abril 04, 2021

Crítica: Robot Building for Beginners (Primeira Edição)

Mais um livro "antigo" removido da estante! Este livro foi lançado em 2002, comprado em 2009 e lido somente em 2021... Devo alertar que é uma edição antiga, já foram lançadas a segunda e terceira edições (esta última em 2015). Mas vamos deixar de lado a minha compulsão de comprar mais livros que consigo ler...

David Cook escreve mais de 500 páginas sobre um robô simples, controlado por um simples comparador de tensão (algo semelhante ao DG-2000 que eu já testei). Exagero?


terça-feira, março 23, 2021

Microcontrolador 8051: Gravando um Firmware no AT89S51 (e o AT89S52) com o Avrdude e um Arduino

Uma vez que os comandos de programação serial do AT89S51 são semelhantes aos dos microcontroladores AVR, me pareceu natural que o avrdude poderia ser usado para programá-lo, usando um Arduino Uno com o sketch ArduinoISP. Existem alguns tutoriais sobre isso na internet, mas quando fui tentar surgiram algumas dificuldades...



domingo, março 21, 2021

Crítica: Star Wars - The Clone Wars (série animada de 2008 a 2020)

Uma das (não muitas) coisas de meu interesse no Disney+ é esta série, que eu não acompanhei na época de lançamento (nem nos anos seguintes). Apesar do Disney+ não ser muito orientado a maratonas, assisti nos últimos meses a todos os episódios.


Alerta: Se você for uma das raras pessoas que não assistiram a "pré-trilogia" (episódios I a III), pare aqui mesmo pois vai ter spoilers!).

quinta-feira, março 18, 2021

1990: O Ano em Que Nos Ferramos

Este vai ser um post meio amargo. Só não é amargo por completo porque em 1990 teve uma coisa muito boa: o nascimento do meu filho.

No capítulo anterior a Humana estava indo super bem, atingindo a segurança financeira e vendendo uma centena de cópias de Zapt por mês. Existia a preocupação com a inflação descontrolada e a incógnita do "caçador de marajás" que tinha sido eleito presidente, mas nada preparava para o que ia acontecer.


Zélia Cardoso de Melo

segunda-feira, março 15, 2021

Um ano de "quarentena"!

 Foi no dia 15 de março de 2020 (um domingo) que eu mandei um email falando que pretendia "reduzir as presenças na empresa" e trabalhar mais em casa. No dia 16 eu dei uma passada rápida para pegar algumas coisas. A secretária perguntou se eu achava que a situação ia durar muito, eu ingenuamente pensava que poderia chegar a alguns meses mas tudo estaria melhor no segundo semestre... Uma semana depois todos os funcionários passaram a trabalhar de casa.

domingo, março 14, 2021

Resenha: The Old New Thing

No começo dos anos 2000, uma leitura diária era o blog  The Old New Thing (que continua com posts diários). O blog é escrito por um desenvolvedor da Microsoft, Raymond Chen, e trata (na maior parte do tempo) de detalhes e curiosidades sobre software, principalmente o Windows.

É claro que eu comprei o livro, o que me espanta é ele ter ficado na prateleira este tempo todo. 



quinta-feira, março 11, 2021

Memórias dos Anos 80: O incrível ano de 1989

1989 foi, em muitos aspectos, um ano especial. Mas a gente só foi descobrindo isso aos poucos. No lado pessoal, completei 30 anos, casado e com uma filha (no segundo semestre ficamos grávidos novamente). A Humana mantinha o ritmo de crescimento e agora ocupava duas casas, um somente para a equipe de desenvolvimento.


terça-feira, março 09, 2021

A Primeira Semana com o Raspberry Pi Pico

Enquanto eu estava falando aqui no blog sobre o veterano 8051, no mundo futurístico de 2021 o assunto (para os amantes de "plaquinhas") tem sido o Raspberry Pi Pico (que eu vou chamar de PiPico). Já fiz dois vídeos sobre ele (um antes e um depois de receber a placa).

Este post deve ser o primeiro de uma longa série, à medida em que eu estudo o PiPico e faço alguns projetos com ele.

My precious!


quinta-feira, março 04, 2021

Memórias dos Anos 80 e 90: Evoluções do Zapt

 Vou fugir aqui da ordem cronológica e falar sobre as evoluções do Zapt após o seu lançamento.

O folheto do Zapt também evoluiu


terça-feira, março 02, 2021

Microcontrolador 8051: Usando um ESP32 para Gravar Firmware em um AT89S51 (parte 2)

Neste post vou concluir o projeto começado no post anterior. Os problemas que eu tive? Aparentemente foi principalmente mau contato (notadamente na fonte de 5V), mas acabei fazendo também alguns ajustes no hardware e software.

Funciona!