Boas
Toda a gente do fórum conhece o Smalluino (ou devia). No entanto, podem querer fazer um Smalluino mais avançado...Que tal um Smalluino com motores DC? Passemos entao ao passo a passo.
Para este robot, precisamos:
Arduino:
Motores DC:
Uma bateria (Este tipo de baterias diz que são de 9.6V, mas na verdade são de 12V):
Rodas e fixação para as mesmas (podem ser vocês a fazer ou não):
Suportes para os motores e parafusos (muitos)..Aconselho a usarem os parafusos do robot todos iguais
:
Os suportes para os motores dependem dos motores que vocês têm...neste caso os meus são assim:
Os meus foram feitos com uma calha, não igual a esta, mas idêntica....basta um pouco de paciencia e as ferramentas certas para se fazer:
Precisamos de uma roda livre ou um rolamento, dependendo do tipo de base que queiram fazer (Abordarei isso mais ha frente):
Material para a base...Bem, neste caso, eu prefiro a madeira...principalmente MDF...e porquê? Porque tenho mais ferramentas para trabalhar madeira, é barata, e é facil de cortar, etc....
Aqui a minha base já cortada e com os devidos furos para os suportes dos motores e para a roda livre
Uma pequena sugestão....nestas partes sujeitas a vibraçoes dos motores, usem femeas autoblocantes para que nao se desapertem com o tempo....na foto podem ver normais á esquerda e uma autoblocante à direita:
Vamos então fixar a nossa roda livre...metemos um parafuso e uma anilha:
Depois metemos a roda e do outro lado mais uma anilha e finalmente a femea blocante:
Depois fixamos os suportes dos motores e temos a nossa base praticamente pronta....
Começamos a fixar os motores:
Depois fazemos um pequeno furo para passar os fios
Arranjem maneira para fixar a bateria...no meu caso usei um pouco de velcro autocolante:
tá a ganhar forma
Fixamos o arduino....
Pode ser com parafusos normais como tem na foto anterior...mas aconselho a fixarem com espaçadores de nylon, como este:
Está quase....
Agora precisamos de controlar os nossos motores....Aqui o melhor seria utilizar a LusoRobotica Motor Board, mas enquanto ela nao está terminada podemos usar qualquer outra placa de controlo de motores...Fica a vosso critério escolher
No entanto, vou explicar como fazer uma placa simples para controlar os motores....Para isso vamos precisar de uma breadboard (pequena de preferencia), uma ponte H e fio.....Na questão da ponte H, eu vou usar uma L293D, que embora não seja a mais indicada para estes motores, não tenho tido problemas...
Encaixamos a nossa ponte H na breadboard e depois é só ligar:
O esquema da ligação será este:
Fiz o esquema um pouco à pressa por isso passo á devida explicação:
M1 e M2 correspondem ao motor da esquerda e motor da direita;
Pinxx correspondem aos Pinos do arduino com o respetivo numero;
+5V, GND, e Vin correspondem aos pinos do arduino com o mesmo nome;
Temos entao o nosso Smalluino DC quase pronto:
Vamos então programar e testar....Neste caso não vou usar a função analogWrite para nao complicar muito, mas seria o ideal...assim como está o programa não conseguimos variar a velocidade dos motores:
int motor1Pin1 = 5; // Ponte H
int motor1Pin2 = 6; // Ponte H
int motor2Pin1 = 10; // Ponte H
int motor2Pin2 = 11; // Ponte H
void setup() {
// Definir os pinos outputs:
pinMode(motor1Pin1, OUTPUT);
pinMode(motor1Pin2, OUTPUT);
pinMode(motor2Pin1, OUTPUT);
pinMode(motor2Pin2, OUTPUT);
}
void loop() {
//Vamos testar o gajo :)
digitalWrite(motor1Pin1, HIGH); // Este pino HIGH, em conjunto com o de baixo LOW
digitalWrite(motor1Pin2, LOW); // Fazem com que o motor da direita ande em frente
digitalWrite(motor2Pin1, LOW); // Este pino LOW, em conjunto com o de baixo HIGH
digitalWrite(motor2Pin2, HIGH); // Fazem com que o motor da esquerda ande em frente
delay (1500); // Tempo que vai ficar a fazer esta função
//Agora é inventar....fazer como quiserem...
//O ideal seria utilizar a funçao AnalogWrite para controlar a velocidade por PWM
//Mas o digitalWrite torna as coisas mais simples
//O inconveniente, é que anda sempre á velocidade máxima
//O resto do código vai fazer o Smalluino Mexer :D
//Dúvidas: [url=http://www.lusorobotica.com]www.lusorobotica.com[/url]
digitalWrite(motor1Pin1, LOW);
digitalWrite(motor1Pin2, HIGH);
digitalWrite(motor2Pin1, HIGH);
digitalWrite(motor2Pin2, LOW);
delay (1500);
digitalWrite(motor1Pin1, HIGH);
digitalWrite(motor1Pin2, LOW);
digitalWrite(motor2Pin1, HIGH);
digitalWrite(motor2Pin2, LOW);
delay (1500);
digitalWrite(motor1Pin1, LOW);
digitalWrite(motor1Pin2, HIGH);
digitalWrite(motor2Pin1, LOW);
digitalWrite(motor2Pin2, HIGH);
delay (1500);
}
Pequeno video do Smalluino em acçao: (Não tem muita qualidade, e tá escuro....além disso tinha pouca bateria no smalluino...amanha faço um novo video
Em relação á base do smalluino, eu prefiro assim como está...no entanto podem fazer de outra maneira
Um exemplo, a base do Autobot (meu):
Um exmplo de outro tipo de rodas que podemos usar...Neste caso, é uma roda de um carro telecomandado escala 1/8tt:
Nada que um pouco de imaginação e habilidade não faça.
Estão á vontade de comentar, criticar, etc.
Futuramente mostro o Smalluino com uma board dos motores melhor, e depois com sensores
EDIT: Imagens upadas novamente em novo server