collapse

* Posts Recentes

LLM Crawlers por jm_araujo
[Ontem às 21:57]


Emulador NES em ESP32 por dropes
[30 de Abril de 2024, 15:09]


Circuito Microfone que funcione por almamater
[27 de Abril de 2024, 17:14]


Arame de Estendal por almamater
[18 de Abril de 2024, 16:16]


O que é isto ? por SerraCabo
[12 de Abril de 2024, 14:20]


Amplificador - Rockboard HA 1 In-Ear por almamater
[11 de Abril de 2024, 20:46]


Meu novo robô por josecarlos
[29 de Março de 2024, 18:30]


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


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]

Autor Tópico: Desafio Ajudar o Pai Natal  (Lida 33032 vezes)

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

Offline ricardo-reis

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.338
Re: Desafio Ajudar o Pai Natal
« Responder #45 em: 09 de Dezembro de 2009, 18:50 »
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

Offline TigPT

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 5.374
    • Tiago Rodrigues
Re: Desafio Ajudar o Pai Natal
« Responder #46 em: 09 de Dezembro de 2009, 19:43 »
acabou por ser uma caixa de ferrero rocher..
Também as guardo, são impecáveis :D

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re: Desafio Ajudar o Pai Natal
« Responder #47 em: 09 de Dezembro de 2009, 21:25 »
Tu falas-te em reboque:
Citar
vou ver se arranjo um tupperware porreiro pa servir de reboque e fica ks pronto.. lol..
:P

Offline ricardo-reis

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.338
Re: Desafio Ajudar o Pai Natal
« Responder #48 em: 09 de Dezembro de 2009, 21:51 »
claro, mas isso é pk era uma cena simples de usar e já tava ks pronta..  ::) isto tá a correr bem.. :D:D:D

Offline TigPT

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 5.374
    • Tiago Rodrigues
Re: Desafio Ajudar o Pai Natal
« Responder #49 em: 09 de Dezembro de 2009, 22:32 »
Algumas pessoas acharam o traço da pista demasiado fino pelo que achamos por bem aumentar.

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

Offline microbyte

  • Mini Robot
  • *
  • Mensagens: 1.322
    • http://ricardo-dias.com/
Re: Desafio Ajudar o Pai Natal
« Responder #50 em: 09 de Dezembro de 2009, 23:05 »
Concordo com a medida ;)

Offline Pauleta

  • Mini Robot
  • *
  • Mensagens: 174
Re: Desafio Ajudar o Pai Natal
« Responder #51 em: 09 de Dezembro de 2009, 23:39 »
é 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

Offline TigPT

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 5.374
    • Tiago Rodrigues
Re: Desafio Ajudar o Pai Natal
« Responder #52 em: 09 de Dezembro de 2009, 23:44 »
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.

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re: Desafio Ajudar o Pai Natal
« Responder #53 em: 09 de Dezembro de 2009, 23:46 »
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.)
« Última modificação: 10 de Dezembro de 2009, 00:39 por tr3s »

Offline Pauleta

  • Mini Robot
  • *
  • Mensagens: 174
Re: Desafio Ajudar o Pai Natal
« Responder #54 em: 09 de Dezembro de 2009, 23:50 »
Certo! Só me falta essa parte final porque já faz o 8 com a linha fina. Ainda há tempo...
Cumprimentos,
Tiago Oliveira

Offline tr3s

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 811
  • char x=1, y=5; x^=y^=x^=y;
Re: Desafio Ajudar o Pai Natal
« Responder #55 em: 10 de Dezembro de 2009, 00:37 »
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

Offline fred gomes

  • Mini Robot
  • *
  • Mensagens: 238
Re: Desafio Ajudar o Pai Natal
« Responder #56 em: 12 de Dezembro de 2009, 14:46 »
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..

Código: [Seleccione]
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

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re: Desafio Ajudar o Pai Natal
« Responder #57 em: 12 de Dezembro de 2009, 15:47 »
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;
}

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Desafio Ajudar o Pai Natal
« Responder #58 em: 12 de Dezembro de 2009, 16:01 »
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 (; ).
« Última modificação: 12 de Dezembro de 2009, 16:03 por Njay »

Offline microbyte

  • Mini Robot
  • *
  • Mensagens: 1.322
    • http://ricardo-dias.com/
Re: Desafio Ajudar o Pai Natal
« Responder #59 em: 12 de Dezembro de 2009, 16:12 »
Mais uma:

Código: [Seleccione]
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.