
Tutorial de Programação Arduíno
O tutorial é composto por várias etapas:
-- Etapa 1: Teste de Atuadores;
-- Etapa 2: Teste de Sensores;
-- Etapa 3: Noções básicas de Arduíno.
Motores
Código
// Variaveis (valores que podem ser alterados ao longo do programa)
int EnableDir1 = 7; // Input do driver de corrente - Definicao do sentido de rotacao do motor associada ao pino 7
int EnableDir2 = 5; // Input do driver de corrente - Definicao do sentido de rotacao do motor associada ao pino 5
int VelMotDir = 6; // Enabler do motor - Associacao do pino 6 a velocidade atribuida aos motores da direita
int EnableEsq1 = 4; // Input do driver de corrente - Definicao do sentido de rotacao do motor associada ao pino 4
int EnableEsq2 = 2; // Input do driver de corrente - Definicao do sentido de rotacao do motor associada ao pino 2
int VelMotEsq = 3; // Enabler do motor - Associacao do pino 3 a velocidade atribuida aos motores da esquerda
// Void Setup (definicoes dos pinos)
void setup ()
{
pinMode (EnableDir1, OUTPUT);
pinMode (EnableDir2, OUTPUT);
pinMode (VelMotDir, OUTPUT);
pinMode (EnableEsq1, OUTPUT);
pinMode (EnableEsq2, OUTPUT);
pinMode (VelMotEsq, OUTPUT);
}
// Void Loop (programa em si, quais as ordens que o robo deve seguir)
void loop ()
{
analogWrite (VelMotDir, vel); // Velocidade motor direita
analogWrite (VelMotEsq, vel); // Velocidade motor esquerda
digitalWrite (EnableDir1, LOW);
digitalWrite (EnableDir2, HIGH);
digitalWrite (EnableEsq1, HIGH);
digitalWrite (EnableEsq2, LOW);
}
Motor Servo
Neste código o objetivo é fazer rodar o suporte de ultrassons com auxilio do motor servo, para tal, cria-se um objeto que representa o servo de modo a poder controla-lo, coloca-se a variável "pos" a zero que representa a posição onde o motor servo se encontra e define-se o pino onde o motor está conetado.
No final cria-se um ciclo de modo a que sejam repetidas determinadas condições, neste caso, o servo roda 180 graus, uma vez para a direita e outra para a esquerda.
Código
// Bibliotecas (funcoes prefeitas)
#include
// Variaveis (valores que podem ser alterados ao longo do programa)
Servo servomotor; // Objeto que representa o servomotor
int posicao = 90; // Variavel que define a posicao inicial do servomotor
// Void Setup (definicoes dos pinos)
void setup ()
{
servomotor.attach(9); // Associar o servomotor ao pino em que esta conetado, neste caso o pino 9
servomotor.write(posicao); // Colocar o servomotor na posicao inicial
delay(1000);
}
// Void Loop (programa em si, quais as ordens que o robo deve seguir)
void loop ()
{
servomotor.write(160);
delay(500);
servomotor.write(20);
delay(500);
servomotor.write(90);
}