Código Arduino & Visão Geral da Sintaxe

Como aprendeu no Módulo 01, IDE significa Ambiente de Desenvolvimento Integrado. Um som muito chique, e deve fazê-lo sentir-se inteligente sempre que o utilizar. O IDE é um programa semelhante a um editor de texto que lhe permite escrever código Arduino.

Quando abre o programa Arduino, está a abrir o IDE. É intencionalmente racionalizado para manter as coisas tão simples e directas quanto possível. Quando se guarda um ficheiro no Arduino, o ficheiro chama-se esboço – um esboço é onde se guarda o código de computador que se escreveu.

A linguagem de codificação que o Arduino usa é muito parecida com C++ (“ver mais mais”), que é uma linguagem comum no mundo da computação. O código que aprender a escrever para o Arduino será muito semelhante ao código que escrever em qualquer outra linguagem de computador – todos os conceitos básicos permanecem os mesmos – é apenas uma questão de aprender um novo dialecto, caso procure outras linguagens de programação.

Se gostar deste tutorial, clique aqui para ver o curso de vídeo Arduino GRATUITO – milhares de pessoas gostaram muito.

O código que escrever é “legível para humanos”, ou seja, fará sentido para si (por vezes), e será organizado para que um humano o siga. Parte do trabalho da IDE é pegar no código legível humano e traduzi-lo em código legível por máquina para ser executado pelo Arduino. A este processo chama-se compilação.

O processo de compilação é sem falhas para o utilizador. Tudo o que tem de fazer é premir um botão. Se tiver erros no código do seu computador, o compilador irá exibir uma mensagem de erro no fundo do IDE e destacar a linha de código que parece ser o problema. A mensagem de erro destina-se a ajudá-lo a identificar o que possa ter feito de errado – por vezes a mensagem é muito explícita, como dizer: “Ei – esquece um ponto-e-vírgula”, por vezes a mensagem de erro é vaga.

Porquê preocupar-se com um ponto-e-vírgula que pergunta? Um ponto-e-vírgula faz parte da sintaxe da língua Arduino, as regras que regem a forma como o código é escrito. É como a gramática na escrita. Digamos, por exemplo, que não utilizámos períodos em que escrevemos – todos teriam um bom tempo a tentar perceber quando as frases começavam e acabavam. Ou, se não utilizássemos a vírgula, como iríamos transmitir uma pausa dramática ao leitor?

E deixe-me dizer-lhe, se alguma vez teve um professor de inglês com uma caneta vermelha hiperactiva, o compilador é dez vezes pior. De facto – os seus programas NÃO irão compilar sem uma sintaxe perfeita. Isto pode deixá-lo louco no início, porque é muito natural esquecer a sintaxe. À medida que vai ganhando experiência na programação, aprenderá a ser assíduo sobre codificação gramatical.

P>Pomos as nossas mãos a sujar e introduzimos alguma sintaxe.

PIctura do Código Arduino Sintaxe

PIctura do Código Arduino Sintaxe

O Ponto e vírgula ;

Um ponto-e-vírgula precisa de seguir cada declaração escrita na linguagem de programação Arduino. Por exemplo…

int LEDpin = 9;

Nesta declaração, estou a atribuir um valor a uma variável inteira (cobriremos isto mais tarde), repare no ponto-e-vírgula no final. Isto diz ao compilador que terminou um pedaço de código e que está a passar para a próxima peça. Um ponto-e-vírgula é para o código Arduino, como um ponto-e-vírgula é para uma frase. Significa uma declaração completa.

A barra de duplo avanço para comentários de linha única //

//When you type a double backslash all the text that follows on the same line will be grayed out

Comentários são o que se usa para anotar o código. Um bom código é bem comentado. Os comentários destinam-se a informá-lo e a qualquer outra pessoa que possa tropeçar no seu código, em que diabo estava a pensar quando o escreveu. Um bom comentário seria algo como isto…

//This is the pin on the Arduino that the LED is plugged intoint LEDpin = 9

Agora, dentro de 3 meses, quando analisar este programa, sei onde colar o meu LED.

Comentários serão ignorados pelo compilador – para que possa escrever o que quiser neles. Se tiver muito a explicar, pode usar um comentário com várias linhas, mostrado abaixo…

/* The multi-line comment opens with a single backslash followed by an asterisk. Everything that follows is grayed out and will be ignored by the compiler, until you close the comment using first an asterisk and then a backslash like so */

Os comentários são como as notas de rodapé do código, excepto muito mais predominantes e não no fundo da página.

Curly Braces { }

Curly Braces são usados para anexar mais instruções realizadas por uma função (discutimos as funções a seguir). Há sempre um parêntese de abertura e um parêntese de fecho. Se se esquecer de fechar um suporte encaracolado, o compilador não vai gostar e lançar um código de erro.

void loop() { //this curly brace opens//way cool program here} //this curly brace closes

Remembrar – nenhum suporte encaracolado pode ficar por fechar!

Funções ( )

Discuta um pouco as funções.

Funções são peças de código que são utilizadas tão frequentemente que são encapsuladas em certas palavras-chave para que as possa utilizar mais facilmente. Por exemplo, uma função poderia ser o seguinte conjunto de instruções…

Wash Dog1. Get a bucket2. Fill it with water3. Add soap4. Find dog5. Lather dog6. Wash dog7. Rinse dog8. Dry dog9. Put away bucket

Este conjunto de instruções simples poderia ser encapsulado numa função a que chamamos WashDog. Sempre que queremos executar todas as instruções que apenas digitamos WashDog e voila – todas as instruções são executadas.

No Arduino, há certas funções que são utilizadas tão frequentemente que foram incorporadas na IDE. Quando as escrevemos, o nome da função aparece cor-de-laranja. A função pinMode(), por exemplo, é uma função comum utilizada para designar o modo de um Arduino pin.

Qual é a relação com os parênteses que seguem a função pinMode? Muitas funções requerem argumentos para funcionar. Um argumento é informação que a função usa quando funciona.

Para a nossa função WashDog, os argumentos podem ser nome do cão e tipo de sabão, ou temperatura e tamanho do balde.

pinMode(13, OUTPUT);//Sets the mode of an Arduino pin

O argumento 13 refere-se ao pin 13, e OUTPUT é o modo em que se quer que o pin funcione. Quando se introduz estes argumentos, a terminologia é chamada passing. Passa-se a informação necessária às funções. Nem todas as funções necessitam de argumentos, mas abrir e fechar parênteses permanecerá independentemente, embora vazio.

millis( );//Retrieves the length of time in milliseconds that the Arduino has been running

Notificação de que a palavra SAÍDA é azul. Existem certas palavras-chave no Arduino que são usadas frequentemente e a cor azul ajuda a identificá-las. A IDE torna-as azuis automaticamente.

Agora não vamos entrar aqui, mas pode facilmente fazer as suas próprias funções no Arduino, e pode até fazer com que a IDE as colore para si.

Falaremos, contudo, sobre as duas funções utilizadas em quase TODO o programa Arduino.

configuração nula ( )

A função, setup(), como o nome implica, é utilizada para configurar a placa Arduino. O Arduino executa todo o código que está contido entre as chaves encaracoladas de configuração() apenas uma vez. Coisas típicas que acontecem na configuração() são a definição dos modos de pinos, começando por

void setup( ) { //the code between the curly braces is only run once for setup()

Vocês podem estar a perguntar-se o que significa o vazio antes da configuração da função(). O vazio significa que a função não retorna informação.

algumas funções retornam valores – a nossa função DogWash pode retornar o número de baldes necessários para limpar o cão. A função analogRead() retorna um valor inteiro entre 0-1023. Se isto parece um pouco estranho agora, não se preocupe, pois iremos cobrir cada função Arduino comum em profundidade enquanto continuamos o curso.

Deixe-nos rever algumas coisas que deve saber sobre setup()…

1. setup() só funciona uma vez.

2. setup() tem de ser a primeira função no seu sketch Arduino.

3. setup() tem de ter chaves de abertura e fecho.

loop vazio( )

Tens de adorar os programadores Arduino porque os nomes das funções são tão reveladores. Como o nome implica, todo o código entre as chaves encaracoladas em loop() é repetido uma e outra vez – em loop. A função loop() é onde residirá o corpo do seu programa.

Como com setup(), o loop() da função não retorna quaisquer valores, portanto a palavra void precede-a.

void loop( ) { //whatever code you put here is executed over and over

Parece-lhe estranho que o código corra num grande loop? Esta aparente falta de variação é uma ilusão. A maior parte do seu código terá condições específicas de espera que desencadearão novas acções.

Se tiver um sensor de temperatura ligado ao seu Arduino, por exemplo, então quando a temperatura chegar a um limiar pré-definido poderá ter uma ventoinha accionada. O código de looping está constantemente a verificar a temperatura à espera para accionar a ventoinha. Por isso, mesmo que o código faça loops vezes sem conta, nem todas as peças do código serão executadas a cada iteração do loop.

Try On Your Own

Este curso é baseado nos esboços de exemplo fornecidos com a IDE Arduino. Abra a sua IDE Arduino e vá para File > Example > 01.Basics e abra três esboços diferentes. Identificar a seguinte sintaxe e funções que se encontram nos esboços:

  • ; ponto e vírgula
  • / comentários de uma linha
  • /* */ multiline comments
  • { } open and closing curly braces
  • ( ) parênteses
  • setup() – identificar as braçadeiras de abertura e fechamento de caracóis
  • loop() – identificar as braçadeiras de abertura e fechamento de caracóis
  • algumas palavras-chave azuis como OUTPUT ou INPUT

Outra Leitura

Categorias: Articles

0 comentários

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *