Ir ao conteúdo

Posts recomendados

Postado

ola gostaria de ajuda para leitura de 4 sensor de fluxo. colega responsável travou e estamos ai na tentativa de resolver. obgd


16 volatile double waterFlow;
17 void setup() {
18 Serial.begin(9600); 
19 waterFlow1 = 0;
21 waterFlow2 = 0;
22 waterFlow3 = 0;
23 waterFlow4 = 0;
24 attachInterrupt(2, pulse, RISING); //DIGITAL Pin 2: Interrupt 0
25 attachInterrupt(3, pulse, RISING); //DIGITAL Pin 3: Interrupt 0
26 attachInterrupt(18, pulse, RISING); //DIGITAL Pin 18: Interrupt 0
27 attachInterrupt(19, pulse, RISING); //DIGITAL Pin 19: Interrupt 0
28 }
30 Serial.print("waterFlow1:");
31 Serial.print(waterFlow1);
32 Serial.println(" L");
33 Serial.print("waterFlow2:");
34 Serial.print(waterFlow2);
35 Serial.println(" L");
36 Serial.print("waterFlow3:");
37 Serial.print(waterFlow3);
38 Serial.println(" L");
39 Serial.print("waterFlow4:");
40 Serial.print(waterFlow4);
41 Serial.println(" L");
42 delay(500);
43 }
44
45 void pulse() //measure the quantity of square wave30 {
46 waterFlow += 1.0 / 5880.0;
47 } 



"""erro    expected unqualified-id before numeric constant"""

 

  • Membro VIP
Postado

1º corrija a linha 45

void pulse() //measure the quantity of square wave30
{
waterFlow += 1.0 / 5880.0; 47
} 

2º defina de onde vem waterFlow. Das interrupts? E cadê as definições das outras waterFlows?

3º publique esquemas, desenhos e afins

 

Haja bola de cristal viu...😑

Postado

é uma tentativa de alterar o programa original que veio no datasheet. porém o próprio original esta apresentando erro

waterflow nada mais é do que a contagem dos pulsos das interrupts. que no novo caso é ter 4. mas o programa original ja esta dando erro.

image.png.1a95fba7437c27b6700bf97082ef6ad0.png

16 volatile double waterFlow;
17 void setup() {
18 Serial.begin(9600); //baudrate
19 waterFlow = 0;
20 attachInterrupt(0, pulse, RISING); //DIGITAL Pin 2: Interrupt 0
21 }
22 void loop() {
23 Serial.print("waterFlow:");
24 Serial.print(waterFlow);
25 Serial.println(" L");
26 delay(500);
27 }
28
29 void pulse() //measure the quantity of square wave
30 {
31 waterFlow += 1.0 / 5880.0;
32 } 

 

 

 

  • Confuso 1
Postado

esse é o programa completo.

 

 1 /***************************************************
 2 This example reads Water flow sensor Sensor.
 3
 4 Created 2016-3-13
 5 By berinie Chen <bernie.chen@dfrobot.com>
 6 
 7 GNU Lesser General Public License.
 8 See <http://www.gnu.org/licenses/> for details.
 9 All above must be included in any redistribution
10 ****************************************************/
11
12 /***********Notice and Trouble shooting***************
13 1.Connection and Diagram can be found here http://www.dfrobot.com/wiki/i
ndex.php?title=Water_Flow_Sensor_-_1/8%22_SKU:_SEN0216
14 2.This code is tested on Arduino Uno.
15 ****************************************************/
16 volatile double waterFlow;
17 void setup() {
18 Serial.begin(9600); //baudrate
19 waterFlow = 0;
20 attachInterrupt(0, pulse, RISING); //DIGITAL Pin 2: Interrupt 0
21 }
22 void loop() {
23 Serial.print("waterFlow:");
24 Serial.print(waterFlow);
25 Serial.println(" L");
26 delay(500);
27 }
28
29 void pulse() //measure the quantity of square wave
30 {
31 waterFlow += 1.0 / 5880.0;
32 } 

 

adicionado 0 minutos depois

image.png.132f30902d7490a34e84073c7d365b36.png

  • Confuso 1
Postado

problema resolvido.... envergonhadamente sim eu estava copiando o prog do datasheet direto.... resolvi isso e em seguida repliquei o prog alterando o pin mode de acordo com o arduino utilizado e pronto tudo funcional.  agora prox passo é testar o prog com o prototipo em funcionamento para ver se n se perde na leitura e tal. muitooooo obgd. eu n mexo com nada de prog. mas é um trabalho em grupo entao tive que me virar.. muito obgd mesmo. conforme der boa aviso aqui . abaixo ta o prog novo sem erros dessa vez... 


volatile double waterFlow1;
volatile double waterFlow2;
volatile double waterFlow3;
volatile double waterFlow4;
void setup() {
Serial.begin(9600); //baudrate
waterFlow1 = 0;
attachInterrupt(0, pulse, RISING); //DIGITAL Pin 2: Interrupt 0
Serial.begin(9600); //baudrate
waterFlow2 = 0;
attachInterrupt(1, pulse, RISING); //DIGITAL Pin 3: Interrupt 1
Serial.begin(9600); //baudrate
waterFlow3 = 0;
attachInterrupt(2, pulse, RISING); //DIGITAL Pin 21: Interrupt 2
Serial.begin(9600); //baudrate
waterFlow4 = 0;
attachInterrupt(3, pulse, RISING); //DIGITAL Pin 20: Interrupt 3
}
void loop() {
Serial.print("waterFlow1:");
Serial.print(waterFlow1);
Serial.println(" L");
delay(500);
Serial.print("waterFlow2:");
Serial.print(waterFlow2);
Serial.println(" L");
delay(500);
Serial.print("waterFlow3:");
Serial.print(waterFlow3);
Serial.println(" L");
delay(500);
Serial.print("waterFlow4:");
Serial.print(waterFlow4);
Serial.println(" L");
delay(500);
}

void pulse() //measure the quantity of square wave
{
waterFlow1 += 1.0 / 5880.0;
waterFlow2 += 1.0 / 5880.0;
waterFlow3 += 1.0 / 5880.0;
waterFlow4 += 1.0 / 5880.0;
} 

 

Postado

Teste realizado. Porém o programa funcionou semelhante a uma válvula OU. Ele faz a leitura do volume de água que passa pelo sensor, mas ele faz apenas uma leitura. Tendo 1 ou 4 pinos conectados. Ele le o volume como apenas 1. E meu objetivo e cada uma ler seu próprio fluxo. 

  • Membro VIP
Postado

Algo me diz que você pode criar uma interrupt pra cada pino pra cada evento

void pulse1() //measure the quantity of square wave
{
waterFlow1 += 1.0 / 5880.0;
}


void pulse2() //measure the quantity of square wave
{
waterFlow2 += 1.0 / 5880.0;
}

...

não me pergunte como...

 

  • Obrigado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!