O Arduino trabalha em C++ adaptado. Quem não conhece a linguagem, não precisa saber de muita coisa, somente com Lógica de Programação já é o suficiente, o
resto flui naturalmente.
O Arduino já vem com seu software para programação, o que facilita muito. Com os exemplos já implementados, existe para
GNU/Linux, Windows e Mac.
Link para download 32bits:
Ou visite:
Bom, o Arduino para funcionar precisa dessa estrutura sempre que for criado o código para ele:
Obs.: Duas barras (//) comenta o resto da linha.
void setup() // onde usamos para definir as variaveis ou quais pinos vai sair ou entrar informação
{
}
void loop() // o que está dentro de loop será repetido automaticamente sempre
{
}
Arduino trabalha com bibliotecas para facilitar a vida de quem programa nele. E existem diversas bibliotecas: para ethernet, timer, sensores, displays LCD, etc.
Eu vou usar a biblioteca SERVO. Ela funciona para definir quando um objeto vai acionar um servo motor.
Para chamar as bibliotecas usamos o:
# include <biblioteca.h>
Como disse é C++.
Lembrando que '//' é comentário em C++. Agora vamos ao código:
# include <Servo.h> // chama a biblioteca Servo.h, sem esta ele não reconhece a função servo.
Servo md; //transforma a variável 'md' em um objeto para acionar o motor da direita.
Servo me; //transforma a variável 'me' em um objeto para acionar o motor da esquerda.
int BOT = 0; // variável que recebe a tecla pressionada, serão valores entre 0 a 200 +-.
void setup()
{
Serial.begin(9600); // usado para ativar a função de transferência de dados entre PC e Arduino 9600, é a velocidade do trafego.
me.attach(4); //motor esquerdo será no pino 4 (no artigo usei cabo amarelo para informar os dados).
md.attach(5); //motor direito será no pino 5.
me.write(118); // AQUI EU ACHO QUE O VALOR 118 VARIA DE MOTOR PRA MOTOR.
md.write(103); // TEM QUE ACHAR O VALOR PARA QUE ELE FIQUE PARADO.
}
void loop()
{
if (Serial.available()>0) //verifica se alguma tecla foi pressionada e se o valor é maior que 0.
{
BOT = Serial.read(); // variável BOT recebe a tecla digitada e esse valor vem em byte.
if ( BOT == 119) // aqui já coloquei os valores em byte para as teclas pressionadas, 'w' para ir pra frente.
{
md.write(150); // anda para direção acionada.
me.write(50);
}
if ( BOT == 115) //atrás: letra s.
{
md.write(50); // anda para direção acionada.
me.write(150);
}
if ( BOT == 97) //esquerda: letra a.
{
md.write(50); // anda para direção acionada.
me.write(50);
}
if ( BOT == 100) //direita: letra d.
{
md.write(150); // anda para direção acionada.
me.write(150);
}
if ( BOT == 112) // pause: letra p.
{
md.write(118); // mesmo valor usado no 'void setup'.
me.write(103);
}
}
}
Com este código, seu Arduino já está pronto para acionar os motores.
Lembrando que estamos usando servo motores, eles já vêm com baixa rotação, aumentando o torque ajuda muito.