• Welcome to LusoRobótica - Robótica em Português.
 

Desafio Ajudar o Pai Natal

Started by TigPT, 01 de December de 2009, 22:03

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

ricardo-reis

Quote from: metRo_ on 09 de December de 2009, 16:32
Desconfio que não leste bem as regras por dois motivos, tupperware,:
   -Tu podes usar um desde que tudo não ultrapasse os limites indicados nas regras;
   -A prenda não pode estar presa, a menos que utilizes o tupperware ao contrário não será permitido.

hã?! mas em que mundo vives tu?! eu n quero pôr a prenda dentro do tupperware.. só kria um 'caixote' com medidas porreiras pa poder ser usado.. lol.. e diz-me lá tu.. pvc ao metro + super cola + n sei kê prá estrutura ficaria mais barato que o tupperware de medidas ideais, com umas rodas e uma ligação ao robot? :D

acabou por ser uma caixa de ferrero rocher.. se n partir a cortar vai ficar impec.. :D

TigPT

Quote from: ricardo-reis on 09 de December de 2009, 18:50
acabou por ser uma caixa de ferrero rocher..
Também as guardo, são impecáveis :D

metRo_

Tu falas-te em reboque:
Quotevou ver se arranjo um tupperware porreiro pa servir de reboque e fica ks pronto.. lol..
:P

ricardo-reis

claro, mas isso é pk era uma cena simples de usar e já tava ks pronta..  ::) isto tá a correr bem.. :D:D:D

TigPT

Algumas pessoas acharam o traço da pista demasiado fino pelo que achamos por bem aumentar.

Aceitam-se competições com ambas as pistas.

microbyte


Pauleta

é obrigatório criar um robot de raíz para o desafio ou pode se adaptar algum que já tenha feito? é que estou a pensar usar o único bot que tenho...

Outra coisa, o bot quando regressar ao inicio tem de parar lá ou não é preciso? Estou com alguma dificuldade nessa parte final...
Cumprimentos,
Tiago Oliveira

TigPT

Podes adaptar um robot que já tenhas feito, desde que cumpra os requisitos.

Quanto a parar, vou conversar com os outros elementos do júri.

metRo_

#53
Não nenhuma regra que te proíba de utilizar um robot que já tenhas pronto.
Quando a paragem, ele deve iniciar a marcha a partir da bola preta e regressar à mesma parando. (Não é obrigatório que pare.)

Pauleta

Certo! Só me falta essa parte final porque já faz o 8 com a linha fina. Ainda há tempo...
Cumprimentos,
Tiago Oliveira

tr3s

Nós, os membros do júri estivemos a falar e chegámos à conclusão de que não vamos exigir que o Robot pare no ponto onde começa. Como esta regra não estava explícita (poderia sub-entender-se de um ponto) achamos que não seria correcto exigi-lo nesta altura.
Contudo, este será um dos pontos de avaliação e portanto quem o conseguir fazer (parar no mesmo ponto de onde começou) receberá os créditos devidos por isso!  ;)
A quem não conseguir não será aplicada nenhuma penalização, isto é, não serão descontados pontos. Simplesmente não serão pontuados nesse ponto de avaliação.

Vamos actualizar o primeiro post brevemente e nesta actualização iremos dar-vos a conhecer os pontos de avaliação. :D
Tr3s
Daniel Gonçalves

fred gomes

Boas.
estou a tentar fazer a programação do  robot e estou com alguns problemas, aponta-me erros e não os consigo detectar:s, ainda me falta colocar lá um 3º sensor:P , não liguem aos números onde estou a ligar os motores e sensores, não sei se estão correctos, pois coloquei ao calhas..

int motorright = 3;
int motorleft = 5;
int sensorright = 1;
int sensorleft = 2;
int valor = 0;
int valor1 = 0;

void setup(){
  pinMode (motorright, OUTPUT);
  pinMode (motorleft, OUTPUT);
  pinMode (sensorright, INPUT);
  pinMode (sensorleft, INPUT);
}

void loop(){
  valor = analogRead (sensorright);
  delay (25);
  if (valor < 300);
  digitalWrite (motorright, HIGH);
  valor1 = analogRead (sensorleft);
  if (valor1 >300);
  digitalWrite (motorleft, HIGH);

  valor = analogRead (sensorright);
  valor1 = analogRead (sensorleft);
  if (valor > 300) && (valor1 < 300);
  digitalWrite (motorright, HIGH);
  digitalWrite (motor left, LOW);
  while (analogRead (sensorright) >300 && (analogRead (sensorleft) >300;
  if (valor) <300 && (valor1)> 300;
  digitalWrite (motorright, LOW);
  digitalWrite (motor left, HIGH);
  while (analogRead (sensorright) >300 && (analogRead (sensorleft) >300;
}
}


ainda sou novato em programação de arduino, protanto não se surpreendam com qualquer "irregularidade" que possam vêr.
cumprimentos,
Fred

metRo_

Olha faz-me um favor para te poder ajudar, todas as condições que estão dentro de um if coloca-as dentro de {},por exemplo:
if(condicao){
   accao1=1;
   accao2=2;
   accao3=3;
}

Njay

#58
Esse código compila? Já fizeste o "verify" no ambiente do arduino?

Para "começo de conversa", se colocas um ; a seguir às condições de um if ou while, o if/while não fazem nada. O ; representa uma instrução "vazia", daí o met tar a perdir-te para usares chavetas (que aliás é uma excelente prática de programação, colocar sempre chavetas, mesmo que o bloco só tenha 1 instrução). Por exemplo

if (valor < 300);
  digitalWrite (motorright, HIGH);

é o mesmo que

  digitalWrite (motorright, HIGH);

pois o if não está lá a fazer nada, quando a condição é verdadeira, ele executa a instrução vazia (; ).

microbyte

Mais uma:

while (analogRead (sensorright) >300 && (analogRead (sensorleft) >300;

Abres mais parenteses do que fechas...
Tens de ter o mesmo numero de "(" e ")".

while( (analogRead(sensorright) >300) && (analogRead (sensorleft) >300) );

Isto para falar apenas da sintaxe.