Quando você abre o programa Arduino, está abrindo o IDE. Ele é intencionalmente otimizado para manter as coisas o mais simples e objetivas possível. Quando você salva um arquivo no Arduino, o arquivo é chamado de esboço – um esboço é onde você salva o código do computador que você escreveu.
Quando você faz um curso de arduino, você aprender que a linguagem de codificação usada pelo Arduino é muito parecida com o C ++ (“veja mais mais”), que é uma linguagem comum no mundo da computação. O código que você aprende a escrever para o Arduino será muito semelhante ao código que você escreve em qualquer outra linguagem de computador – todos os conceitos básicos permanecem os mesmos – é apenas uma questão de aprender um novo dialeto se você buscar outras linguagens de programação.
O código que você escreve é ”legível por humanos”, ou seja, fará sentido para você (às vezes) e será organizado para que um humano siga. Parte do trabalho do IDE é pegar o código legível por humanos e convertê-lo em código legível por máquina para ser executado pelo Arduino. Esse processo é chamado de compilação .
O processo de compilação é transparente para o usuário. Tudo que você precisa fazer é pressionar um botão. Se houver erros no código do computador, o compilador exibirá uma mensagem de erro na parte inferior do IDE e destacará a linha de código que parece ser o problema. A mensagem de erro tem como objetivo ajudá-lo a identificar o que você pode ter feito de errado – às vezes, a mensagem é muito explícita, como dizer: “Ei, você esquece um ponto e vírgula”, às vezes a mensagem de erro é vaga.
Por que se preocupar com um ponto e vírgula, você pergunta? Um ponto-e-vírgula faz parte da sintaxe da linguagem Arduino , as regras que governam como o código é escrito. É como gramática por escrito. Digamos, por exemplo, que não usamos períodos quando escrevemos – todo mundo teria um tempo tentando descobrir quando as frases começavam e terminavam. Ou, se não empregássemos a vírgula, como transmitiríamos uma pausa dramática ao leitor?
E deixe-me dizer-lhe, se você já teve um professor de inglês com uma caneta vermelha hiperativa, o compilador é dez vezes pior. De fato – seus programas NÃO serão compilados sem uma sintaxe perfeita. Isso pode deixá-lo louco no começo, porque é muito natural esquecer a sintaxe. À medida que ganha experiência em programação, você aprenderá a ser assíduo sobre a gramática de codificação.
Vamos sujar as mãos e introduzir alguma sintaxe.

O PONTO E VÍRGULA;
Um ponto-e-vírgula precisa seguir todas as declarações escritas na linguagem de programação do Arduino. Por exemplo…
int LEDpin = 9;
Nesta declaração, estou atribuindo um valor a uma variável inteira (abordaremos isso mais adiante), observe o ponto e vírgula no final. Isso informa ao compilador que você concluiu um pedaço de código e está passando para a próxima parte. Um ponto e vírgula é para o código do Arduino, assim como um ponto para uma frase. Significa uma declaração completa.
A BARRA INVERTIDA DUPLA PARA COMENTÁRIOS DE LINHA ÚNICA //
// Quando você digita uma barra invertida dupla, todo o texto a seguir na mesma linha fica acinzentado
Comentários são o que você usa para anotar código. Bom código é comentado bem. Os comentários devem informar você e qualquer outra pessoa que possa tropeçar no seu código, o que diabos você estava pensando quando o escreveu. Um bom comentário seria algo assim…
// Este é o pino do Arduino no qual o LED está conectado
int LEDpin = 9
Agora, em três meses, quando analiso este programa, sei onde colocar meu LED.
Os comentários serão ignorados pelo compilador – para que você possa escrever o que quiser neles. Se você precisa explicar muito, pode usar um comentário de várias linhas, mostrado abaixo…
/ * O comentário de várias linhas é aberto com uma única barra invertida seguida por um asterisco. Tudo o que se segue fica acinzentado e será ignorado pelo compilador, até você fechar o comentário usando primeiro um asterisco e depois uma barra invertida como essa * /
Os comentários são como as notas de rodapé do código, exceto muito mais prevalentes e não na parte inferior da página.
SUSPENSÓRIOS {}
Chaves entre dentes são usadas para incluir mais instruções executadas por uma função (discutiremos as funções a seguir). Sempre há um suporte encaracolado de abertura e um suporte encaracolado de fechamento. Se você esquecer de fechar um colchete, o compilador não gostará e lançará um código de erro.
void loop () {// esta chave é aberta
// programa legal aqui
} // este colar encaracolado fecha
Lembre-se – nenhuma chave pode ser fechada!
FUNÇÕES ( )
Vamos mudar um pouco de marcha e falar sobre funções.
Funções são trechos de código usados com tanta frequência que são encapsulados em determinadas palavras-chave, para que você possa usá-las mais facilmente. Por exemplo, uma função pode ser o seguinte conjunto de instruções…
Cão de lavagem
1. Pegue um balde
2. Encha com água
3. Adicione sabão
4. Encontre cachorro
5. Espuma de cachorro
6. Lave o cão
7. enxágüe o cachorro
8. cachorro seco
9. Guarde o balde
Este conjunto de instruções simples pode ser encapsulado em uma função que chamamos de WashDog. Toda vez que queremos executar todas essas instruções, basta digitar WashDog e voila – todas as instruções são executadas.
No Arduino, existem certas funções que são usadas com tanta frequência que foram incorporadas ao IDE. Quando você os digita, o nome da função aparece em laranja. A função pinMode (), por exemplo, é uma função comum usada para designar o modo de um pino do Arduino.
Qual é o problema com os parênteses após a função pinMode? Muitas funções requerem argumentos para funcionar. Um argumento é a informação que a função usa quando é executada.
Para nossa função WashDog, os argumentos podem ser o nome do cachorro e o tipo de sabão, ou a temperatura e o tamanho do balde.
pinMode (13, SAÍDA);
// Define o modo de um pino do Arduino
O argumento 13 se refere ao pino 13 e OUTPUT é o modo em que você deseja que o pino opere. Quando você insere esses argumentos, a terminologia é chamada de aprovação. Você passa as informações necessárias para as funções. Nem todas as funções exigem argumentos, mas a abertura e o fechamento de parênteses permanecerão, apesar de vazios.
millis ();
// Recupera o tempo em milissegundos que o Arduino está executando
Observe que a palavra OUTPUT é azul. Existem determinadas palavras-chave no Arduino usadas com freqüência e a cor azul ajuda a identificá-las. O IDE os torna azuis automaticamente.
Agora não entraremos em detalhes aqui, mas você pode facilmente criar suas próprias funções no Arduino, e pode até fazer o IDE colori-las para você.
No entanto, falaremos sobre as duas funções usadas em quase TODOS os programas do Arduino.
CONFIGURAÇÃO NULA ()
A função setup (), como o nome indica, é usada para configurar a placa Arduino. O Arduino executa todo o código que está contido entre os chaves de setup () apenas uma vez. Coisas típicas que acontecem em setup () são definir os modos dos pinos, iniciar
void setup () {// o código entre os chavetas é executado apenas uma vez para setup ()
Você pode estar se perguntando o que significa nulo antes da configuração da função (). Vazio significa que a função não retorna informações.
Algumas funções retornam valores – nossa função DogWash pode retornar o número de caçambas necessárias para limpar o cão. A função analogRead () retorna um valor inteiro entre 0-1023. Se isso parecer um pouco estranho agora, não se preocupe, pois abordaremos todas as funções comuns do Arduino em profundidade enquanto continuamos o curso.
Vamos analisar algumas coisas que você deve saber sobre setup ()…
1. setup () é executado apenas uma vez.
2. setup () precisa ser a primeira função no seu esboço do Arduino.
3. setup () deve ter chaves de abertura e fechamento.
LOOP VAZIO ()
Você precisa amar os desenvolvedores do Arduino porque os nomes das funções são muito reveladores. Como o nome indica, todo o código entre as chaves no loop () é repetido várias vezes – em um loop. A função loop () é onde o corpo do seu programa residirá.
Assim como em setup (), o loop de função () não retorna nenhum valor; portanto, a palavra nulo o precede.
void loop () {// qualquer código que você colocar aqui é executado repetidamente
Parece estranho para você que o código seja executado em um grande loop? Essa aparente falta de variação é uma ilusão. A maior parte do seu código terá condições específicas de espera que acionarão novas ações.
Se você tiver um sensor de temperatura conectado ao seu Arduino, por exemplo, quando a temperatura chegar a um limite predefinido, você poderá acionar o ventilador. O código de loop está constantemente checando a temperatura esperando para acionar o ventilador. Portanto, mesmo que o código circule repetidamente, nem todas as partes do código serão executadas a cada iteração do loop.
EXPERIMENTE VOCÊ MESMO
Este curso é baseado nos exemplos de esboços fornecidos com o Arduino IDE. Abra o IDE do Arduino e vá para Arquivo> Exemplo> 01.Basics e abra três esboços diferentes. Identifique a seguinte sintaxe e funções que você encontra nos esboços:
- ; ponto e vírgula
- // comentários de linha única
- / * * / comentários de várias linhas
- {} abrir e fechar chaves
- () parênteses
- void setup () – identifica as chaves de abertura e fechamento
- void loop () – identifica as chaves de abertura e fechamento
- algumas palavras-chave azuis como OUTPUT ou INPUT