> For the complete documentation index, see [llms.txt](https://vitalino.gitbook.io/index-of/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vitalino.gitbook.io/index-of/arduino/entendendo-o-arduino.md).

# Entendendo o Arduino

O Arduino é uma plaquinha de prototipação dotada de um microcontrolador de 8 bits, com 2KiB de RAM, 32KiB de armazenamento para a aplicação, 1 KiB de armazenamento persistente de dados, clock de 16MHz, porta USB, e pinos digitais e analógicos para comunicação com outros dispositivos e o mundo externo (pelo menos em se tratando do Arduino Uno).\
\
Ele possui algumas versões onde variam o microcontrolador e a quantidade de pinos. Exemplos: Uno (ATmega328 e 14 pinos digitais), Mega (ATmega2560 e 54 pinos), Leonardo (ATmega32u4 e 20 pinos), Due (ARM Cortex M3 e 54 pinos).\
\
Como o Arduino é um projeto de hardware livre, seu modelo esquemático é disponibilizado abertamente sob licença Creative Commons. Como pode ser visto aqui:

<figure><img src="/files/5O5mNspB1lv0TApBLW5S" alt="" width="563"><figcaption></figcaption></figure>

Essa abertura das especificações do funcionamento da placa faz com que "qualquer um" possa montar do zero seu próprio Arduino, e garantindo o mesmo funcionamento e compatibilidade com programas e dispositivos feitos para ele (permitindo o surgimento de alternativas como o Lilypad, Freeduino, Severino, e etc).\
\
Um programa para o Arduino é chamado de "sketch", que significa "rascunho" (devido ao propósito de prototipação da plataforma). Mas este termo também tem relação com o fato do Arduino IDE ser baseado no "Wiring", que já usava o termo "sketch" para se referir ao código de programas.\
\
A linguagem de programação é a "Arduino Language", implementada em C++ (e baseada no Wiring). Basicamente, a linguagem é o C++ com várias abstrações para tornar o código mais simples (evitando, por exemplo, o uso de classes e outros recursos mais complicados do C++).\
\
Vários dispositivos periféricos podem ser acoplados às portas digitais/analógicas dele (como se fossem um escudo) e, portanto, estes periféricos são chamados de "shields".\
\
O livro aborda diversos experimentos, como: uso de shields Ethernet e LCD, testes com multímetro, código morse com led, armazenamento persistente na memória EEPROM, tratamento de interrupções usando os pinos D2 e D3, e etc.
