In stock, ships same business day if ordered before 2PM
Delivered by Tue, 15th of Oct
Quantity Discounts:
If you need a low-power, low-cost accelerometer with analogue output, take a look at this module. powered by the triple-axis ADXL335 accelerometer with a measurement range of up to ±3.6 g.
Board has an on-board regulator capable of accepting voltages from 1.8-6V. The board includes 0.1uF capacitors that give the device a bandwidth of 50Hz
If you need a low-power, low-cost accelerometer with analogue output, take a look at this module. powered by the triple-axis ADXL335 accelerometer with a measurement range of up to ±3.6 g.
Board has an on-board regulator capable of accepting voltages from 1.8-6V. The board includes 0.1uF capacitors that give the device a bandwidth of 50Hz
Raspberry Pi Pico - MicroPython
from machine import ADC, Pin import utime # Define the ADC object for X, Y and Z inputs xAxisPin = ADC(Pin(26)) # change pins as needed yAxisPin = ADC(Pin(27)) zAxisPin = ADC(Pin(28)) # Define ADC Maximum Value ADCMaxVal = 65535 # The default ADC resolution for Raspberry Pi Pico is 16 bit # Define Maximum mV Value mVMaxVal = 3300 # The default voltage reference for Pico is 3.3V or 3300 mV # Multiply any read ADC value by mVPerADC to convert to mV mVPerADC = mVMaxVal / ADCMaxVal # Define the supply midpoint in mV supplyMidPointmV = 3230 / 2 # Define mv per 1g detected mVperg = 323 class AccelerometerReading: def __init__(self, x=0, y=0, z=0): self.x = x self.y = y self.z = z def acceleration(): # Read the x, y, and z values xAxisValADC = xAxisPin.read_u16() yAxisValADC = yAxisPin.read_u16() zAxisValADC = zAxisPin.read_u16() # Convert the ADC values to millivolts xAxisValmV = xAxisValADC * mVPerADC yAxisValmV = yAxisValADC * mVPerADC zAxisValmV = zAxisValADC * mVPerADC # Calculate the accelerometer measurements in g reading = AccelerometerReading() reading.x = (xAxisValmV - supplyMidPointmV) / mVperg reading.y = (yAxisValmV - supplyMidPointmV) / mVperg reading.z = (zAxisValmV - supplyMidPointmV) / mVperg return reading while True: reading = acceleration() print('x:', reading.x, 'y:', reading.y, 'z:', reading.z) utime.sleep_ms(100)
Arduino - C++
// Define Analog input pins for accelerometer outputs int xAxisPin = A0; int yAxisPin = A1; int zAxisPin = A2; // Variables to hold ADC data from the analog input pins int xAxisValADC = 0; int yAxisValADC = 0; int zAxisValADC = 0; // Variables to hold voltage values after converting from ADC units to mV float xAxisValmV = 0; float yAxisValmV = 0; float zAxisValmV = 0; // Define ADC Maximum value int ADCMaxVal = 1023; // Define Maximum mV value float mVMaxVal = 5000; // Define supply midpoint in mV float supplyMidPointmV = 3230 / 2; // Define mv per 1g detected int mVperg = 323; // Multiply any acquired ADC value by mVPerADC to convert to mV float mVPerADC = mVMaxVal / ADCMaxVal; // Declare a struct to hold the accelerometer values struct AccelerometerReading { float x; float y; float z; }; void setup() { Serial.begin(9600); pinMode(A0, INPUT); pinMode(A1, INPUT); pinMode(A2, INPUT); } void loop() { AccelerometerReading reading = acceleration(); Serial.print("x: "); Serial.print(reading.x); Serial.print(" y: "); Serial.print(reading.y); Serial.print(" z: "); Serial.println(reading.z); delay(100); } AccelerometerReading acceleration() { //Read the x, y, and z values from //the analog input pins xAxisValADC = analogRead(xAxisPin); yAxisValADC = analogRead(yAxisPin); zAxisValADC = analogRead(zAxisPin); //Convert the ADC values to millivolts xAxisValmV = xAxisValADC * mVPerADC; yAxisValmV = yAxisValADC * mVPerADC; zAxisValmV = zAxisValADC * mVPerADC; /* This code is calculating the g force. It does this by subtracting the median voltage value from the voltage received from the analog input. This resultant value is then divided by the number of millivolts per g as given by the accelerometer. The final data is in terms of g units. */ AccelerometerReading reading; reading.x = (xAxisValmV - supplyMidPointmV) / mVperg; reading.y = (yAxisValmV - supplyMidPointmV) / mVperg; reading.z = (zAxisValmV - supplyMidPointmV) / mVperg; return reading; }
Exact shipping can be calculated on the view cart page (no login required).
Products that weigh more than 0.5 KG may cost more than what's shown (for example, test equipment, machines, >500mL liquids, etc).
We deliver Australia-wide with these options (depends on the final destination - you can get a quote on the view cart page):
Non-metro addresses in WA, NT, SA & TAS can take 2+ days in addition to the above information.
Some batteries (such as LiPo) can't be shipped by Air. During checkout, Express Post and International Methods will not be an option if you have that type of battery in your shopping cart.
International Orders - the following rates are for New Zealand and will vary for other countries:
If you order lots of gear, the postage amount will increase based on the weight of your order.
Our physical address (here's a PDF which includes other key business details):
Unit 18, 132 Garden Grove Parade
Adamstown
NSW, 2289
Australia
Take a look at our customer service page if you have other questions such as "do we do purchase orders" (yes!) or "are prices GST inclusive" (yes they are!). We're here to help - get in touch with us to talk shop.
Have a product question? We're here to help!
Makers love reviews as much as you do, please follow this link to review the products you have purchased.
Product Comments