Manual
do
Maker
.
com
Como sair dos microcontroladores de 8 bits? - Enfim, o Arduino evoluiu e chegou ao momento atual da história, deixando para trás sua guerra vencida contra os PICs. Mas o Arduino UNO R4 WiFi tem uma característica que me apaixonava no Arduino Industrial 101; ele é um híbrido - isso é, ele tem 2 processadores de arquiteturas diferentes rodando na mesma placa! Vamos às características.
Vou começar o artigo parafraseando a apresentação da loja oficial do Arduino, porque aqui não há o que inventar.
Começando pelo WiFi, trata-se de um ESP32-S3. Só isso já é um absurdo de hardware, rodando a 240MHz com WiFi, bluetooth e a habilidade de rodar sistema operacional de tempo real, permitindo o paralelismo de tarefas, invés do tradicional tratamento de breaks do fluxo para tratamento de interrupções - não que o ESP32 não os tenha, mas o modo de trabalho em um sistema operacional de tempo real é muito mais prazeroso do que tratar eventos em microcontrolares de 8 bits. Sugiro que dê uma olhada aí no menu ESPRESSIF (sabe qual é o logo?) para se situar, caso ainda não tenha brincado com um ESP32.
O segundo processador dessa placa magnífica é um ARM Cortex M4 de 48MHz da Renesas, que também roda sistema operacional de tempo real. Olha só, 2 computadores em uma só placa!
Esbanjando recursos, a Arduino UNO R4 WiFi tem no topo da placa uma matriz de LEDs 12x8. Meu jovem, lembro da euforia que era ver uma placa-mãe com display de 7 segmentos. Hoje temos uma microcontroladora com uma matriz de LEDs!
Outro recurso disponível na placa é o conector Qwiic; aquele conector retangular branco. Mas não sei de fato o quão utilizável é, já que passamos a depender de uma conexão específica para ele. Mas ele é excelente para evitar erros de conexão em prototipagem.
Melhor que o conector, esa placa possui um VRTC, que é uma referência de tensão estável no circuito, eliminando assim os indesejáveis ruídos que normalmente temos. Isso garante uma estabilidade excelente no conversor ADC, ou seja, tiraremos leituras muito mais confiáveis com essa plaquinha linda!
Além do form factor (formato da placa), o pinout e nível lógico de 5V foram mantidos. Isso significa que você não perderá nenhum periférico que já tenha.
Entre os novos periféricos, temos um ADC de 12 bits. Meu caro, isso dá *4096 valores de resolução em um ADC ungido pelo filtro!
A tolerância da tensão de entrada também está absurda; de 6VDC à 24VDC, podendo compartilhar da mesma fonte com motores, fitas LED e outros atuadores (não conectado diretamente à placa, mas sendo alimentados pela mesma fonte). O ESP32 é originalmente 3V3.
Tem que ficar esperto com o uso do GPM. A corrente máxima por pino é de 8mA, o que não acende mais do que a bunda de um vaga-lume. Não use para alimentar LEDs e considere os GPIO exclusivamente como pinos de sinalização.
Em relação a memórias, o ARM tem 256KB de flash e 32KB de RAM. Já o ESP32, 384KB ROM e 512KB de SRAM.
É bom da uma olhada no datasheet, já que é uma placa que segue um novo padrão, mas não precisa ficar preocupado em relação à programação dela, pois o framework do Arduino abstrairá amplamente os conceitos das MCUs, assim como faz com dezenas de placas. Além do mais, você sempre pode vir aqui no site e dar uma pesquisada na nova caixa de busca rápida. Não experimentou ainda? Digite um termo qualquer então.
Não há compatibilidade completa, dependendo do nível de acesso ao hardware que a biblioteca faz. Tratando-se de outras MCUs, obviamente as portas e outros recursos estão dispostos em outros lugares e/ou de outra forma. Mas continua sendo o mesmo padrão de programação, fique tranquilo.
Olha só, fizeram um programa gráfico para o controle da matriz de LEDs, então não é um recurso que ficará de enfeite! Confira no Labs do Arduino. A ferramenta serve para desenho e animação. E por falar em "desenho" e "animação", para qualquer outro display, fiz o programa EasyMaker-IS para imagem e o programa EasyMaker-AS para animação. Ambos gratuitos.
Apesar de ser multiplataforma, compilei ambos apenas para WIndows no momento. Se precisar de referência sobre ambos, os artigos relacionados são https://www.manualdomaker.com/article/imagem-em-display-oled-com-easymaker/ (mas o programa serve para OLED, LCD, E-Ink etc). E para o EasyMaker-AS, https://www.manualdomaker.com/article/animacao-no-t-display-com-easymaker-as/ (tem mais, só olhar aí na caixa de pesquisa).
Os vídeos relacionados: EasyMaker Image Suite EasyMaker Animation Studio GIF animado no ESP32
Se ainda está usando a versão 1.8 da IDE do Arduino, desprenda-se e baixe a versão mais atual da IDE do Arduino. Será necessário.
Vá em board manager no menu da esquerda, procure por UNO R4 WiFi e instale a versão desejada (provavelmente a mais atual será a pretendida). Feito isso, bastará selecionar a placa, usar o Checkmark para compilação e fazer o upload da forma tradicional. Em Exemplos, tem alguns pontos de partida para o "test-drive". Agora é só esperar pela série aqui no blog e pelos vídeos em nosso canal DobitAoByte no Youtube!
O conector Qwiic é um conector para periféricos I2C. Alguns periféricos já vem acompanhados desses conectores, mas não é "tão" comum.
Ela possui um RTC interno, que já auxilia em vários projetos que dependam de temporização precisa. Ponto de novo.
Autor do blog "Do bit Ao Byte / Manual do Maker".
Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.