collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: robo com infravermelhos  (Lida 25253 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline andnobre

  • Mini Robot
  • *
  • Mensagens: 402
robo com infravermelhos
« em: 02 de Fevereiro de 2009, 22:15 »
ola a todos
alguem sabe qual e o codigo ou dicas do codigo p este robo? é tipo o "smalluino" mas com o sensor infravermelhos.
http://lab.guilhermemartins.net/?p=288 ou http://lab.guilhermemartins.net/?p=288.
podem dar uma ajuda? sff
abracos

Offline ricardo-reis

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.338
Re:robo com infravermelhos
« Responder #1 em: 02 de Fevereiro de 2009, 23:50 »
o guilherme anda por aqui, pode ser que tenhas sorte.. :)

Offline guibot

  • Mini Robot
  • *
  • Mensagens: 651
    • Guibot
Re:robo com infravermelhos
« Responder #2 em: 03 de Fevereiro de 2009, 00:11 »
apenas traduzi o tutorial para português.. nunca programei picaxe   8)

Offline ricardo-reis

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.338
Re:robo com infravermelhos
« Responder #3 em: 03 de Fevereiro de 2009, 00:15 »
pronto. n tens sorte..  :-\

Offline guibot

  • Mini Robot
  • *
  • Mensagens: 651
    • Guibot
Re:robo com infravermelhos
« Responder #4 em: 03 de Fevereiro de 2009, 00:24 »
mas se olhares bem para o código está tudo comentado .. é relativamente simples de entender as rotinas


Offline TigPT

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 5.372
    • Tiago Rodrigues
Re:robo com infravermelhos
« Responder #5 em: 03 de Fevereiro de 2009, 00:57 »
Fica aqui, retirado do LMR, da autoria do fritsl.

Código: [Seleccione]
Symbol dangerlevel = 70 ' how far away should thing be, before we react?
symbol turn = 300 ' this sets how much should be turned
symbol servo_turn = 700 ' This sets for how long time we should wait for the servo to turn (depending on it´s speed) before we measure distance

main: ' the main loop
readadc 1, b1 ' read how much distance ahead
if b1 < dangerlevel then
gosub nodanger ' if nothing ahead, drive forward
else
gosub whichway ' if obstacle ahead then decide which way is better
end if
goto main ' this ends the loop, the rest are only sub-routines


nodanger:' this should be your combination to make the robot drive forward, these you most likely need to adjust to fit the way you have wired your robots motors
high 5 : high 6 : low 4 : low 7
return


whichway:
gosub totalhalt ' first stop!

'Look one way:
gosub lturn ' look to one side
pause servo_turn ' wait for the servo to be finished turning
readadc 1, b1
gosub totalhalt


'Look the other way:
gosub rturn ' look to another side
pause servo_turn ' wait for the servo to be finished turning
readadc 1, b2
gosub totalhalt

' Decide which is the better way:
if b1<b2 then
gosub body_lturn
else
gosub body_rturn
end if
return

body_lturn:
high 6 : low 5 : low 7 : high 4 ' this should be your combination that turns the robot one way
pause turn : gosub totalhalt
return

body_rturn:
high 5 : low 6 : low 4 : high 7 ' this should be your combination that turns the robot the other way
pause turn : gosub totalhalt
return

rturn:
servo 0, 100 ' look to one side
return

lturn:
servo 0, 200 ' look to the other side
return

totalhalt:
low 4 : low 5 : low 6 : low 7 ' low on all 4 halts the robot!
Servo 0,150 ' face forward
wait 1 ' freeze all for one second
return

Offline guibot

  • Mini Robot
  • *
  • Mensagens: 651
    • Guibot
Re:robo com infravermelhos
« Responder #6 em: 03 de Fevereiro de 2009, 01:06 »
Tiago, não queres traduzir isto para C (Arduino) ??   :P

Offline TigPT

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 5.372
    • Tiago Rodrigues
Re:robo com infravermelhos
« Responder #7 em: 03 de Fevereiro de 2009, 01:09 »
Tiago, não queres traduzir isto para C (Arduino) ??   :P
Fica para amanha ;)

Basicamente é o que vai ser o Smalluino V2.0, com uma ou duas coisas a mais.

Offline andnobre

  • Mini Robot
  • *
  • Mensagens: 402
Re:robo com infravermelhos
« Responder #8 em: 03 de Fevereiro de 2009, 12:07 »
oi a todos muito obrigado mais uma vez a vc... pela atenção se quiserem posso dar o meu msn.
como eu n gosto nada de programacao e n entendo la muito mas faço um esforço e o arduino ate tem ajudado.
abraço e estou ansioso por essa versao.
depois eu colo o meu robo aqui que ja esta contruido,mas comandado pelo comando da wii.

Offline andnobre

  • Mini Robot
  • *
  • Mensagens: 402
Re:robo com infravermelhos
« Responder #9 em: 05 de Fevereiro de 2009, 00:19 »
alguem pode dar uma luzes posso tentar traduzir o programa original p C do arduino
abracos

Offline guibot

  • Mini Robot
  • *
  • Mensagens: 651
    • Guibot
Re:robo com infravermelhos
« Responder #10 em: 05 de Fevereiro de 2009, 00:23 »
eu posso-te ajudar com o Arduino.. se quizeres podemos ir trabalhando porções de código aos poucos

Offline andnobre

  • Mini Robot
  • *
  • Mensagens: 402
Re:robo com infravermelhos
« Responder #11 em: 05 de Fevereiro de 2009, 00:29 »
ok assim vou aprendendo ja que estou desempregado.
abracos

Offline tr3s

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 811
  • char x=1, y=5; x^=y^=x^=y;
Re:robo com infravermelhos
« Responder #12 em: 05 de Fevereiro de 2009, 01:02 »
ola a todos
alguem sabe qual e o codigo ou dicas do codigo p este robo? é tipo o "smalluino" mas com o sensor infravermelhos.
http://lab.guilhermemartins.net/?p=288 ou http://lab.guilhermemartins.net/?p=288.
podem dar uma ajuda? sff
abracos

O código que o Tig meteu aqui em C Arduino, pode precisar de alterações mas creio que é basicamente isto:

Código: [Seleccione]
#define dangerlevel 70
#define turn 300
#define servo_turn 700
#define sensorPin 0
#define servo 10

int b1, b2;
void main (){
b1 = analogRead(sensorPin);
if (b1 < dangerlevel) nodanger();
else whichway();
}

void nodanger(){ //esta funçao parece-me que define a rotaçao dos motores, isto é, poe-nos a andar pa frente, 1 motor ligado aos pinos 5 e 4 e outro aos pinos 6 e 7
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(4, LOW);
digitalWrite(7, LOW);
}

void wichway(){
totalhalt();
lturn();
delay(servo_turn);
b1 = analogRead(sensorPin);
totalhalt();
rturn();
delay(servo_turn);
b2 = analogRead(sensorPin);
totalhalt();
if(b1<b2) body_lturn();
else body_rturn();
}

void body_lturn(){
digitalWrite(5, LOW);
digitalWrite(6, HIGH);
digitalWrite(4, HIGH);
digitalWrite(7, LOW);
delay(turn);
totalhalt();
}

void body_rturn(){
digitalWrite(5, HIGH);
digitalWrite(6, LOW);
digitalWrite(4, lOW);
digitalWrite(7, HIGH);
delay(turn);
totalhalt();
}

void rturn(){
analogWrite(servo, 102);  // Estes valores podem e devem ser alterados dependendo da posiçao do servo e do tipo
}

void lturn(){
analogWrite(servo, 152); // Estes valores podem e devem ser alterados dependendo da posiçao do servo e do tipo
}

void totalhalt(){
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(4, lOW);
digitalWrite(7, LOW);
analogWrite(servo, 127); // Estes valores podem e devem ser alterados dependendo da posiçao do servo e do tipo
delay(1000);
}



Espero ter ajudado :D
Tr3s
Daniel Gonçalves

Offline TigPT

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 5.372
    • Tiago Rodrigues
Re:robo com infravermelhos
« Responder #13 em: 05 de Fevereiro de 2009, 01:05 »
Obrigado pela ajuda tr3s, tenho estado com stack overflow de tarefas agendadas, desculpem se não posso ajudar mais nesta altura.

Offline andnobre

  • Mini Robot
  • *
  • Mensagens: 402
Re:robo com infravermelhos
« Responder #14 em: 05 de Fevereiro de 2009, 13:27 »
obrigado pela ajuda vou trabalhar no codigo hj a tarde...
abraços