# Arduino colaborativo/Tutorial Arduino - Lição 2

: usar minúsculas e títulos mais descritivos
Introdução
OK você começou a configurar o seu Arduino e também descobriu como usar o software para enviar sketches para a placa. O Próximo passo é começar a escrever os seus próprios sketches. Começaremos de modo fácil, apenas modificando algo que já funciona.
Para começar, vamos explorar bem o esboço Blink, olhando para cada linha e tentando entender o que ele está fazendo.
Então, vamos começar a cortar o sketch!
Blinkie
Inicie o software Arduino e abra o sketch exemplo Blink, como fez na Lição 1.
O sketch em sí é inicializado na área de entrada de texto do software Arduino. Sketches são escritos no texto, assim como um documento. Quando você seleciona Compile / Verify a partir do menu, o software Arduino olha o documento e traduz para a linguagem de máquina do Arduino - que não é muito legível para nós humanos, mas é de fácil entendimento para o Arduino.
Sketches são escritos em C, que é uma linguagem de programação que é muito popular e poderosa. Demora um pouco para se acostumar, mas vamos passar por estes exemplos lentamente.
Comentários
Vamos examinar este sketch em detalhes a partir da primeira seção:
Este é um comentário, ou seja, é um texto que não é utilizado pelo Arduino, ele está lá para ajudar a entender o que está acontecendo. Você pode dizer se alguma coisa. É um comentário, porque há um * / no começo e um * / no final. Qualquer coisa entre os / * e * / é ignorado pelo Arduino. Neste exemplo, a pessoa que escreveu o comentário decidiu torná-la bonita e adicionar * em cada linha do comentário, mas isso não é necessário. Comentários são muito úteis e eu o encorajo que a cada sketch feito você faça um comentário no inicio com informações do tipo como quem a escreveu, quando você escreveu e o que seu sketch deveria fazer.
Variáveis
Vamos olhar para a linha seguinte:
Esta é a primeira linha de código de instrução real. Também é extremamente diferente de Inglês,Espanhol,Português (ou qualquer outra língua humana). A primeira parte podemos facilmente compreender é a parte à direita, que também é um comentário. Acontece que se você quiser fazer um comentário pequeno, você pode usar / / assim como / * * /. / / É muitas vezes usado para um pequeno ou uma linha de comentários.
O resto da linha, o que está antes do / /, é o que é chamado de declaração, que é basicamente como uma sentença de computador. Assim como muitas sentenças humanas são encerradas com um . (Ponto), todas as setenças de um computador terminam em ; (ponto e vírgula)
OK tudo o que resta é a declaração em si, o que acaba por ser uma frase dizendo ao computador que gostaríamos de criar uma caixa nomeada ledPin e colocar o número 13 na caixa. Se você lembrar da sua matemática, você deve se lembrar que a caixa é também conhecido como variável.
| tipo de caixa | nome da caixa | = | coisas-para-pôr-na-caixa |
| int | ledPin | = | 13 |
A primeira parte desta frase é int, que é o reduzido de integer, que é uma maneira elegante de dizer: número inteiro.
A segunda parte desta frase é ledPin que é o nome da caixa(variável).
A terceira parte é uma =, que basicamente diz que a variável (caixa) chamado ledPin deve assumir o valor do que vier depois da = .
A quarta parte é o 13, um número inteiro (integer) que é atribuído a variável ledPin.
Procedimentos
Vamos passar para a próxima seção:
void setup // executado uma vez, quando o sktech inicia {
clean cat wash the cat(dirty cat) //Procedimento para limpar o gato { turn on the shower. find the cat. grab the cat. put cat under shower. wait 3 minutes. // Espera o gato se limpar. release cat. }
Olhando de novo para o processo, vemos que ele é chamado de setup, não tem valores de entrada e ele retorna void . Agora, provavelmente você está se perguntando "o que é void? " Bem, isso é uma forma científica da computação de dizer nada . Ou seja, este procedimento tem nada de retorno. (Isso não significa que ele não faz nada, apenas que ele não tem um número concreto ou qualquer outra coisa, para mostrar quando a sua ação completa).
void setup // Executa uma vez, quando o sketch começa
Há uma ação nesse procedimento:
pinMode(ledPin, OUTPUT); // coloca o pino digital como saída
Voltaremos a esta declaração em detalhes mais tarde, basta dizer que é uma maneira de dizer ao Arduino que gostaríamos de ver com um dos pinos físico no chip do processador principal.
Chamadas de Procedimento
Vamos para o próximo grupo de texto:
void loop // Executa vária vezes {
    Isso significa que em algum lugar há um procedimento assim:
    (Claro que esse exemplo não é um código)
    O procedimento delay (atraso) funciona muito bem, basta dizer quantos milissegundos (em milésimos de segundos) de espera e ele fará o trabalho para nós.
    Voltando a primeira declaração, vemos que ela é também um procedimento de chamada. Nesse caso um procedimento chamado digitalWrite. Também pularemos uma parte desse detalhe, exceto para explicar que esse procedimento ativa e desativa um dos pinos do Arduino.

## Procedimentos Especiais - Setup e Loop

    Esses procedimentos são extremamente importantes, quando o Arduino é religado ele sempre faz o que está explicito na função setup primeiro, depois ele faz o que está indicado na função loop e faz isso de novo, de novo... Para sempre. Ou até você desligá-lo.

## Modificando o Exemplo

    Agora que analisamos todo o programa é hora de fazermos algumas mudanças. Em seu software do Arduino altere o delay para 500ms como mostrado abaixo:
    Caso você tente salvar o esboço você verá o seguinte aviso:
    Então basta renomear seu código. Você pode chamá-lo de MyBlink por exemplo:
    Para Compilar/Verificar o esboço e fazer o Upload dele use as instruções da Lição 1.
    Uma vez que o Arduino tenha recebido o código você poderá ver o LED piscar mais rápido que antes.
    Caso isso não esteja ocorrendo verifique: Você mudou o delay para 500 milissegundos? A compilação foi bem sucedida? (O aviso deve ser o mesmo da imagem acima) O Upload foi bem sucedido? (O aviso deve ser o mesmo da imagem acima)