Wish List 0

Cjmcu 90393 Mlx90393 Digital Hall Sensor Displacement Angle Rotation 3D Position I2C And Spi Output

Rs. 725.00 Rs. 870.00

-MLX90393 virtual 3-D Hall sensor is an extremely-small, flexible, widespread, non-touch 3-D Hall sensor for customer applications that enables applications which include linear displacement, angular rotation, and 3-D role detection.
-The modern day 3-D Hall sensor merchandise convey the third made of the development to mission the smaller length of the three-D Hall era, which has tested to be the mainstream solution in an expansion of area detection.
-MLX90393 is the modern era of 3-dimensional Hall era. The MLX90393 offers I2C and SPI output modes.

Applications:
Can replace potentiometers, direction handles, etc.
remote control, VR, PSP, etc.
widely used in gaming, remote control, direction control and other consumer electronics industries.

SPECIFICATIONS:

-16-bit AD / high integrated digital, micro power consumption

-2.2~3.6V wide and low working voltage

-I2C & SPI (10MHz) output mode

-XYZT (can be selected first) three-dimensional absolute position output

-MCU can communicate directly, very simple application

-Low-cost integrated design

OVERVIEW:

-Miniature QFN package 3x3mm

-In-application run-time programmable functional parameters

-Trade-off between current consumption, speed and signal noise with best-in-class Figure of Merit

-Can be used to measure magnetic XYZ and temperature T or any combination thereof

-Duty cycle between 0.1% and 100% (continuous burst)

-Single measurement mode, burst mode and wake-up on change mode

-SPI slave and/or I2C slave with 2 bits HW addressing and 5 bits SW

PACKAGE INCLUDES:

1 PCS x Cjmcu 90393 Mlx90393 Digital Hall Sensor Displacement Angle Rotation 3D Position I2C And Spi Output


//SOURCE CODE TAKEN FROM BELOW LINK

//http://arduinolearning.com/code/arduino-mlx90393-magnetic-field-sensor-example.php

// Distributed with a free-will license.

// Use it any way you want, profit or free, provided it fits in the licenses of its associated works.

// MLX90393

// This code is designed to work with the MLX90393_I2CS I2C Mini Module available from ControlEverything.com.

// https://www.controleverything.com/products

#include<Wire.h>

 

// MLX90393 I2C Address is 0x0C(12)

#define Addr 0x0C

 

void setup()

{

// Initialise I2C communication as MASTER

Wire.begin();

// Initialise serial communication, set baud rate = 9600

Serial.begin(9600);

 

// Start I2C Transmission

Wire.beginTransmission(Addr);

// Select Write register command

Wire.write(0x60);

// Set AH = 0x00, BIST disabled

Wire.write(0x00);

// Set AL = 0x5C, Hall plate spinning rate = DEFAULT, GAIN_SEL = 5

Wire.write(0x5C);

// Select address register, (0x00 << 2)

Wire.write(0x00);

// Stop I2C Transmission

Wire.endTransmission();

 

// Request 1 byte of data

Wire.requestFrom(Addr, 1);

 

// Read status byte

if(Wire.available() == 1)

{

unsigned int c = Wire.read();

}

 

// Start I2C Transmission

Wire.beginTransmission(Addr);

// Select Write register command

Wire.write(0x60);

// Set AH = 0x02

Wire.write(0x02);

// Set AL = 0xB4, RES for magnetic measurement = 0

Wire.write(0xB4);

// Select address register, (0x02 << 2)

Wire.write(0x08);

// Stop I2C Transmission

Wire.endTransmission();

 

// Request 1 byte of data

Wire.requestFrom(Addr, 1);

 

// Read status byte

if(Wire.available() == 1)

{

unsigned int c = Wire.read();

}

delay(300);

}

 

void loop()

{

unsigned int data[7];

 

// Start I2C Transmission

Wire.beginTransmission(Addr);

// Start single meaurement mode, ZYX enabled

Wire.write(0x3E);

// Stop I2C Transmission

Wire.endTransmission();

 

// Request 1 byte of data

Wire.requestFrom(Addr, 1);

 

// Read status byte

if(Wire.available() == 1)

{

unsigned int c = Wire.read();

}

delay(100);

 

// Start I2C Transmission

Wire.beginTransmission(Addr);

// Send read measurement command, ZYX enabled

Wire.write(0x4E);

// Stop I2C Transmission

Wire.endTransmission();

 

// Request 7 bytes of data

Wire.requestFrom(Addr, 7);

 

// Read 7 bytes of data

// status, xMag msb, xMag lsb, yMag msb, yMag lsb, zMag msb, zMag lsb

if(Wire.available() == 7);

{

data[0] = Wire.read();

data[1] = Wire.read();

data[2] = Wire.read();

data[3] = Wire.read();

data[4] = Wire.read();

data[5] = Wire.read();

data[6] = Wire.read();

}

 

// Convert the data

int xMag = data[1] * 256 + data[2];

int yMag = data[3] * 256 + data[4];

int zMag = data[5] * 256 + data[6];

 

// Output data to serial monitor

Serial.print("Magnetic Field in X-Axis : ");

Serial.println(xMag);

Serial.print("Magnetic Field in Y-Axis : ");

Serial.println(yMag);

Serial.print("Magnetic Field in Z-Axis : ");

Serial.println(zMag);

delay(500);

}

15 days

Write a review

Please login or register to review