Sensor MPX 2100dp


#1

Boa tarde Galera, então eu to com um sensor de pressão MPX2100DP e quero usá-lo para medir vácuo todavia não estou conseguindo fazer isso. pois ao ligar ele ele me mostra um valor de pressão de 512 e 127 de output usando o código que enviarei aqui…mas ele deveria acusar outro valor pois acredito que 512 sem receber vácuo ou receber pressão é um valor muito alto…quando convertido para KPa (unidade de medida de pressão que irei usar).
------------------------------------------SEGUE O CÒDIGO-----------------------------------------------------------
**void setup() {**
// initialize serial communications at 9600 bps:
Serial.begin(9600);
}

void loop() {
// read the analog in value:
sensorValue = analogRead(analogInPin);
// map it to the range of the analog out:
outputValue = map(sensorValue, 0, 1023, 0, 255);
// change the analog out value:
analogWrite(analogOutPin, outputValue);

// print the results to the Serial Monitor:
Serial.print("sensor = ");
Serial.print(sensorValue);
Serial.print("\t output = ");
Serial.println(outputValue);

// wait 2 milliseconds before the next loop for the analog-to-digital
// converter to settle after the last reading:
delay(2);
}


#2

Amigo acho que vc deveria mudar seu código para setar os valores min e max de tensão.
Por exemplo os sensores analógicos produzem um sinal de tensão contínuo que é geralmente proporcional à quantidade a ser medida ex 0V = 0 vacuo e 3,5V = 10 kPa como exemplo como isso seria em uma aplicação real vc teria que setar estes valores para ai sim seu programa gerar os valores em função do valor da tensão lida e calibrar seu instrumento para uma leitura precisa. Desculpe-me se não fui claro o suficiente.


#3

Então foi sim cara, ja pensei e fazer isso, mas encontrei um outro problema que é que este sensor trabalha na casa dos 12V e não os 5V do Arduino…o que pensei para contornar isso seria fazer o que vc disse “calibrar” o sensor para me mostrar estes valores, mas não sei bem como fazer esse passo de setar dai comecei a usar um código simples para que eu pudesse ver os valores da porta de 0 a 1023 o problema é que sem eu fazer nada e deixando o sensor sozinho os valores oscilam muito sabe ? e ja tentei fornecer 12V para o sensor usando uma pilha 12V mas a oscilação continua e ai quando ligo o terra dos 12V no sensor ele fica printando “0”. Não sei se ficou claro ai o que me ocorre, mas se puder me dar uma ajuda serei grato de mais amigo.
Segue o código que utilizei para ler os valores de 0 a 1023:

#define pino_sinal_analogico A0
int valor_analogico;

void setup() {
** // put your setup code here, to run once:**
** Serial.begin(9600);**
}

void loop() {
** //Le o valor do pino A0 do sensor**
** valor_analogico = analogRead(pino_sinal_analogico);**


** //Mostra o valor da porta analogica no serial monitor**
** Serial.print("Porta analogica: ");**
** Serial.print(valor_analogico);**
}


#4

Sinceramente não tinha visto algo parecido como esse na parte eletronica quanto ao codigo vc pode achar alguns exemplos de funções utilizando IF ELSE.
Abraços.