Propaganda

placa de circuito arduinoA última vez que te deixei tendo criado Introdução ao Arduino Starter Kit - Instalação de drivers e configuração da placa e da portaEntão, você comprou um kit inicial do Arduino e, possivelmente, alguns outros componentes aleatórios - e agora? Como você realmente começou a programar essa coisa do Arduino? Como você configura... consulte Mais informação seu Arduino para trabalhar com Mac ou Windows e após o upload de um aplicativo de teste simples que pisca o LED integrado. Hoje vou explicar o código que você enviou, a estrutura do software Arduino e um pouco mais sobre os bits eletrônicos na placa.

Este artigo é parte de uma introdução à série Arduino. Os outros artigos da série até agora são:

  • O que é o Arduino e o que você pode fazer com ele O que é o Arduino e o que você pode fazer com ele?O Arduino é um pequeno dispositivo eletrônico notável, mas se você nunca usou um antes, exatamente o que são e o que você pode fazer com um? consulte Mais informação ?
  • O que é um kit inicial do Arduino e o que ele contém?
    instagram viewer
    O que está incluído no kit inicial do Arduino? [MakeUseOf explica]Eu já introduzi o hardware de código aberto do Arduino aqui no MakeUseOf, mas você precisará mais do que o Arduino real para criar algo com ele e realmente começar. Os "kits iniciais" do Arduino são ... consulte Mais informação
  • Mais componentes interessantes para comprar com seu kit inicial 8 componentes mais legais para seus projetos de ArduinoEntão, você está pensando em adquirir um kit inicial do Arduino, mas quer saber se alguns LEDs e resistores básicos serão suficientes para mantê-lo ocupado no fim de semana? Provavelmente não. Aqui estão mais 8 ... consulte Mais informação
  • Introdução ao Arduino Starter Kit - Instalação de drivers e configuração da placa e da porta Introdução ao Arduino Starter Kit - Instalação de drivers e configuração da placa e da portaEntão, você comprou um kit inicial do Arduino e, possivelmente, alguns outros componentes aleatórios - e agora? Como você realmente começou a programar essa coisa do Arduino? Como você configura... consulte Mais informação

O Hardware

Vamos dar uma olhada no que o Arduino Uno possui em termos de bits na placa de circuito.

Aqui está um diagrama ampliado para se referir a:

placa de circuito arduino
  • Na parte superior, existem 14 pinos de entrada / saída digitais (numerados de 0 a 13). Estes são os pinos mais versáteis do seu Arduino e podem funcionar como entrada ou saída e formarão o núcleo de seus projetos. Digital significa que o sinal que esses pinos podem escrever ou ler será ativado ou desativado.
  • 6 desses pinos digitais, marcados com o sinal til ~ são capazes de fazer o que é chamado Modulação por largura de pulso. Eu não sou engenheiro elétrico, então não vou me envergonhar explicando a ciência por trás disso, mas para você e eu significa que podemos fornecer uma variedade de níveis de saída - por exemplo, escurecer um LED ou acionar um motor em diferentes velocidades.
  • O pino 13 é especial por possuir um LED embutido. Isso é apenas para fins de conveniência e teste. Você pode usar esse LED integrado, como no aplicativo de exemplo Blink, simplesmente enviando para o pino 13 - ou ele pode ser usado como um pino de E / S padrão.
  • No canto inferior direito, existem 6 pinos de entrada analógica. Eles lerão o valor dos sensores analógicos, como um medidor de luz ou resistores variáveis.
  • Na parte inferior esquerda, ao lado dos pinos de entrada analógica, estão os pinos de energia. Os únicos com os quais você realmente precisa se preocupar são as linhas de energia dos pinos de aterramento (GND), 3,3v e 5v.
  • Finalmente, a única opção encontrada no Arduino é uma opção de redefinição. Isso reiniciará qualquer programa que tenha em sua memória.
  • O Arduino possui uma quantidade definida de memória e, se o seu programa for muito grande, o compilador apresentará um erro.

A estrutura de um programa Arduino

Todo programa do Arduino é composto de pelo menos duas funções (se você não sabe o que é uma função, leia meu tutorial básico de programação, parte 2 - instruções de função e controle Os princípios absolutos da programação para iniciantes (parte 2)Na parte 2 do nosso guia para iniciantes em programação, falarei sobre o básico de funções, valores de retorno, loops e condicionais. Certifique-se de ler a parte 1 antes de abordar isso, onde expliquei o ... consulte Mais informação e parte 1 onde discutimos variáveis Noções básicas de programação de computadores 101 - Variáveis ​​e tipos de dadosTendo introduzido e falado um pouco sobre Programação Orientada a Objetos antes e onde seu homônimo vem, pensei que era hora de passarmos pelo básico absoluto da programação em um idioma não específico da linguagem maneira. Este... consulte Mais informação antes de continuar).

A primeira é a função de configuração. Isso é executado inicialmente - apenas uma vez - e é usado para informar ao Arduino o que está conectado e onde, além de inicializar quaisquer variáveis ​​que você possa precisar em seu programa.

O segundo é o loop. Este é o núcleo de todos os programas do Arduino. Quando o Arduino estiver em execução, após a conclusão da função de configuração, o loop executará todos os código e faça tudo novamente - até que a energia se perca ou a chave de redefinição seja pressionado. O tempo que leva para concluir um loop completo depende do código contido. Você pode escrever um código que diga "aguarde 6 horas"; nesse caso, o loop não será repetido com muita frequência.

Aqui está um diagrama de estado rápido para ilustrar:

placa de circuito arduino

Examinando o programa Blink

Dê uma olhada no código do programa Blink e identifique as funções de configuração e loop.

Aqui está a configuração:

configuração nula () { // inicializa o pino digital como uma saída. // O pino 13 tem um LED conectado na maioria das placas do Arduino: pinMode (13, OUTPUT); }

As linhas que começam com // são simplesmente comentários para explicar o código a um leitor humano e eles não são enviados para o Arduino. Portanto, de fato, há apenas uma linha de código de configuração nesse aplicativo Arduino em particular. Essa linha está dizendo "Coloque o pino 13 no modo de saída". 13, lembre-se, é o LED embutido.

Depois, há o loop:

loop vazio () { digitalWrite (13, ALTO); // acende o LED. atraso (1000); // espere um segundo. digitalWrite (13, BAIXO); // desligue o LED. atraso (1000); // espere um segundo. }

Os comentários no final de cada linha de código explicam muito bem sua função. ALTO e BAIXO referem-se ao estado LIGADO e DESLIGADO de uma saída digital - no nosso caso, o LED. Você também pode escrever ON ou OFF no código, ambos são sinônimos (como 0 e 1 também). Demora diz ao Arduino para esperar um pouco, neste caso 1000 milissegundos (ou 1 segundo).

Finalmente, uma observação sobre a linguagem de programação usada aqui. Observe que as funções de configuração e loop têm a palavra vazio antes deles. Esta é uma palavra especial para nada, porque a função não retorna nada quando é chamado - simplesmente executa o código contido. Por enquanto, vamos deixar por isso dizendo que o bloco de código da função é delimitado por chaves {} e que cada linha de código deve terminar com um; ponto e vírgula.

Tente alterar o programa básico de alguma forma, alterando os valores de atraso precisos para algo maior ou menor. Veja quão pequeno você pode reduzi-lo antes que o piscar não seja mais perceptível. Determinar qual valor alterar para mantê-lo por mais tempo ou permanecer por mais tempo. Tente adicionar mais instruções digitalWrite e delay à função loop para criar um padrão intermitente mais complexo, como o código morse para SOS. Se você tiver uma campainha, tente conectá-la aos pinos 13 e GND também (dica: o fio vermelho passa a 13, preto ao terra).

Isso é tudo por hoje. Na próxima vez, adicionaremos mais alguns LEDs e escreveremos nosso próprio aplicativo a partir do zero. Como sempre, comentários e compartilhamentos muito apreciados. Não consigo imaginar que você tenha problemas com o código mencionado hoje, mas se você tentou ajustar um pouco o código e está se deparar com erros ou comportamento inesperado, fique à vontade para publicá-lo nos comentários e veremos se podemos resolvê-lo juntos.

James é bacharel em Inteligência Artificial e possui certificação CompTIA A + e Network +. Ele é o principal desenvolvedor do MakeUseOf e passa seu tempo livre jogando paintball e jogos de tabuleiro em VR. Ele está construindo PCs desde que era criança.