collapse

* Posts Recentes

[Material] Compra de material por papamoscas
[15 de Fevereiro de 2019, 17:05]


Motor com travão por Alfredo Garcia
[13 de Fevereiro de 2019, 22:56]


Porta Arduino Baixando tensao por mauriciosouza100
[08 de Fevereiro de 2019, 13:39]


Fábricas de componentes electrónicos em Portugal? por SerraCabo
[07 de Fevereiro de 2019, 13:54]


Sistema embarcado movido a energia solar por Njay
[06 de Fevereiro de 2019, 15:01]


Tentanto reaver alguns conhecimentos de eletronica por filjoa
[06 de Fevereiro de 2019, 02:58]


bma180 avr por vasco
[03 de Fevereiro de 2019, 21:40]


3D Prusa hephestos da BQ por josecarlos
[30 de Janeiro de 2019, 18:43]


Gerador de lixo radioeléctrico III por SerraCabo
[29 de Janeiro de 2019, 19:40]


Teste 2 por SerraCabo
[29 de Janeiro de 2019, 16:28]

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