collapse

* Links de Robótica

* Posts Recentes

Ajuda com TRIAC por senso
[Hoje às 18:00]


TV LG White Screen por almamater
[15 de Novembro de 2017, 08:37]


Pergunta sobre prototipagem ( Pesquisa ) por luisjustin
[14 de Novembro de 2017, 23:22]


Medir Agua que está no Poço por Njay
[14 de Novembro de 2017, 13:28]


Amplificador audio por beirao
[12 de Novembro de 2017, 23:43]


Power_OK Enermax por edeweld
[12 de Novembro de 2017, 17:15]


Driver motor por beirao
[11 de Novembro de 2017, 17:40]


Preciso de uma fonte de corrente constante ? por samc
[09 de Novembro de 2017, 14:18]


Pressoestato 0-10V por artur36
[07 de Novembro de 2017, 23:22]


Ideias para construir um quadrúpede simples por Njay
[07 de Novembro de 2017, 18:39]

Autor Tópico: Fazer apenas uma leitura  (Lida 1082 vezes)

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

Offline foknoobs

  • Mini Robot
  • *
  • Mensagens: 2
Fazer apenas uma leitura
« em: 14 de Novembro de 2012, 21:25 »
Boas a todos,

Tenho uma pequena duvida, sera possivel, fazer apenas uma leitura de um sensor ?
O sensor e um analogico ( sharp de distancia).

Gostaria de saber se tal e possivel e como .

(Peço desculpa pelos erros, mas o meu teclado nao esta nas melhores condiçoes).

Atenciosamente

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.400
  • Helpdesk do sitio
Re: Fazer apenas uma leitura
« Responder #1 em: 14 de Novembro de 2012, 21:32 »
Apenas uma leitura?
Ler só uma vez o sensor e não voltar a ler?
Por ler o sensor digo usar o conversor ADC do teu micro, ninguem te obriga a estares sempre a ler o sensor..
Avr fanboy

Offline foknoobs

  • Mini Robot
  • *
  • Mensagens: 2
Re: Fazer apenas uma leitura
« Responder #2 em: 14 de Novembro de 2012, 21:36 »
Boas,
Eu sou um pouco novato nisto, eu tenho um arduino mega, e gostaria de saber como fazer por exemplo, para so ler apenas uma vez o valor que o sensor esta a obter... Atenciosamente

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.400
  • Helpdesk do sitio
Re: Fazer apenas uma leitura
« Responder #3 em: 14 de Novembro de 2012, 21:42 »
Mete o código no setup em vez de no loop, o loop é como o nome indica um loop infinito, o setup só corre uma vez.
Avr fanboy

Offline LuísR.A.

  • Mini Robot
  • *
  • Mensagens: 1.223
    • Clube de Robotica
Re: Fazer apenas uma leitura
« Responder #4 em: 14 de Novembro de 2012, 21:44 »
basta isto

Código: [Seleccione]
void setup()
{
  Serial.begin(9600);
}

void loop()
{
  Serial.println(analogRead(0));
  delay(1000);
}

se queres que so faça uma e pare podes meter isto:

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  Serial.println(analogRead(0));
  delay(1000);
}

do{
}while();

isto faz com que fique ali preso e não saia. tens de fazer reset para voltar ao inicio
Tiva MCU é que é.

Tutoriais Tiva+codigos exemplo:
https://sites.google.com/site/luiselectronicprojects/

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.134
    • Tróniquices
Re: Fazer apenas uma leitura
« Responder #5 em: 15 de Novembro de 2012, 00:49 »
Isso não compila Luis, o do {} while não pode estar fora duma função e o while tem que ter uma condição.
Se é só para ler um sensor e não fazer rigorosamente mais nada, pode ser assim:

Código: [Seleccione]
void setup()
{
    Serial.begin(9600);
    Serial.println(analogRead(0));
    do {} while(1);
}

void loop () {
}

Offline LuísR.A.

  • Mini Robot
  • *
  • Mensagens: 1.223
    • Clube de Robotica
Re: Fazer apenas uma leitura
« Responder #6 em: 15 de Novembro de 2012, 18:20 »
fora duma função?

pois tens razão, tem de ter o (1)


a ja vi. foi engano meti o do fora do loop
« Última modificação: 15 de Novembro de 2012, 19:41 por LuísR.A. »
Tiva MCU é que é.

Tutoriais Tiva+codigos exemplo:
https://sites.google.com/site/luiselectronicprojects/

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.134
    • Tróniquices
Re: Fazer apenas uma leitura
« Responder #7 em: 15 de Novembro de 2012, 20:18 »
Ou mesmo só assim:

Código: [Seleccione]
void setup()
{
    Serial.begin(9600);
    Serial.println(analogRead(0));
}

void loop () {
}