Reading accelerometer in Arduino
38 views (last 30 days)
Soham Chakraborty on 3 Jan 2020
Edited: Soham Chakraborty on 3 Jan 2020
BMA220 has I2C connectivity interface and can be connectd to other I2C devices using the I2C bus. Each bus has an I2C Master connected to two bidirectional lines, serial data line (SDA) and serial clock (SCL). Each I2C device on an I2C bus has an unique address.
Connect BMA220 to I2C Master (Arduino or RaspberryPi), following the datasheet, example- Vcc -> 3.3V, Gnd -> Gnd, SDA -> Arduino A4 pin, SCL -> Arduino A5 pin.
You would have to connect the I2C Master to a device running MATLAB/Simulink.
Using Arduino (MATLAB R2014b and later version):
1. Install the support package for Arduino.
2. Use the ARDUINO command, you can load only the required library as follows:
>>a = arduino('com22', 'uno', 'Libraries', 'I2C');
% where com22 is the port on PC where arduino is identified. This can be viewed from the device manager
3. Once you have created the arduino object, use the 'scanI2CBus' command to scan the bus for I2C sensors.
4. Once you get the address of the sensors attached to the bus, create the I2C object restrictive to that address as follows:
>>BMA220 = i2cdev(a, '0x48');
% where 0x48 is where the sensor BMA220 identifies itself. This address can also be obtained from the datasheet of the sensor.
Using RaspberryPi (MATLAB 2014a and later version)
1. Install the raspberryPi support package.
2. Create the RaspberryPi object using the command 'raspi' as follows:
3. Scan the i2C bus to look for the I2C sensors that are connected using the 'scanI2CBus' command as follows
4. Create the I2C object to use the sensor at a particular address.
% this slave address can be obtained by the datasheet of the sensor.