Arduino – Pinagem e Anatomia de um sketch (projeto)
Arduino – Pinagem e Anatomia de um sketch
Um projeto do Arduino é chamado de sketch, e consiste tipicamente em duas partes (rotinas): a rotina de setup, que inicializa o sketch, e a rotina de loop, que normalmente contém o código principal do programa (é como a função main() da linguagem C).
Vamos ver como funcionam essas duas rotinas.
Rotina de setup
Antes que possamos trabalhar com o Arduino, precisamos configurar alguns itens. Essa configuração é realizada dentro de uma rotina chamada setup(), a qual é chamada sempre que o sketch é inicializado. Geralmente inicializamos os pinos de entrada e saída digitais, e podemos também definir a taxa de transmissão serial, entre outras coisas. É comum declaramos as variáveis usadas no programa antes da definição da função setup().
Veja um exemplo da função setup:
void setup() { pinMode(13, OUTPUT); Serial.begin(9600); }
Neste código o pino 13 é configurado como uma saída (irá escrever um nível lógico neste pino) e a comunicação serial do dispositivo é configurada com a taxa de transmissão de 9600 bauds (bits por segundo). A rotina de setup sempre é requerida nos sketches, mesmo que não haja nada a inicializar – neste caso, apenas coloque a função sem código nenhum dentro, como é mostrado abaixo:
void setup() { // Rotina sem nada a declarar }
O texto que é inserido após os caracteres // é um comentário. Devemos sempre comentar nosso código, pois ele permite documentá-lo e ajuda a quem vai trabalhar com esse código posteriormente a entendê-lo com mais facilidade – inclusive nós mesmos. Não é necessário escrever uma tese como comentário – uma pequena descrição já é bastante útil.
Podemos comentar o código de duas formas:
// Comentário de uma linha
/* Comentário que
ocupa múltiplas linhas*/
Rotina de loop
A rotina de loop é onde o programa é efetivamente executado. Trata-se exatamente do que o nome sugere – um loop infinito. Os códigos contidos nessa rotina são executados eternamente – ou até que o Arduino seja interrompido.
É na rotina de loop que escreveremos nosso programa efetivamente. Veja um exemplo de uma rotina de loop:
void loop() { digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000); }
Nesta rotina, o código é executado ininterruptamente, e um LED conectado ao pino configurado (13) acende e apaga a intervalos de um segundo (1000 milissegundos), até que o Arduíno seja desligado.
Pinagem do Arduíno
Para que possamos criar nossos sketches tirando o máximo proveito do Arduino Uno é necessário que conheçamos as funções de seus pinos. A figura a seguir mostra a função de cada um dos pinos do Arduíno, e na sequência temos uma breve descrição de cada um:
Pino |
Função |
AREF – Analog Reference | Tensão de referência para entradas analógicas. |
Digital Ground | Terra digital |
Digital I/O Pins (2-13) | Pinos de entrada e saída digitais, que operam em 5V e podem receber ou fornecer um máximo de 40mA de corrente. Os pinos 2 e 3 também podem ser usados para gerar interrupções. |
Serial OUT (TX) e Serial IN (RX) | Usados para transmitir e receber dados seriais TTL. |
Analog In (0-5) | Entradas analógicas, que fornecem uma resolução de 10 bits (1024 valores distintos); medem por padrão valores de 0 a 5V. |
PWM | Os pinos 3,5,6,9,10 e 11 podem ser usados como saída PWM de 8 bits. |
SPI | Os pinos 10.11.12 e 13 suportam comunicação SPI com o uso da biblioteca apropriada. |
Reset | Reseta o microcontrolador quando em nível baixo. |
Voltage In | Podemos fornecer tensão elétrica através desse pino ou acessá-la caso usemos uma fonte de alimentação externa. |
5 Volt Power Pin | Saída regulada de 5V |
3.3 Volt Power Pin | Fornece tensão de 3.3V a partir de um regulador on-board, com 50mA máx. |
Ao longo de nosso estudo sobre Arduino vamos entrar em muito mais detalhes sobre as funções desses pinos e como utilizá-los na prática.
No próximo artigo construiremos nosso primeiro projeto com Arduino, envolvendo componentes eletrônicos discretos e uma breadboard.
Escreva um comentário