did it solve the problem? El sábado, 31 de enero de 2015, 23:24:32 (UTC-2), [email protected] escribió: > > Hi, > > it seem that I'm able to get the data from the HMC5883L sensor but, the > data is weird. The data would gain an increment of of 1 until it turn fully > 90 degree then suddenly jump to another number. Here the code can some1 > look over it. > > var i2c = require('i2c'); > var address_compass = 0x1e; > var wire1 = new i2c(address_compass, {device: '/dev/i2c-1'}); > var compassData_X = 0; > var compassData_Y = 0; > var compassData_Z = 0; > var compass; > > wire1.writeBytes(0x00, [0x70], function(err) {}) > wire1.writeBytes(0x01, [0xA0], function(err) {}) > wire1.writeBytes(0x02, [0x00], function(err) {}) > > setInterval(function(){ wire1.readBytes(0x03, 2, functions(err,res){ > > compassData_X = res[0] << 8 | res[1] ; > > compassData_Z = res[2] << 8 | res[3] ; > > compassData_Y = res[4] << 8 | res[5]; > > console.log("x: " + compassData_X + "y: " + compassData_Y + "z: " > + compassData_X ); */ > > > var declinationAngle = .226; //use in compass functions, value needed > checking with sensor > var pi = 3.14; > var heading = Math.atan2(compassData_Y,compassData_X); > > // Once you have your heading, you must then add your 'Declination > Angle', which is the 'Error' of the magnetic field in your location. > //If you cannot find your Declination, comment out this lines, your > compass will be slightly off. > heading += declinationAngle; > > // Correct for when signs are reversed. > if(heading < 0) > heading += 2*pi; > > // Check for wrap due to addition of declination. > else if(heading > 2*pi ) > heading -= 2*pi ; > > // Convert radians to degrees for readability. > var headingDegrees = ((heading * 180)/pi); > > > console.log("x: " + compassData_X + " y: " + compassData_Y + " z: " + > compassData_Z + " uT"); // Display the results > > > //(magnetic vector values are in micro-Tesla (uT)) > console.log('Heading: ' + headingDegrees + ' degrees' ); > > > })}, 1000) > > > > Thank you, > > > > > >
-- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
