Professional Documents
Culture Documents
Resumo
Este artigo tem o objetivo de mostrar a
criao de um carro de controle remoto a partir
de peas do brinquedo LEGO, dois motores
servos, um receptor infravermelho, um controle
remoto de televiso, um placa protoboard,
diversos fios Jumpers e um placa de
microcontrolador Arduino, mostrando em etapas,
como funcionam as peas e como as mesmas
foram utilizadas para esta finalidade.
1. Introduo
O Objetivo deste trabalho foi obter mais
conhecimento sobre a placa Arduino e suas
2. Equipamentos Utilizados
2.1. Motores Servos
Os motores servos so mquinas,
mecnicas ou eletromecnicas, que apresentam
movimentos proporcionais a um comando. Ao
contrrio de motores contnuos, no possuem
tanta liberdade, eles dispem de uma
movimentao limitada em 180, entretanto, so
bem mais precisos quanto posio.
Nesse trabalho o uso dos dois motores
servos altamente importante. Um dos motores
servo foi usado para fazer as rodas dianteiras
dobrarem. O brao do motor servo est acoplado
um sistema formado por peas LEGO,
possibilitando que as rodas dianteiras executem
um movimento lateral. Com isso, consegue-se
direcionar o mvel.
O segundo motor servo foi usado para
propulsionar o mvel. Como os motores servos s
conseguem fazer um movimento de 180, foi
necessrio alter-lo de modo que ele pudesse se
girar livremente em torno de seu eixo. Para isso,
foi retirado o potencimetro interno dele que o
limitava e dava preciso, de modo que quando era
enviado o comando para que o servo girasse para
certa posio ele no conseguia identificar sua
posio atual e continuava girando
indefinidamente at que era mandado outro
comando para ele. A partir disso foi conectado ao
seu eixo um sistema de engrenagens que
possibilitaram o rolamento das rodas traseiras,
efetivamente propulsionando o mvel.
}
//A funo void loop ser executada em um ciclo
enquanto o Arduino estiver em funcionamento e
carregado com o programa
void loop()
{
if (irrecv.decode(&results)) //Uma condio para
que o resultado decodificado pelo receptor
infravermelho seja guardado na varivel results
e impresso em um monitor
{
Serial.println(results.value, DEC);
irrecv.resume();
}
switch(results.value)
{
case 12439599:
digitalWrite(VccMotorTras, HIGH);
MotorTras.write(VelF); break; //O carro anda para
frente
case 12447759:
digitalWrite(VccMotorTras, HIGH);
MotorTras.write(VelT); break; //O carro anda pra
tras
case 12394719:
digitalWrite(VccMotorTras, LOW); //O carro
para
break;
case 12431439:
if(i>67)
for(i=i;i>67;i--)
{
MotorFrente.write(i); //Centraliza as rodas
dianteiras
delay(delayFrente);
}
else
for(i=i; i<67; i++)
{
MotorFrente.write(i);//Centraliza as rodas
dianteiras
delay(delayFrente);
}
break;
case 12423789:
for(i=i;i>LimEsq;i--)
{
3. Referncias
[1] http://www.arduino.cc/
[2] http://arduino.cc/en/reference/servo
[3] http://www.instructables.com/id/Arduino-InfraredRemote-tutorial/?lang=pt
[4] http://arduino.cc/en/Reference/Void
[5] http://arduino.cc/en/Reference/SwitchCase
[6] http://pt.wikipedia.org/wiki/Lego