collapse

* Posts Recentes

UPS trovada por KammutierSpule
[11 de Junho de 2024, 18:38]


Odin - A better alternative to C, C++ and maybe Rust. por blabla
[10 de Junho de 2024, 18:59]


Meu novo robô por josecarlos
[10 de Junho de 2024, 12:17]


Transmissão de energia sem fios por dropes
[09 de Junho de 2024, 14:51]


MINI560 - corrente sem carga? por KammutierSpule
[14 de Maio de 2024, 15:09]


Arame de Estendal por SerraCabo
[11 de Maio de 2024, 14:15]


LLM Crawlers por TigPT
[04 de Maio de 2024, 21:40]


Emulador NES em ESP32 por dropes
[04 de Maio de 2024, 14:48]


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


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

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

0 Membros e 2 Visitantes estão a ver este tópico.

Offline fred gomes

  • Mini Robot
  • *
  • Mensagens: 238
Re: Desafio Ajudar o Pai Natal
« Responder #60 em: 12 de Dezembro de 2009, 16:33 »
obrigado por responderem, ja corrigi os erros..só me acusa mais um não sei porquê,
na parte: if (valor < 300 && valor1 > 300){;
acusa-me erro, uma pequena questão... se eu colocar "else" em vez desse If ele vai me "trocar" o resultado verificado pelos dois sensores( espero fazer-me entender), isto é , se anteriormente eu fiz a condição de que   if (valor > 300 && valor1 < 300); ao colocar o "ELSE" ele vai entender o contrario? ou seja ,   if (valor < 300 && valor1 > 300);
cumprimentos,
Fred

Offline fred gomes

  • Mini Robot
  • *
  • Mensagens: 238
Re: Desafio Ajudar o Pai Natal
« Responder #61 em: 12 de Dezembro de 2009, 16:46 »
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 (motorleft, LOW);
  }
  else{
  digitalWrite (motorright, LOW);
  digitalWrite (motorleft, HIGH);
  while (analogRead (sensorright) >300 && analogRead (sensorleft) >300);
  while (analogRead (sensorright) >300 && analogRead (sensorleft) >300);
  }
}

ja não contém erros:),mas não tenho a certeza se irá funcionar como esperado, pois pela tal duvida exposta anteriormente não tenho a certeza se o "else" irá fazer o que referi...
cumprimentos,
Fred

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re: Desafio Ajudar o Pai Natal
« Responder #62 em: 12 de Dezembro de 2009, 20:44 »
O else funciona da seguinte maneira.
Vamos supor que temos o seguinte código:
Código: [Seleccione]
int a=2;
if(a<5){
   motor=1;
}
if(a<3){
   motor=0;
}
Neste caso como a=2, isto é, menor que 5 e que 3 ele vai executar as duas condições.

Código: [Seleccione]
int a=2;
if(a<5){
   motor=1;
else if(a<3){
   motor=0;
}
Neste caso usamos o else. Então ele vai verificar a primeira condicção e só verifica a segunda condição caso a primeira não seja verificada, isto é, como a=2 ele coloca o motor a 1 e depois no segundo if o a até é menor que 3 no entanto ele já não entra neste condição pois ja entrou na primeira.

Offline fred gomes

  • Mini Robot
  • *
  • Mensagens: 238
Re: Desafio Ajudar o Pai Natal
« Responder #63 em: 12 de Dezembro de 2009, 20:57 »
sim metRo eu sei disso.
na minha programaçao ele vai verificar um caso, e o que quero dizer é se, irá "trocar" o estado dos sensores verificados no 1º caso... é essa a minha duvida...

Ps: diz antes se achas que a parte do else irá funcionar como esperado, se não, o que propoes a fazer para que funcione como o desejado..
cumps.
cumprimentos,
Fred

Offline fred gomes

  • Mini Robot
  • *
  • Mensagens: 238
Re: Desafio Ajudar o Pai Natal
« Responder #64 em: 12 de Dezembro de 2009, 21:10 »
ahh! desculpa, e no teu exemplo não é antes:

int a=2;
if(a<5){
   motor=1;
else
   motor=0;
}

??
cumprimentos,
Fred

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re: Desafio Ajudar o Pai Natal
« Responder #65 em: 12 de Dezembro de 2009, 21:17 »
Existem as duas variantes.
Nesse caso se ele não entrar na primeira condição faz sempre o que esta no else. No caso que apresentei se o a=6 ele não entra na primeira condição nem na segunda e no teu caso não entra na primeira mas entra na segunda.
Se calhar era melhor começares a criar um tópico para o teu projecto. A ideia deste tópico é mais falar directamente sobre o desafio deixando estas duvidas para outros tópicos ;)

Offline fred gomes

  • Mini Robot
  • *
  • Mensagens: 238
Re: Desafio Ajudar o Pai Natal
« Responder #66 em: 12 de Dezembro de 2009, 21:20 »
ok,
amanha irei "textar" mesmo sem ponte H (ainda nao comprei), a minha programação e vejo se se comporta como espero ou não, caso continue com duvidas abrirei um novo topico:)
cumprimentos,
Fred

Offline microbyte

  • Mini Robot
  • *
  • Mensagens: 1.322
    • http://ricardo-dias.com/
Re: Desafio Ajudar o Pai Natal
« Responder #67 em: 02 de Janeiro de 2010, 22:53 »
Alargar o prazo?
Estou muito apertado com exames. Tenho aquilo quase terminado, mas para concluir até à data limite, não estudo nada.

Offline Fifas

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 2.064
  • El RoboSapiens
Re: Re: Desafio Ajudar o Pai Natal
« Responder #68 em: 02 de Janeiro de 2010, 22:58 »
em principio acabo a tempo :) estava com uns problemas mas acho que ja consegui resolver :D

Offline TigPT

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 5.376
    • Tiago Rodrigues
Re: Desafio Ajudar o Pai Natal
« Responder #69 em: 05 de Janeiro de 2010, 23:46 »
Podem entregar depois do prazo, 1 ou 2 dias mas serão penalizados por isso. (visto que não estava alargamento do prazo nas regras e os outros participantes fizeram para as datas, poderiam ter feito melhor com mais tempo, não irão estar a ser comparadas directamente!!! Mas nós queremos é renas :P )

Offline Fifas

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 2.064
  • El RoboSapiens
Re: Desafio Ajudar o Pai Natal
« Responder #70 em: 06 de Janeiro de 2010, 20:08 »
Pessoal. O prazo acaba hoje e ainda só temos 5 participaçoes e uma delas inacabada (a minha :P).

Sei que algumas participaçoes ainda estao a terminar o robot, mas vá lá...queremos ver isso! :D

Offline tcustodio

  • Mini Robot
  • *
  • Mensagens: 344
  • "beware of programmers who carry a soldering iron"
    • Youtube
Re: Desafio Ajudar o Pai Natal
« Responder #71 em: 06 de Janeiro de 2010, 20:30 »
e eu tou com sérios problemas com a minha carripana :O
duvido que consiga acabar hoje :(
Tiago Custódio,
- Não me dêem álcool se estiver um piano por perto.

Offline Fifas

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 2.064
  • El RoboSapiens
Re: Desafio Ajudar o Pai Natal
« Responder #72 em: 06 de Janeiro de 2010, 20:41 »
Citando o TigPT:
Podem entregar depois do prazo, 1 ou 2 dias mas serão penalizados por isso. (visto que não estava alargamento do prazo nas regras e os outros participantes fizeram para as datas, poderiam ter feito melhor com mais tempo, não irão estar a ser comparadas directamente!!! Mas nós queremos é renas :P )

Por isso, entreguem mesmo que nao consigam a tempo...

Offline Pauleta

  • Mini Robot
  • *
  • Mensagens: 174
Re: Desafio Ajudar o Pai Natal
« Responder #73 em: 08 de Janeiro de 2010, 16:05 »
Já foram os tópicos bloqueados mas há pessoal que ainda não meteu os videos... Por mim estão na boa para ampliar o prazo. Queria ver mais bots a passear com prendas...  ;)
Cumprimentos,
Tiago Oliveira

Offline Fifas

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 2.064
  • El RoboSapiens
Re: Desafio Ajudar o Pai Natal
« Responder #74 em: 08 de Janeiro de 2010, 16:20 »
Tal como diz nos posts anteriores. Podem apresentar os robots depois, apenas serão penalizados pelo "atraso".

Foi pena nao haver mais participações :(