Archive for the ‘Projectos’ Category

Projecto RobóticTank – Ponto de Situação 23/09/2011

Hoje foi dia de voltar a debruçar-me sobre o meu projecto pessoal “RobóticTank”. Já com o material de ligação que me fazia falta, debrucei-me sobre o esquema eléctrico e sobre as conexões.

Mas nem tudo foi fácil, ao inicio estava a falhar uma pequena ligação ao GND do Arduino, motivo pelo qual os motores não davam qualquer resposta. Resolvida esta pequena ligação os motores deram sinal de vida, mas desta feita com pouca força, motivo do qual desconfiei da falta de tensão da bateria.

Ao medir a tensão da bateria acusou 6.8v o que é um pouco baixo para o funcionamento do sistema em geral. No entanto ao ligar em simultâneo o cabo USB com a bateria externa essa “possível” falta de energia dissipou-se fazendo com que os motores ganhassem vida.

O esquema eléctrico que estou a usar neste momento está representado no seguinte esquema:

Neste momento tenho a bateria a carregar de modo a poder despistar o problema da posivel falta de tensão, mas não excluo a possibilidade de haver um outro problema ou erro nas ligações.

Assim que a bateria estiver completamente carregada voltarei novamente aos testes, até lá caso os visitantes encontrem algum problema eléctrico no esquema que apresento, ou mesmo alguma dica ou melhoramento estou disponível para vos “ouvir”.

RobóticTack 20/09/2011

Durante o verão o meu projecto pessoal esteve bastante parado, principalmente devido à falta de tempo para me debruçar sobre ele.

Agora que voltei a ter algum tempo disponível, faltavam-me algum material para colocar o projecto a funcionar com alguma segurança e qualidade, material esse que deverá chegar amanhã.

O material que eu encomendei, e que algum dele é em excesso para prevenir futuras pausas por falta de material é o seguinte:

3 x Jumper Wires Premium 6″ M/F Pack of 10

2 x Spring Terminals – PCB Mount (2-Pin)

1 x  Spring Terminals – PCB Mount (3-Pin)

1 x Spring Terminals – PCB Mount (6-Pin)

2 x Screw Terminals 3.5mm Pitch (3-Pin)

1 x Break Away Headers – Straight

Todo o material foi encomendado na inmotion.pt e não passa de simples material de ligação.

Amanhã devo voltar à carga com o projecto, e futuramente voltarei a dar notícias sobre ele.

RobóticTank

O projecto RobóticTank surgiu um pouco por brincadeira e como a realização de um projecto pessoal relacionado com a robótica e automação.

O primeiro passo foi escolher uma plataforma sobre a qual desenvolver o projecto e essa escolha recaiu sobre Arduino. Os factores que levaram à escolha da plataforma Arduino foram a sua simplicidade e modularidade que permite que seja uma plataforma com uma curva de aprendizagem muito linear mas que ao mesmo tempo é muito poderosa.

Esta projecto foi aos poucos e poucos sendo organizado e planeado na minha mente, e acabei por definir um caminho que começava por inicialmente controlar dois servo – motores via uma programação feita previamente no Arduino. Este seria a base de todo o trabalho e todo o restante projecto evoluiria a partir desta base.

Após a conclusão desta base o próximo passo seria instalar um sensor de pista, um sensor que detecta através de pequenos módulos LED diferenças de cor entre determinadas margens no solo, isto seria útil para colocar o RobóticTank a seguir uma linha colorida no solo. Para isto o sensor iria fazer a leitura do solo e a programação do Arduino teria de incidir sobre o LED central ler a cor e os LED’s laterais terem de fazer uma leitura de cor diferente do LED central e assim sucessivamente fazer os respectivos ajustes nos motores para que o RobóticTank siga a linha.

O próximo passo é adicionar um módulo de conexão sem fios ao RobóticTank para que seja possível controla-lo de uma forma mais autónoma, quer seja via computador ou smartphone. No entanto ainda não decidi qual o tipo de conexão a usar, mas poderá ser desde o bluetooth (que tem um alcance bastante limitado) até as conexões Wifi.

Por último gostaria também de adicionar uma pequena camera de vídeo ao sistema e poder fazer o streaming em tempo real para um computador ou sistema móvel. Além destas funcionalidades poderiam ainda ser incluídos inúmeros sensores ao RobóticTank de modo a poder ter uma maior gama de dados recolhidos à sua passagem.

Uma grande parte destes objectivos ainda estão por cumprir, na verdade apenas o primeiro objectivo está em parte alcançado, mas tudo leva o seu tempo e necessita da sua aprendizagem.

Irei usar este Blog para divulgar o meu projecto e mostrar todas as evoluções que vou fazendo ao longo do tempo no projecto. Poderão encontrar já vários post’s sobre este meu projecto na categoria Projectos.

Projecto Robótica – Ponto de Situação 26/07/2011

Durante os últimos tempos não tenho tido quase tempo nenhum para dedicar ao meu projecto Robótica, mas pretendo voltar ao trabalho durante as férias.

Desde o último “Ponto de Situação” pouco evolui, apenas iniciei de uma forma um pouco desarrumada a conexão das cablagens do sensor QTR-8RC Reflectance Sensor Array ao Arduino.

De momento não tenho mais novidades para dar sobre o projecto, mas fiquem a espera de novos desenvolvimentos sobre o projecto durante os próximos dias.

Projecto Robótica – Ponto de Situação 13/05/2011

Faz cerca de uma semana desde o verdadeiro começo do meu projecto de robótica, e até agora tem tudo corrido bastante bem. A nível de funcionalidades nos últimos dias não tenho evoluído muito, apenas organizei um pouco a estrutura do Robot, e comecei a controlar a velocidade dos motores.

Neste momento o Robot encontra-se assim:

Quanto à programação do Robot, fiz algumas alterações e comecei a controlar  velocidade dos motores de modo a poder controlar melhor o desempenho do Robot.

A actual programação assenta no seguinte código:

int motorPin1 = 6;
int motorPin2 = 5;
int motorPin3 = 10;
int motorPin4 = 11;
int delayTime = 500;

void setup()
{
 pinMode(motorPin1, OUTPUT);
 pinMode(motorPin2, OUTPUT);
 pinMode(motorPin3, OUTPUT);
 pinMode(motorPin4, OUTPUT);
}

void loop()
{
  frente();
  delay(1000);
  direita();
  delay(1000);
  esquerda();
  delay(1000);
  tras();
  delay(1000);
  esquerda();
  delay(1000);
  direita();
  delay(1000);
  parado();
  delay(1500);
}

void frente()
{
  analogWrite(motorPin1, 80);
  analogWrite(motorPin2, 0);
  analogWrite(motorPin3, 80);
  analogWrite(motorPin4, 0);
}

void tras()
{
  analogWrite(motorPin1, 0);
  analogWrite(motorPin2, 80);
  analogWrite(motorPin3, 0);
  analogWrite(motorPin4, 80);
}

void direita()
{
  analogWrite(motorPin1, 100);
  analogWrite(motorPin2, 0);
  analogWrite(motorPin3, 0);
  analogWrite(motorPin4, 100);
}

void esquerda()
{
  analogWrite(motorPin1, 0);
  analogWrite(motorPin2, 100);
  analogWrite(motorPin3, 100);
  analogWrite(motorPin4, 0);
}

void parado()
{
  analogWrite(motorPin1, 0);
  analogWrite(motorPin2, 0);
  analogWrite(motorPin3, 0);
  analogWrite(motorPin4, 0);
}

Fico à espera de comentários e dicas de melhoramento para este projecto, visto que eu ainda me estou a iniciar na área da electrónica e da robótica.