0

Programação em Eletrônica Embarcada

Marcus Costa
Marcus Costa

Com a crescente automação mundial, de uma maneira geral, e mais recentemente pela penetração dos dispositivos IoT (Internet Of Things, ou Internet das Coisas, em português) aumenta-se também a necessidade de profissionais capacitados a desenvolver dispositivos de Eletrônica Embarcada. Esses dispositivos são caracterizados pela existência de microprocessadores reduzidos (microcontroladores) que, por sua vez, possuem em memória um programa dedicado, desenvolvido especificamente para a função que esse componente desempenhará dentro do dispositivo.

E, se o mercado está carente de profissionais da área de TI, em especial os desenvolvedores nas mais variadas linguagens de programação, os profissionais aptos a trabalhar com dispositivos microcontrolados são ainda mais especializados. Isso ocorre porque esse nicho em específico requer, além de conhecimentos de programação, uma maior profundidade no ramo da eletrônica digital. Para esse tipo de profissional, é necessário conhecer os circuitos eletrônicos, seus componentes, funções e comportamentos esperados, técnicas de prototipagem, etc. À seguir, descrevo resumidamente alguns desses aspectos:


MICROCONTROLADORES: são o cérebro do dispositivo e podem ter diversas variações de capacidade de processamento, clock, memória interna, portas, marcas/modelos, etc. Atualmente, a plataforma Arduíno tem ganhado muita popularidade, devido à facilidade de trabalho e quantidade de módulos básicos disponíveis comercialmente, que já possuem de forma integrada tudo o que é necessário para fazer o microcontrolador funcionar. Mas, apesar de serem excelentes para o aprendizado, nem sempre correspondem às tecnologias utilizadas nos produtos finais. Portanto, torna-se essencial conhecer mais à fundo as outras tecnologias disponíveis, como por exemplo o tradicional PIC e suas diversas famílias, dentre outros;


COMPONENTES ELETRÔNICOS: o microcontrolador sozinho não é capaz de fazer nada. Para que ele tenha alguma utilidade, é preciso adicionar circuitos periféricos do tipo sensores (que receberão informações do mundo externo) e/ou atuadores (que executarão alguma ação). Esses circuitos são compostos pelos mais diversos componentes eletrônicos, desde os mais básicos (resistores, capacitores, indutores, LEDs, etc.) até os mais complexos que podem corresponder a módulos inteiros que contenham seus próprios microcontroladores. Compreender o funcionamento desses circuitos e componentes é essencial inclusive para o desenvolvimento do programa, pois o comportamento do mesmo dependerá da correta integração com esses circuitos;


PROTOCOLOS: quando se fala em qualquer tipo de integração, os protocolos são necessários para que a comunicação seja estabelecida. Na eletrônica embarcada não é diferente. É possível a utilização de protocolos desde os mais tradicionais (RS232, USB, RS485, etc) até protocolos proprietários desenhados especificamente para a aplicação em questão. Um protocolo bem interessante é o I2C, que permite ligar vários componentes num único barramento, economizando dessa forma as portas do microcontrolador. De uma maneira geral, compreender o funcionamento dos protocolos e saber “escovar bits” é uma habilidade importante para se trabalhar com eletrônica embarcada;


PLACAS PCI/PCB: todos os elementos citados anteriormente precisam ser fisicamente montados em uma ou várias placas. Essas placas são chamadas de PCI (Placa de Circuito Impresso) ou, em inglês, PCB (Printed Circuit Board). São normalmente fabricadas em um material isolante (fibra de vidro, fenolite, etc.) coberto por um material condutivo (cobre) que fará as conexões eletrônicas entre os componentes. Elas podem conter uma, duas ou várias camadas condutivas, em linhas de produção mais elaboradas e de grande escala. Essas camadas são muito finas e, portanto, têm uma capacidade de corrente elétrica reduzida. Dessa forma, o profissional deve ser capaz (dentre outras coisas) de dimensionar corretamente a largura das trilhas de forma que o circuito ocupe o menor espaço possível e ainda assim consiga desempenhar sua função sem falhas ou sobrecargas. Sendo assim, a modelagem dessas placas é um processo importante e trabalhoso que requer o uso de softwares específicos, habilidade e conhecimento por parte do profissional. Talvez, por esse motivo, a plataforma Arduíno tenha se popularizado tanto, pois é comercializada em módulos que já incluem o microcontrolador montado em placas completas, com conectores padronizados que permitem o encaixe de outros módulos em cascata, dispensando assim a confecção de PCIs customizadas;


PROGRAMAÇÃO: por fim, e não menos importante, o profissional deve ser capaz de tratar todos os aspectos anteriores dentro do programa que será gravado no microcontrolador. Uma linguagem muito comum para essa finalidade é a C ANSI. Como o microcontrolador possui limitações de memória e processamento, é importante que o programa seja otimizado para ocupar o menor espaço possível sem prejuízo ao desempenho. Além disso, o conhecimento do DataSheet do microcontrolador utilizado é fundamental, pois seus contadores, registradores internos, portas, conversores AD/DA e demais módulos embutidos serão referenciados diretamente nas linhas do programa nos moldes descritos pelo fabricante.


DEBUG: diferentemente da programação tradicional, o processo de teste e correção de erros em eletrônica embarcada é um pouco mais complexo. Isso se deve ao fato de o programa estar sendo executado em outro ambiente, onde não é possível monitorar todas as variáveis e seus comportamentos em tempo real. Até existem ferramentas que permitem executar o código passo-a-passo. Mas, elas nem sempre poderão ser usadas, especialmente quando elementos externos adicionados ao circuito possuam comportamentos específicos. Por exemplo, se um microcontrolador estiver recebendo um sinal RF por meio de uma antena, não será possível executar esse sinal de forma pausada. De uma maneira geral, o processo de debug exigirá habilidades do profissional que incluem o uso de instrumentos de medição tais como multímetros, osciloscópios e outras ferramentas que não são muito usuais no ambiente dos programadores tradicionais. Nesse momento, os conhecimentos em eletrônica serão mais importantes ainda.


Finalmente, por mais que possa parecer complexo, o mundo da eletrônica embarcada é fascinante. De uma maneira geral, programar é uma atividade muito gratificante, pois te permite construir sistemas úteis, que nos ajudam a executar tarefas de forma mais rápida e eficiente. E, quando se soma a eletrônica a isso, é possível sair do ambiente virtual e concretizar esses sistemas no mundo material. A satisfação de controlar um objeto, seja ele luminoso, mecânico, sonoro ou de qualquer outra natureza, nos impulsiona a aprender cada vez mais sobre esse mundo tão amplo e cheio de possibilidades. Atualmente, existe muita informação disponível sobre todos os temas citados aqui. E, como em qualquer área da tecnologia, basta ter interesse e persistência para estudar cada aspecto e se aprofundar no conhecimento. Pra quem tem esse tipo de fome, nem o céu é um limite!

0
0

Comentários (1)

0
Willams Sousa

Willams Sousa

31/05/2021 17:12

Tenho eletrônica como hobby... comecei me interessar por essa área a partir da programação de sistemas operacionais. Quando reprogramei pela primeira vez o PIC e o PIT (chips dentro do PC), lendo os datasheets e usando código para manipular o hardware, me senti muito bem e comecei buscar mais proximidade com o hardware, conheci arduino e comecei fazer algumas coisinhas, mas daí foi necessário também estudar eletrônica mais a fundo.

É uma área, acima de tudo, divertida!


Ótimo artigo!


PS: "DEBUG: diferentemente da programação tradicional, o processo de teste e correção de erros em eletrônica embarcada é um pouco mais complexo. Isso se de..." Nem me fala, sofri horrores com códigos rodando no PC sem ter o sistema operacional, eu praticamente criei um debug só pra debugar. O código da camada de debug/log tinha tanto código quase quanto o próprio sisteminha rs



Maker autodidata convicto, sempre gostei de aprender a fazer eu mesmo praticamente todo tipo de trabalho. E, o que eu mais aprendi foi a aprender.

Brasil