Por que microcontroladores e microprocessadores não são concorrentes diretos?

É um fato que a internet das coisas só ocorreu nestes tempos por conta dos microprocessadores e microcontroladores. Estes evoluíram de tal forma que seu custo é muito baixo, e seu manuseio é muito simples. Então, o que são microcontroladores, e o que são microprocessadores? Como saber qual utilizar em seu projeto?

Microprocessadores são unidades de processamento. Não é o computador em si, mas é a parte talvez mais importante dele. Com o microprocessador, ou somente processador, é um chip que consegue fazer cálculos e tomar decisões com base nas instruções enviadas.

Já os microcontroladores, são computadores inteiros dentro de um único chip. Estes já possuem memória RAM, EEPROM, conversores digitais/analógicos, interfaces de entradas e saídas de dados e alguns outros recursos, que vão depender de chip para chip.

Num cenário pratico, suponhamos que precisamos acender a luz de um quarto via um controle remoto IR. Podemos pagar muito caro em um microprocessador, e todos os outros componentes de um computador, como memória para rodar o sistema operacional, saídas USB/Paralela para utilizar a saída, e programarmos em Python (por exemplo) para acender ou apagar uma luz com um relé.

Em outro cenário, poderíamos utilizar um chip microcontrolador, que teria tudo embutido, e utilizarmos uma porta digital para acionar o mesmo relé, sem sistema operacional, sem grandes quantidades de memória e outros recursos não necessários para este caso.
Falando de microprocessadores, atualmente existe uma gama enorme de placas robustas de baixo custo, e entre elas destaca-se a placa Raspberry Pi. Este hardware possui varias versões, mas elas já possuem 256Mb a 1G de memória RAM, já possui processamento de 700Mhz, saída HDMI para vídeo, suporte à rede, som e muitas outras funcionalidades. Praticamente um computador, com um tamanho muito pequeno. Esta placa no Brasil sai por volta dos R$ 150,00 à R$ 200,00 reais. Este já possui varias distribuições Linux compatível, o que pode nos dar o poder de utilizar um Apache, PHP, um forte sistema de banco de dados, linguagens de programação extremamente poderosas, como Python por exemplo.
Se formos falar em microcontroladores, não á como não falar de PIC e de Atmel. Este ultimo, ganhou notoriedade pela placa Arduíno, uma placa de prototipagem Open Hardware, que foi desenvolvida para ser trabalhada com módulos. Devemos focar no Arduíno, pois o proposito deste hardware sempre foi este: Ser de fácil acesso e ser uma boa plataforma de estudos. Se vale uma opinião pessoal do escritor, esta plataforma de desenvolvimento mudou a comunidade, fazendo-a crescer e incentivando novos participantes. Uma placa compatível, pode chegar em torno de R$ 25,00 à R$ 40,00 reais.

De qualquer forma, não estamos aqui para indicar qual plataforma é melhor que outra, mas sim indicar diferenças entre elas, para que o leitor saiba por onde começar.

Se o leitor está começando, não conhece muito de eletrônica nem programação, o melhor é começar com uma plataforma como Arduino. Esta vai dar uma boa noção do que é possível fazer. Assim que o conhecimento for aumentando, é natural que as ideias vão aflorando até que o hardware já não seja mais o suficiente. Assim, conforme o aprendizado vai sendo desenvolvido é possível começarmos aos poucos ir pensando num Raspberry Pi.

Grandes projetos podem utilizar tanto Raspberry Pi quanto Arduinos. Isso é completamente aceitável e normal.

E você? como começou? conte-nos suas experiências com ambos os hardwares.