collapse

* Posts Recentes

Bibliotecas para arduino e drivers de stepper - o problema da 'distracção' por SerraCabo
[Ontem às 23:27]


Zener BZW04-105? por brunus
[Ontem às 17:34]


Artigo 11, 13 e os restantes por jm_araujo
[10 de Dezembro de 2018, 11:05]


Compra Colectiva Mouser N3-2018 (limite 25 Nov) por Hugu
[10 de Dezembro de 2018, 01:07]


Ajuda para reparar Luzes de LED de Natal por brunus
[09 de Dezembro de 2018, 00:59]


Como reproteger as pontas de cobre do ferros de soldar? por brunus
[09 de Dezembro de 2018, 00:12]


Usar steppers de 5 pontas como se fossem de 4 pontas por SerraCabo
[08 de Dezembro de 2018, 21:18]


LusoRobótica - Website - Estado actual por Tech_JA
[06 de Dezembro de 2018, 09:18]


Como transformar um mosquito killer de tomada em um portátil? por brunus
[05 de Dezembro de 2018, 23:28]


LR, passado, presente e futuro por iyahdub
[05 de Dezembro de 2018, 04:16]

Autor Tópico: Fazer apenas uma leitura  (Lida 1272 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.585
  • 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.585
  • 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.396
    • 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.396
    • 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 () {
}