Introdução ao Arduino: um guia para iniciantes

Introdução ao Arduino: um guia para iniciantes

Arduino é uma plataforma de prototipagem eletrônica de código aberto e uma das mais populares do mundo - com a possível exceção do Raspberry Pi. Tendo vendido mais de 3 milhões de unidades (e muito mais na forma de dispositivos clones de terceiros): o que o torna tão bom e o que você pode fazer com um?





O que é o Arduino?

Arduino é baseado em hardware e software fácil de usar e flexível. É feito para artistas, designers, engenheiros, amadores e qualquer pessoa com o mínimo interesse em eletrônica programável.





O Arduino detecta o ambiente lendo dados de vários botões, componentes e sensores. Eles podem impactar o meio ambiente, controlando LEDs, motores , servos, relés e muito mais.





Os projetos do Arduino podem ser independentes ou podem se comunicar com o software em execução em um computador ( Em processamento é o software mais popular para isso). Eles podem conversar com outros Arduinos, Raspberry Pis, NodeMCU ou quase qualquer outra coisa. Certifique-se de ler nossa comparação de microcontroladores de $ 5 para uma comparação completa das diferenças entre esses microcontroladores.

Você pode estar se perguntando, por que escolher o Arduino? O Arduino realmente simplifica o processo de construção de um projeto de eletrônica programável, tornando-o uma ótima plataforma para iniciantes. Você pode facilmente começar a trabalhar em um sem experiência anterior em eletrônica. Existem milhares de tutoriais disponíveis, e eles variam em dificuldade, então você pode ter certeza de um desafio assim que dominar o básico.



Além da simplicidade do Arduino, ele também é barato, multiplataforma e de código aberto. O Arduino Uno (o modelo mais popular) é baseado nos microcontroladores ATMEGA 16U2 da Atmel. Existem muitos modelos diferentes produzidos, que variam em tamanho, potência e especificações, portanto, dê uma olhada em nosso guia de compra para todas as diferenças.

Os planos para os conselhos são publicados sob um Creative Commons licença, portanto, amadores experientes e outros fabricantes são livres para fazer sua própria versão do Arduino, potencialmente estendendo-o e melhorando-o (ou apenas copiando-o completamente, levando à proliferação de placas Arduino de baixo custo que encontramos hoje).





O que você pode fazer com um Arduino?

Um Arduino pode fazer um número impressionante de coisas. Eles são o cérebro de escolha para a maioria das impressoras 3D. Seu baixo custo e facilidade de uso significam que milhares de fabricantes, designers, hackers e criadores fizeram projetos incríveis. Aqui estão apenas alguns dos projetos do Arduino que fizemos aqui no MakeUseOf:

O que há dentro de um Arduino?

Embora existam muitos tipos diferentes de placas Arduino disponíveis, este manual concentra-se no Arduino uno modelo. Esta é a placa Arduino mais popular do mercado. Então, o que faz essa coisa funcionar? Aqui estão as especificações:





  • Processador: 16 Mhz ATmega16U2
  • Memória flash: 32 KB
  • RAM: 2 KB
  • Tensão operacional: 5V
  • Tensão de entrada: 7-12V
  • Número de entradas analógicas: 6
  • Número de E / S digitais: 14 (6 deles Modulação por largura de pulso - PWM )

As especificações podem parecer uma porcaria em comparação com o seu computador desktop, mas lembre-se de que o Arduino é um dispositivo embarcado, com muito menos informações para processar do que o seu desktop. É mais do que capaz para a maioria dos projetos eletrônicos.

Outro recurso maravilhoso do Arduino é a capacidade de usar o que chamamos de 'escudos' ou placas adicionais. Embora os escudos não sejam abordados neste manual, eles são uma maneira realmente interessante de estender os recursos e a funcionalidade do seu Arduino.

O que você precisa para este guia

Abaixo, você encontrará uma lista de compras dos componentes necessários para este guia para iniciantes. Todos esses componentes devem chegar a menos de $ 50 no total. Esta lista deve ser suficiente para lhe dar uma boa compreensão da eletrônica básica e ter componentes suficientes para construir alguns projetos muito legais usando este ou qualquer outro guia do Arduino. Se você não deseja selecionar todos os componentes, pode considerar a compra de um kit inicial.

Se você não conseguir obter um valor de resistor específico, algo o mais próximo possível geralmente funcionará bem.

Visão geral do componente elétrico

Vamos ver o que exatamente são todos esses componentes, o que eles fazem e como são.

Tábua de pão

Usados ​​para prototipar circuitos eletrônicos, eles fornecem um meio temporário de conectar componentes. Pranchas de ensaio são blocos de plástico com orifícios, nos quais os fios podem ser inseridos. Os orifícios estão dispostos em filas, em grupos de cinco. Quando você quiser reorganizar um circuito, puxe o fio ou parte para fora do orifício e mova-o. Muitas placas de ensaio contêm dois ou quatro grupos de orifícios ao longo do comprimento da placa, ao longo das laterais, e estão todos conectados - normalmente são para distribuição de energia e podem ser identificados com uma linha vermelha e azul.

As placas de ensaio são excelentes para produzir um circuito rapidamente. Eles podem ficar muito confusos para um circuito grande, e modelos mais baratos podem ser notoriamente não confiáveis, então vale a pena gastar um pouco mais em um bom.

LEDs

LED significa Diodo emissor de luz . Eles são uma fonte de luz muito barata e podem ser muito brilhantes - especialmente quando agrupados. Eles podem ser adquiridos em uma variedade de cores, não esquentam muito e duram muito tempo. Você pode ter LEDs na televisão, no painel do carro ou nas lâmpadas Philips Hue.

Seu microcontrolador Arduino também possui um LED integrado no pino 13 que é freqüentemente usado para indicar uma ação ou evento, ou apenas para teste.

Resistor de foto

Um resistor de foto ( p hotocell ou Resistor dependente de luz ) permite que seu Arduino meça as mudanças na luz. Você pode usar isso para ligar o computador durante o dia, por exemplo.

Interruptor tátil

os airpods da apple funcionam com o Android

Um interruptor tátil é basicamente um botão. Pressioná-lo completará o circuito e (normalmente) mudará de 0V para + 5V. Os Arduinos podem detectar essa mudança e responder de acordo. Estes são frequentemente momentâneo - o que significa que eles são apenas 'pressionados' quando seu dedo os mantém pressionados. Depois de soltá-lo, eles voltarão ao estado padrão ('não pressionado' ou desligado).

Alto-falante Piezo

Um alto-falante piezo é um pequeno alto-falante que produz som a partir de sinais elétricos. Muitas vezes são ásperos e diminutos, e não soam em nada como um alto-falante real. Dito isso, eles são muito baratos e fáceis de programar. Nosso jogo Buzz Wire usa um para jogar o Música tema de Monty Python 'Flying Circus' .

Resistor

Um resistor limita o fluxo de eletricidade. Eles são componentes muito baratos e um grampo de circuitos eletrônicos amadores e profissionais. Eles quase sempre são necessários para proteger os componentes contra sobrecarga. Eles também são necessários para evitar um curto-circuito se o Arduino + 5V se conectar diretamente ao terra. Resumindo: muito prático e absolutamente essencial.

Jumper Wires

Os fios de jumper são usados ​​para criar conexões temporárias entre os componentes da placa de ensaio.

Configurando Seu Arduino

Antes de iniciar qualquer projeto, você precisa fazer o Arduino falar com o seu computador. Isso permite que você escreva e compile o código para o Arduino executar, além de fornecer uma maneira para o seu Arduino trabalhar junto com o seu computador.

Instalando o pacote de software Arduino no Windows

Vá para o Site do Arduino e baixe uma versão do software Arduino adequada para sua versão do Windows. Depois de baixado, siga as instruções para instalar o Arduino Ambiente de desenvolvimento integrado (AQUI).

A instalação inclui drivers, portanto, em teoria, você deve estar pronto para ir imediatamente. Se isso falhar por algum motivo, tente estas etapas para instalar os drivers manualmente:

  • Conecte sua placa e aguarde o Windows iniciar o processo de instalação do driver. Depois de alguns momentos, o processo falhará, apesar de seus melhores esforços.
  • Clique em Menu Iniciar > Painel de controle .
  • Navegar para Sistema e Segurança > Sistema . Assim que a janela do sistema estiver aberta, abra o Gerenciador de Dispositivos .
  • Debaixo Portos (COM e LPT), você deve ver uma porta aberta chamada Arduino UNO (COMxx) .
  • Clique com o botão direito em Arduino UNO (COMxx) > Atualizar software de driver .
  • Escolher Procure no meu computador o software do driver .
  • Navegue e selecione o arquivo de driver do Uno, chamado ArduinoUNO.inf , localizado no Motoristas pasta do download do software Arduino.

O Windows concluirá a instalação do driver a partir daí.

Instalando o pacote de software Arduino no Mac OS

Baixe o software Arduino para Mac do Site do Arduino . Extraia o conteúdo do .fecho eclair arquivo e execute o aplicativo. Você pode copiá-lo para a pasta de aplicativos, mas ele funcionará perfeitamente a partir do seu Área de Trabalho ou Transferências pastas. Você não precisa instalar nenhum driver adicional para o Arduino UNO.

Instalando o software Arduino no pacote Ubuntu / Linux

Instalar gcc-avr e avr-libc :

sudo apt-get install gcc-avr avr-libc

Se você ainda não tem o openjdk-6-jre, instale e configure-o também:

sudo apt-get install openjdk-6-jre
sudo update-alternatives --config java

Selecione o correto JRE se você tiver mais de um instalado.

Vou ao Site do Arduino e baixe o software Arduino para Linux. Você pode espalhar e execute-o com o seguinte comando:

tar xzvf arduino-x.x.x-linux64.tgz
cd arduino-1.0.1
./arduino

Independentemente de qual sistema operacional você está executando, as instruções acima presumem que você possui uma placa Arduino Uno original da marca. Se você comprou um clone, quase certamente precisará de drivers de terceiros antes que a placa seja reconhecida por USB.

Executando o software Arduino

Agora que o software está instalado e seu Arduino configurado, vamos verificar se tudo está funcionando. A maneira mais fácil de fazer isso é usando o aplicativo de exemplo 'Blink'.

Abra o software Arduino clicando duas vezes no aplicativo Arduino ( ./arduino no Linux ) Certifique-se de que a placa está conectada ao seu computador e, em seguida, abra o Piscar LED esboço de exemplo: Arquivo > Exemplos > 1. Básico > Piscar . Você deve ver o código para o aplicativo aberto:

Para fazer o upload deste código para o seu Arduino, selecione a entrada no Ferramentas > Borda menu que corresponde ao seu modelo - Arduino uno nesse caso.

Selecione o dispositivo serial da sua placa a partir do Ferramentas > Porta serial cardápio. No Windows, é provável que seja COM3 ou mais alto. No Mac ou Linux, isso deve ser algo com /dev/tty.usbmodem iniciar.

Finalmente, clique no Envio botão no canto superior esquerdo do seu ambiente. Espere alguns segundos e você verá o RX e TX LEDs no Arduino piscando. Se o upload for bem-sucedido, a mensagem 'Upload concluído' aparecerá na barra de status.

Alguns segundos após o término do upload, você verá o pino 13 O LED na placa começa a piscar. Parabéns! Você tem seu Arduino instalado e funcionando.

Projetos iniciais

Agora que você conhece o básico, vamos examinar alguns projetos para iniciantes.

Você usou anteriormente o código de amostra do Arduino para piscar o LED integrado. Este projeto irá piscar um LED externo usando uma placa de ensaio. Aqui está o circuito:

Conecte a perna longa do LED (perna positiva, chamada de ânodo ) para um Resistor de 220 ohms e então para digital pino 7 . Conecte a perna curta (perna negativa, chamada de cátodo ) Diretamente a chão (qualquer uma das portas do Arduino com GND, à sua escolha). Este é um circuito simples. O Arduino pode controlar digitalmente esse pino. Ligar o pino acenderá o LED, desligá-lo irá desligar o LED. O resistor é necessário para proteger o LED de muita corrente - ele queimará sem ele.

Este é o código de que você precisa:

void setup() {
// put your setup code here, to run once:
pinMode(7, OUTPUT); // configure the pin as an output
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(7, HIGH); // turn LED on
delay(1000); // wait 1 second
digitalWrite(7, LOW); // turn LED off
delay(1000); // wait one second
}

Este código faz várias coisas:

configuração vazia (): Isso é executado pelo Arduino uma vez a cada vez que é iniciado. É aqui que você pode configurar as variáveis ​​e tudo o que seu Arduino precisa para ser executado.

pinMode (7, SAÍDA): Isso diz ao Arduino para usar esse pino como saída, sem essa linha, o Arduino não saberia o que fazer com cada pino. Isso só precisa ser configurado uma vez por pino, e você só precisa configurar os pinos que pretende usar.

void loop (): Qualquer código dentro desse loop é executado repetidamente, até que o Arduino seja desligado. Isso pode tornar projetos maiores mais complexos, mas funciona incrivelmente bem para projetos simples.

digitalWrite (7, HIGH): Isso é usado para definir o pino ALTO ou BAIXO - SOBRE ou DESLIGADO . Assim como um interruptor de luz, quando o pino está ALTO, o LED fica aceso. Quando o pino está BAIXO, o LED se apaga. Dentro dos colchetes, você precisa especificar algumas informações adicionais para que isso funcione corretamente. Informações adicionais são conhecidas como parâmetros ou argumentos.

O primeiro (7) é o número do pino. Se você conectou seu LED a um pino diferente, por exemplo, você mudaria de sete para outro número. O segundo parâmetro tem que ser ALTO ou BAIXO , que especifica se o LED deve ser ligado ou desligado.

atraso (1000): O diz ao Arduino para esperar por um período de tempo especificado em milissegundos. 1000 milissegundos é igual a um segundo, então isso fará com que o Arduino espere um segundo.

Uma vez que o LED foi ligado por um segundo, o Arduino então executa o mesmo código, apenas prossegue para desligar o LED e esperar mais um segundo. Terminado este processo, o loop recomeça e o LED é novamente aceso.

Desafio: Tente ajustar o intervalo de tempo entre ligar e desligar o LED. O que você observa? O que acontece se você definir o atraso para um número muito pequeno, como um ou dois? Você pode modificar o código e o circuito para piscar dois LEDs?

Adicionando um Botão

Agora que você tem um LED funcionando, vamos adicionar um botão ao seu circuito:

Conecte o botão de forma que faça uma ponte entre o canal no meio da placa de ensaio. Conecte o canto superior direito perna para Pino 4 . Conecte o canto inferior direito perna para um 10k Ohm resistor e então para chão . Conecte o inferior esquerdo perna para 5V .

Você pode estar se perguntando por que um simples botão precisa de um resistor. Isso serve a dois propósitos. É um Puxar para baixo resistor - ele amarra o pino ao aterramento. Isso garante que nenhum valor espúrio seja detectado e evita que o Arduino pensamento você pressionou o botão, mas não o fez. O segundo objetivo deste resistor é como um limitador de corrente. Sem ele, 5V iriam diretamente para o solo, o fumaça mágica seria lançado e seu Arduino morreria. Isso é conhecido como curto-circuito, portanto, o uso de um resistor impede que isso aconteça.

Quando o botão não é pressionado, o Arduino detecta o solo ( pino 4 > resistor > chão ) Quando você pressiona o botão, 5 V é conectado ao aterramento. O pino 4 do Arduino pode detectar essa mudança, pois o pino 4 agora mudou de terra para 5V;

Aqui está o código:

boolean buttonOn = false; // store the button state
void setup() {
// put your setup code here, to run once:
pinMode(7, OUTPUT); // configure the LED as an output
pinMode(4, INPUT); // configure the button as an input
}
void loop() {
// put your main code here, to run repeatedly:
if(digitalRead(4)) {
delay(25);
if(digitalRead(4)) {
// if button was pressed (and was not a spurious signal)
if(buttonOn)
// toggle button state
buttonOn = false;
else
buttonOn = true;
delay(500); // wait 0.5s -- don't run the code multiple times
}
}
if(buttonOn)
digitalWrite(7, LOW); // turn LED off
else
digitalWrite(7, HIGH); // turn LED on
}

Este código se baseia no que você aprendeu na seção anterior. O botão de hardware que você usou é um momentâneo açao. Isso significa que ele só funcionará enquanto você o mantiver pressionado. A alternativa é um travando açao. É como os interruptores de luz ou soquete, pressione uma vez para ligar, pressione novamente para desligar. Felizmente, um comportamento de travamento pode ser implementado no código. Aqui está o que o código adicional faz:

boolean buttonOn = false: Esta variável é usada para armazenar o estado do botão - ON ou OFF, HIGH ou LOW. É dado um valor padrão de false.

pinMode (4, INPUT): Muito parecido com o código usado para o LED, esta linha informa ao Arduino que você conectou uma entrada (seu botão) ao pino 4.

if (digitalRead (4)): De forma semelhante a digitalWrite () , digitalRead () é usado para ler o estado de um pino. Você precisa fornecer um número PIN (4, para o botão).

Depois de pressionado o botão, o Arduino espera 25 ms e verifica o botão novamente. Isso é conhecido como debounce software . Isso garante que o que o Arduino pensa foi um pressionamento de botão, realmente foi um pressionamento de botão, e não ruído. Você não precisa fazer isso e, na maioria dos casos, as coisas funcionarão bem sem ele. É mais uma prática recomendada.

Se o Arduino tiver certeza de que você realmente pressionou o botão, ele altera o valor do buttonOn variável. Isso alterna o estado:

ButtonOn é verdadeiro: Defina como falso.

ButtonOn é falso: Definido como verdadeiro.

Finalmente, o LED é desligado de acordo com o estado armazenado em buttonOn .

Sensor de luz

Vamos passar para um projeto avançado. Este projeto usará um Resistor dependente de luz (LDR) para medir a quantidade de luz disponível. O Arduino então contará ao seu computador mensagens úteis sobre o nível de luz atual.

como manter fotos privadas no facebook

Aqui está o circuito:

Como os LDRs são um tipo de resistor, não importa em que direção eles são colocados - eles não têm polaridade. Conectar 5V para um lado do LDR. Conecte o outro lado para chão através de um 1k Ohm resistor. Também conecte este lado a entrada analógica 0 .

Este resistor atua como um resistor suspenso, assim como nos projetos anteriores. É necessário um pino analógico, pois os LDRs são dispositivos analógicos e esses pinos contêm circuitos especiais para leitura precisa do hardware analógico.

Aqui está o código:

int light = 0; // store the current light value
void setup() {
// put your setup code here, to run once:
Serial.begin(9600); //configure serial to talk to computer
}
void loop() {
// put your main code here, to run repeatedly:
light = analogRead(A0); // read and save value from LDR

//tell computer the light level
if(light <100) {
Serial.println('It is quite light!');
}
else if(light > 100 && light <400) {
Serial.println('It is average light!');
}
else {
Serial.println('It is pretty dark!');
}
delay(500); // don't spam the computer!
}

Este código faz algumas coisas novas:

Serial.begin (9600): Isso informa ao Arduino que você deseja se comunicar por serial a uma taxa de 9600. O Arduino preparará tudo o que for necessário para isso. A taxa não é tão importante, mas o Arduino e o computador precisam estar usando o mesmo.

analogRead (A0): Isso é usado para ler o valor proveniente do LDR. Um valor mais baixo significa que há mais luz disponível.

Serial.println (): Isso é usado para escrever texto na interface serial.

O simples E se declaração envia strings diferentes (texto) para o seu computador dependendo da luz disponível.

Carregue este código e mantenha o cabo USB conectado (é assim que o Arduino se comunicará e de onde vem a energia). Abra o monitor serial ( Canto superior direito > Monitor Serial ), Você deve ver suas mensagens chegando a cada 0,5 segundos.

O que você observa? O que acontece se você cobrir o LDR ou acender uma luz forte sobre ele? Você pode modificar o código para imprimir o valor do LDR em série?

Faça algum Barulho

Este projeto usa o alto-falante Piezo para fazer sons. Aqui está o circuito:

Notou algo familiar? Este circuito é quase exatamente igual ao projeto do LED. Piezos são componentes muito simples - eles emitem um som quando recebem um sinal elétrico. Conecte o positivo perna para digital pino 9 através de um 220 Ohm resistor. Conecte o negativo perna para chão .

Aqui está o código, é muito simples para este projeto:

void setup() {
// put your setup code here, to run once:
pinMode(9, OUTPUT); // configure piezo as output
}
void loop() {
// put your main code here, to run repeatedly:
tone(9, 1000); // make piezo buzz
delay(1000); // wait 1s
noTone(9); // stop sound
delay(1000); // wait 1s
}

Existem apenas alguns novos recursos de código aqui:

tom (9, 1000): Isso faz com que o piezo gere um som. São necessários dois argumentos. O primeiro é o pino a ser usado e o segundo é a frequência do tom.

noTone (9): Isso para de produzir qualquer som no pino fornecido.

Tente alterar este código para produzir uma frequência diferente. Altere o atraso para 1 ms - o que você percebe?

Para onde ir a partir daqui

Como você pode ver, o Arduino é uma maneira fácil de entrar em eletrônica e software. É um dos melhores microcontroladores para iniciantes. Espero que você tenha visto que é fácil construir projetos eletrônicos simples com o Arduino. Você pode construir projetos muito mais complexos, uma vez que você entende os básicos:

  • Crie enfeites de luz de natal
  • Arduino Shields para superpotenciar seu projeto
  • Construa seu próprio jogo de pong com um Arduino
  • Conecte seu Arduino à internet
  • Crie um sistema de automação residencial com seu Arduino

Qual Arduino você possui? Há algum projeto divertido que você gostaria de fazer? Para saber mais, dê uma olhada em como melhorar sua codificação do Arduino com VS Code e PlatformIO.

Compartilhado Compartilhado Tweet O email 15 Comandos do Prompt de Comando do Windows (CMD) que você deve conhecer

O prompt de comando ainda é uma ferramenta poderosa do Windows. Aqui estão os comandos CMD mais úteis que todo usuário do Windows precisa saber.

Leia a seguir
Tópicos relacionados
  • faça você mesmo
  • Arduino
  • Eletrônicos
Sobre o autor Joe Coburn(136 artigos publicados)

Joe é graduado em Ciência da Computação pela University of Lincoln, no Reino Unido. Ele é um desenvolvedor de software profissional e, quando não está pilotando drones ou escrevendo música, pode ser encontrado tirando fotos ou produzindo vídeos.

Mais de Joe Coburn

Assine a nossa newsletter

Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!

Clique aqui para se inscrever