Olá galera. Fiz um projeto contendo um sensor Hall e uma célula de carga. O intuito é verificar peso e o número de vezes que o meu ímã passa pelo sensor Hall. 

Quando testo os sensores separados, os códigos estão perfeitos e os sensores estão perfeitamente calibrados. Quando junto os dois programas (FATO QUE NECESSITO), o sensor Hall não faz a leitura correta. Suspeito que seja o tempo de leitura do sensor Hall. (Ressalto que a célula de carga é Analógica e o sensor hall é digital). 

Alguém teria uma opinião a respeito e poderia me ajudar a solucionar o problema na integração dos sensores? Obrigado

Exibições: 186

Responder esta

Respostas a este tópico

Boa tarde MHS,

Recomendações:
1. Leia http://labdegaragem.com/forum/topics/sugest-o-de-como-postar
2. Clique em : " Deseja carregar arquivos? " e depois em " Escolher arquivo" e anexe o arquivo
com o seu sketch.

Anexe desenhos, esquemas, etc., do seu projeto.

RV

O sensor hall que conheço é um baratinho que solta uma tensão quando passa um ima...

Não precisa de nada, só ler um pino.

Tem a versão com saída proporcional ao campo e com saida proporcional a mudança do campo, algo assim, mas não tem pq não funcionar com 2.

Diga ao menos qual o sensor e qual rotina não funciona, conforme o colega mineirin RV indicou.

O sensor que utilizo é o KY 003, segue o código:

#include "HX711.h"


HX711 cell(3, 2);



const int pResistor = A0;

.
int value; // valor lido pelo fotoresistor
int rev = 0; // número de revoluções
int npas = 1; //número de ímãs
int milisegundos = 500; //tempo de cada captura de revolução
long last = 0; 
int stat = LOW;
int stat2;
long num_rot;

long val = 0;
long count = 0;


void setup() {
Serial.begin(9600);
pinMode(pResistor, INPUT);
Serial.begin(9600);
}

void loop() {

value = analogRead(pResistor);
if(value < 700)
stat=LOW;
else
stat=HIGH;
if(stat2!=stat){
rev++;
stat2=stat;
}
if(millis()-last>=milisegundos){
rpm=(((rev/npas)*60000.0)/1000);
Serial.print("Rotação: ");
Serial.print(num_rot,0);
Serial.print(" ");
rev=0;
last=millis();
}


val = cell.read(); 
Serial.print("Valor da Célula de Carga: ");
Serial.println(val);

}

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço