Já tirei o cordão umbilical ao meu Arduino. Arranjei umas baterias de um avião RC (7.2V 1000mAH). O único problema é o carregador que não é inteligente e é preciso estar de olho nas baterias para não aquecerem.
PS: Agora tive que lhe fechar um pouco a torneira aos motores porque senão ninguém o conseguia apanhar.
segunda-feira, 30 de março de 2009
quinta-feira, 26 de março de 2009
O meu Arduino já tem rodas
Já consegui juntar tudo e por o Arduino a rolar, a desviar-se de objectos e a buscar a luz.
Como rodas arranjei-lhe duas tampas plásticas de garrafão de agua.
Na frente tem 2 arames que accionam dois interruptores e para "vêr a luz" tem 2 LDR's.
O Código é bastante simples e foi feito numa noite.
#define moto1A 7
#define moto1B 8
#define moto1E 9
#define moto2A 4
#define moto2B 5
#define moto2E 6
#define sensor1 2
#define sensor2 3
#define ldr1 0
#define ldr2 1
#define vel1 150
#define vel2 255
void setup()
{
Serial.begin(9600);
Serial.println("SETUP");
}
void loop()
{
lerLuz();
if(!digitalRead(sensor1))
sensorDireita();
if(!digitalRead(sensor2))
sensorEsquerda();
motorFrente(vel1,250);
}
void motorFrente(int vel, int tempo){
digitalWrite(moto1A,LOW);
digitalWrite(moto1B,HIGH);
analogWrite(moto1E, vel);
digitalWrite(moto2A,LOW);
digitalWrite(moto2B,HIGH);
analogWrite(moto2E, vel);
delay(tempo);
}
void motorTras(int vel, int tempo){
Serial.print("Tras : ");
Serial.print(vel,DEC);
Serial.print(" , ");
Serial.println(tempo,DEC);
digitalWrite(moto1A,HIGH);
digitalWrite(moto1B,LOW);
analogWrite(moto1E, vel);
digitalWrite(moto2A,HIGH);
digitalWrite(moto2B,LOW);
analogWrite(moto2E, vel);
delay(tempo);
}
void motorDireita(int vel, int tempo){
Serial.print("Direita : ");
Serial.print(vel,DEC);
Serial.print(" , ");
Serial.println(tempo,DEC);
digitalWrite(moto1A,LOW);
digitalWrite(moto1B,HIGH);
analogWrite(moto1E, vel);
digitalWrite(moto2A,HIGH);
digitalWrite(moto2B,LOW);
analogWrite(moto2E, vel);
delay(tempo);
}
void motorEsquerda(int vel, int tempo){
Serial.print("Esquerda : ");
Serial.print(vel,DEC);
Serial.print(" , ");
Serial.println(tempo,DEC);
digitalWrite(moto1A,HIGH);
digitalWrite(moto1B,LOW);
analogWrite(moto1E, vel);
digitalWrite(moto2A,LOW);
digitalWrite(moto2B,HIGH);
analogWrite(moto2E, vel);
delay(tempo);
}
void motorParar(int tempo){
Serial.print("Parar ");
Serial.print(" , ");
Serial.println(tempo,DEC);
digitalWrite(moto1A,LOW);
digitalWrite(moto1B,LOW);
analogWrite(moto1E, 255);
digitalWrite(moto2A,LOW);
digitalWrite(moto2B,LOW);
analogWrite(moto2E, 255);
delay(tempo);
}
void sensorDireita() {
Serial.println("Sensor Direita");
motorParar(1000);
motorTras(vel1,1000);
motorEsquerda(vel1,700);
}
void sensorEsquerda() {
Serial.println("Sensor Esquerda");
motorParar(1000);
motorTras(vel1,1000);
motorDireita(vel1,700);
}
void lerLuz(){
int dir = analogRead(ldr1);
int esq = analogRead(ldr2);
Serial.print("Luz : ");
Serial.print(esq,DEC);
Serial.print(" , ");
Serial.println(dir,DEC);
if((dir-esq)<-100){
motorDireita(vel1,500);
}
else if((dir-esq)<-50){
motorDireita(vel1,250);
}
else if ((dir-esq)>100){
motorEsquerda(vel1,500);
}
else if ((dir-esq)>50){
motorEsquerda(vel1,2500);
}
}
terça-feira, 24 de março de 2009
PJBot - 1º's passos, ou voltas
Estou a tentar fazer um Bot autónomo com 2 rodas acopladas a 2 motores DC.
Para já ainda estou a juntar o material necessário e vou vêr se começo alguns testes.
Material:
Para já ainda estou a juntar o material necessário e vou vêr se começo alguns testes.
Material:
Links Uteis
Robótica:
Sensores:
Motores:
Módulos RF:
Lojas online:
- Luso Robótica - Muito bom. Malta disposta a ajudar.
Sensores:
- Sonar - Maxbotix LV-EZ1;
Motores:
Módulos RF:
- RFM12-868D - Hoperf ;
- Info no LR - Módulos RF, Encoders/Decoders - Explicação do Funcionamento e ajuda
Lojas online:
- Aliatron - Já comprei (motores DC e placa de controle de motores DC) aqui e gostei do serviço. Os portes são um pouco caros (9€ fixos)
- Active-Robots - Estou a pensar comprar umas coisas por aqui (Servos e Sonar ultra-som)
- DigiControle - Não tem loja online mas enviam material de várias marcas. Foi lá que comprei os módulos RFM12-868D da Hoperf.
- SuperRobotica -
- Maxim - Têm vários tipos de IC's (memórias, temperatura, rs232, etc) e ainda enviam amostras.
- Vishay - Ainda estou à espera das amostras.(Recusaram-me as amostras)
- Ricardo Dias - Este site tem informação muito boa.
Arduino!?!?! Que é isso???»
Deixo aqui alguns links importantes:
- Arduino - Site oficial do Arduino
- Luso Robótica - Robótica em português
Subscrever:
Mensagens (Atom)