Professional Documents
Culture Documents
2. Experimentos
Antes de iniciarmos um experimento é recomendado desgravar o seu Arduino. Isso é apenas uma boa
prática de eletrônica para evitar “queimar” seu circuito, uma vez que não sabemos que está gravado no seu Arduino.
Para isso, bastar gravar um sketch com as funções setup e loop vazias, como mostrado na Figura 1.
Toda prática com o Arduino nesse material será chamada de Montagem, pois geralmente teremos um
circuito para montar e um programa para desenvolver. Pensando um pouco como programador, o primeiro programa
criado por um iniciante em alguma linguagem de programação é o “Hello World!” ou “Olá Mundo!”. Em
microcontroladores, o primeiro programa “Hello World!” é piscar um LED. Vamos explorar a IDE de programação e
a interface de desenvolvimento do Arduino. Inicialmente, vamos piscar o LED da placa ARDUINO UNO ligado
internamente ao pino 13 do Arduino (Figura 2).
Execute o programa “arduino.exe” e familiariza-se com a interface de desenvolvimento (Figura 3). Ela
1
Página
permite que os programas sejam escritos, compilados e transferidos (via cabo USB) ao Arduino. Há duas funções
principais: setup() – configurações de hardware e software; loop() – programa a ser executado em um loop infinito.
1
GNU Operationg System. Hardware e Software: GNU GPL. Documentação: Creative Commons. Attribution-ShareAlike 2.5
Generic (CC BY-SA 2.5). Disponível em: http://creativecommons.org/licenses/by-sa/2.5/
Prof. Fernando Esquírio Torres
Apostila criada para fins didáticos. Proibido qualquer reprodução ou uso não autorizado.
Profissão e Ação
1) Considere o programa (sketch) da Figura 4 para piscar o LED interno ligado ao pino 13. Em laranja,
aparecem funções da biblioteca padrão do dispositivo e, em azul, variáveis pré-definidas e autoexplicativas, da
biblioteca. Veja os comentários no código.
2) Digite o código da Figura 4 e habitue-se a incluir comentários, como boa prática de programação.
4) Compile ou “verifique” (✓) o código. No caso de sucesso, será exibida uma mensagem escrita com cor
branca na Área de Status (Figura 5). Caso contrário, haverá uma mensagem de erro em cor alaranjada, nesse caso
verifique linha por linha do seu código com o da Figura 4.
2
Página
i) Porta serial: conecte o Arduino em uma das portas USB e consulte “Painel de controle → Gerenciador de
Dispositivos → Portas (COM e LPT)” e descubra qual a porta de comunicação (por exemplo, COM5) utilizada. Em
seguida, configure a porta de comunicação na IDE do Arduino em “Tools → Serial Port”.
ii) modelo de placa Arduino. No computador que você está trabalhando já foi instalado o driver (para usar o a
plataforma Arduino em outro computador instale o driver conforme tutorial do Windows 7 ou Windows 8. Para
configurar a placa Arduino, na IDE faça ““Tools → Board → Arduino Uno”.
Ponte H é um circuito eletrônico que fornece a corrente necessária para o funcionamento de um motor, por
exemplo, motor DC, e também possibilita o controle do sentido de rotação do motor. Para obter a rotação em ambos
os sentidos, o que se faz é alterar o sentido de circulação da corrente aplicada ao motor, ou seja, basta alimentar
as bobinas com Vcc e GND. Para fazê-lo girar em sentido contrário, basta inverter o Vcc com o GND. E a melhor
forma de se fazer isso, sem a necessidade de recursos mecânicos como chaves e relés, é através de uma ponte H.
Na Figura 7 (a), pode-se verificar um Motor DC conectado a quatro chaves. É essa configuração que é
conhecida como uma ponte H, com a ponte de carga no centro.
Na Figura 7 (b), as chaves do canto superior esquerdo e do canto inferior direito estão fechadas. Dessa
forma, a corrente fluirá pelo motor, da esquerda para a direita, e o motor rotacionará. Caso abra essas chaves e
feche as chaves do canto superior direito e do canto inferior esquerdo (Figura 7 (c)), a corrente fluirá pelo motor na
direção oposta, fazendo com que ele rotacione também na direção oposta.
Atualmente, existem vários circuitos prontos para serem usados com microcontroladores em geral, esses
circuitos são chamados de Shields ou módulos. Em nossa prática, vamos usar o módulo Ponte H L298N (Figura 8),
que permite o controle de 2 motores DC ou um motor de passo.
3
Página
Além dos detalhes mostrados na Tabela 1, os sinais de entrada (IN1, IN2, IN3 e IN4) têm a função de controlar a
velocidade de rotação do motor através de um sinal PWM. Para isso, usamos a seguinte configuração:
• IN1: Este é um sinal PWM do controlador, ele diz quão rápido o motor 1 deve funcionar. No exemplo abaixo
este valor pode ser entre 0 e 255, sendo 0 (parado) e 255 (velocidade máxima).
• IN2: Simples sinal digital que informa o sentido da rotação do motor 1, sendo que 0 significa reverso e 1 frente.
•
4
Siga os passos para realizar as conexões corretamente, certifique-se que a Placa Arduino esteja desligada.
7º. Compile ou “verifique” (✓) o código. No caso de sucesso, será exibida uma mensagem escrita com a cor branca
5
na Área de Status. Caso contrário, haverá uma mensagem de erro em cor alaranjada, nesse caso verifique linha
Página
Você precisará baixar alguns aplicativos no seu celular Android para continuar essa prática. São eles: S2
Terminal for Bluetooth Free e Arduino Bluetooth RC Car (Figura 13). Peça ajuda ao seu professor se não conseguir
baixar os aplicativos.
Figura 13. Aplicativos S2 Terminal for Bluetooth Free e Arduino Bluetooth RC Car.
Grave um sketch com as funções setup e loop vazias. Antes de toda montagem do circuito vamos
“desgravar” o Arduino para evitar acidentes.
Siga os passos para realizar as conexões corretamente, certifique-se que a Placa Arduino esteja desligada.
Chame seu professor para verificar sua ligação, antes de ligar o Arduino na porta USB, para evitar danos ao
Sensor Ultrassom.
1º. Estude atentamente a montagem a ser feita (Figura 14).
2º. Fixe a placa do Arduino (com uma fita elástica) ao protoboard.
Conecte a alimentação (+Vcc e terra) do protoboard a partir do Arduino; utilize os barramentos horizontais
superior e inferior do protoboard para isso.
4º. Peça seu professor para verificar sua ligação, antes de continuar.
Ligue o Arduino na sua USB e verifique o ID do seu módulo Bluetooth. Anote-o caso precise de encontrá-lo
novamente. O funcionamento da prática: Vamos enviar e receber dados pelo módulo Bluetooth. Do Arduino:
enviaremos uma mensagem de conexão estabelecida e o nome do aluno e esperaremos um comando 'A' para trocar
Prof. Fernando Esquírio Torres
Apostila criada para fins didáticos. Proibido qualquer reprodução ou uso não autorizado.
Carro controlado por Bluetooth
o estado do LED ligado ao Pino 13. Do celular: enviaremos o comando 'A' pelo Bluetooth para a placa Arduino.
Função setup ( ): Configuraremos a nossa comunicação serial com o Bluetooth, o pino do LED como saída digital e
enviaremos a mensagem de conexão estabelecida e seu nome. Função loop ( ): Colocaremos a tarefa espera de
um dado da serial e atuaremos sobre o LED do PINO 13 da placa Arduino.
Estude o código da Figura 15, digite-o, chame o professor ou o monitor antes de gravar o código.
#define LED_PINO 13
5º. Compile ou “verifique” (✓) o código. No caso de sucesso, será exibida uma mensagem escrita com a cor
Página
branca na Área de Status. Caso contrário, haverá uma mensagem de erro em cor alaranjada, nesse caso
verifique linha por linha do seu código com o da Figura 15.
Aproveite a montagem na estrutura e digite o código da Figura 16 e grave no seu Arduino. Dúvidas chame o seu
professor ou monitor.
#define IN1 9 //Pino do Motor A-Dianteiro
#define IN2 8 //Outro Pino do Motor A-Dianteiro
#define IN3 7 //Pino do Motor B-Traseiro
#define IN4 6 //Outro Pino do Motor B-Traseiro
char determinant; // Usado na função check, armazena o dado enviado pelo celular.
char dataIn = 'S'; // Caracter/Dado vindo do celular.
char value = ' ';
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
value = check();
} // Fim do while (value == 'R')