Pages: [1] 2   Go Down
Author Topic: Alguien ha utilizado el HP03 Sensor de Presion  (Read 1704 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 22
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Resulta que los datos de compensacion que trae de fabrica si que los puedo leer pero los datos que son la temperatura y la presion (D2 y D1 )  me dice que tengo que seguir esta secuencia

S 11101110
A Un
11111111 11111111
A Un
11110000 11110000
A Un
PDS 11101110 PDS 11101110
A Un
11111101 11111101
A Un
S 11101111 S 11101111
A Un
MSB MSB
A Un
LSB LSB
NP NP
Temperature Measure: Medir la temperatura:
S 11101110 S 11101110
A Un
11111111 11111111
A Un
11101000 11101000
A Un
PDS 11101110 PDS 11101110
A Un
11111101 11111101
A Un
S 11101111 S 11101111
A Un
MSB MSB
A Un
LSB LSB
NP N
 pero no lo  enntiendo muy bien.
Eso esta sacado del DAtasheet !! de la pagina 6
 8-)Gracias de antemano 8-)
Logged

Chile
Offline Offline
Edison Member
*
Karma: 32
Posts: 1233
Arduino rocks?
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Eso es el protocolo de los mensajes. En la mayoría de salidas y entradas "más inteligentes" existe algo similar.

A grandes razgos si te dice enviar 00000000 es que se refiere a 8 bits en cero, lo que es equivalente a un print por serial de un byte 0x00, un 11111111 es un 0xFF, así, con tu calculadora puedes sacar equivalencias y crear tu mecanismo para comunicarte.
Logged

My website: http://ried.cl

0
Offline Offline
Newbie
*
Karma: 0
Posts: 22
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ya pero no me referia a eso me referia pero gracias voy a probar
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 22
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

A ver si alguien me puede ayudar. Tengo que mandar esta secuencia

S: condición de arranque
P: condición de parada
A: reconoce de esclavos
R: reconocer de maestro
N: no se reconoce de maestro (enviar un poco en su lugar)
D: retraso para un mínimo de 40 ms
MSB: resultado de la conversión de MSB
LSB: resultado de la conversión de LSB.

La direccion del dispositivo es 0x50

Medir la presion

S 11101110 A 11111111 A 11110000 A P D S 11101110 A 11111101 A S 11101111 A MSB R LSB N P
       0xEE           0xFF            0xF0                     0xEE          0xFD              0xEF      |------> apartir de aqui el me da ya la presion. el problema que estoy teniendo es que no se como mandar eso exactamente para que me mande la presion.

Gracias de antemano  8-)
Logged

Chile
Offline Offline
Edison Member
*
Karma: 32
Posts: 1233
Arduino rocks?
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Serial.print(0xEE, BYTE);
y así ...
Logged

My website: http://ried.cl

0
Offline Offline
Newbie
*
Karma: 0
Posts: 22
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

no lo quiero mandar por el puerto serie sino al dispositivo I2C, es decir , tengo que seguir esa secuencia para que asi me mande mi MSB y LSB
Gracias:P
Logged

Chile
Offline Offline
Edison Member
*
Karma: 32
Posts: 1233
Arduino rocks?
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Pero si realmente tienes tan claro lo que necesitas porqué no lo colocas en google?

http://www.google.com/search?q=i2c+arduino

el primer link ya lo explica todo con detalle
Logged

My website: http://ried.cl

0
Offline Offline
Newbie
*
Karma: 0
Posts: 22
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ya lo mire pero no dice nada de nada de como hacerlo solo habla a la hora de mandar informacion a una eeprom no de como conseguir k responda un dispositivo i2c a una secuencia de codigo desde el arduino pero muhcas gracias
Logged

0
Offline Offline
Edison Member
*
Karma: 16
Posts: 1579
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola,

Que no parezca "brusco":

1- Abro Google.
2- Escribo "hp03 arduino i2c pressure sensor"
3- Tachán!!!!!

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1223819446


Ahi tienes código para responder a tus preguntas (librería con las funciones para manejar el sensor).... O al menos un post con gente que ha usado dicho sensor.....



 smiley-wink
« Last Edit: December 21, 2010, 07:06:49 am by igorreal » Logged


0
Offline Offline
Edison Member
*
Karma: 16
Posts: 1579
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Puedes encontrar un ejemplo en C aunque sea de otro micro en la "Programming Guide" del propio sensor:

http://www.hoperf.com/upfile/hp03_code.pdf


« Last Edit: December 21, 2010, 08:07:32 am by igorreal » Logged


0
Offline Offline
Newbie
*
Karma: 0
Posts: 22
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Muchas Gracias IGor he estado mirando el primero pero me da los siguientes errores y he hecho lo que pone en la web que me has pasado y nada .
Estos son los errores

In file included from /Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/WProgram.h:6,
                 from sketch_dec02c.cpp:10:
/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/include/math.h:439: error: expected unqualified-id before 'double'
/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/include/math.h:439: error: expected `)' before 'double'
/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/include/math.h:439: error: expected `)' before 'double'

eso es un error de la libreria WProgram.h ,no?
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 22
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

creo k es un problema de la libreria math
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 22
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

solucione algunos pero ahora me sale este error sobre el timer

HP03/HP03.cpp.o: In function `HP03class::begin()':
/Applications/Arduino.app/Contents/Resources/Java/libraries/HP03/HP03.cpp:136: undefined reference to `FrequencyTimer2::setPeriod(unsigned long)'
/Applications/Arduino.app/Contents/Resources/Java/libraries/HP03/HP03.cpp:137: undefined reference to `FrequencyTimer2::enable()'
Logged

Chile
Offline Offline
Edison Member
*
Karma: 32
Posts: 1233
Arduino rocks?
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Viste en ese mismo link que te pasó Igor los errores que le salen a esas personas?
Logged

My website: http://ried.cl

0
Offline Offline
Newbie
*
Karma: 0
Posts: 22
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Gracias lo tengo solucionado
el problema lo tenia con el Frequencytimer2 lo que quitado del cpp y a funcionar.
Ahora cuando termine todo mi codigo lo pondre porque quiero hacer una mas facil y corto para mi proyecto
GRACIAS!!!!!!
 smiley-grin :smiley :smiley :smiley :smiley
Logged

Pages: [1] 2   Go Up
Jump to: