===== Beschleunigungssensor ADXL345 == * 3-Achsen Beschleunigungssensor * 13 Bit Messgenauigkeit * +/- 2/4/8/16g Beschleunigung * SPI oder I2C Busanschluß * I2C maximum bus speed is 100kHz === Bildergalarie == {{:sen_beschl_adxl345:09836-_02b.jpg|}} (Quelle:SparkFun Electronics ®) === Datenblatt == {{:sen_beschl_adxl345:adxl345.pdf|}} === Modul == {{:sen_beschl_adxl345:adxl345-breakoutboard-v10.pdf|}} === Anschaltung an Propeller == {{:sen_beschl_adxl345:adxl345_2012_10_11.png|}} Der Anschluß SDO wird beim I2C-Bus zum Eingang und dient der Adressumschaltung VCC ADXL345 = %0011_1010 I2C Addresse GND ADXL345 = %1010_0110 === Softwaremodule == ' Der i2c-Treiber ist hier im anhang einzufügen. CON 'All the I2C registers for the ADXL345 ' ADXL345 = %0011_1010 acc I2C address maximum bus speed is 100kHz. ADXL345 = %1010_0110 ADXL345_ID = $00 ADXL345_BW_RATE = $2C ADXL345_POWER_CTL = $2D ADXL345_DATA_FORMAT = $31 ADXL345_OUTX_L = $32 ADXL345_OUTX = $33 ADXL345_OUTY_L = $34 ADXL345_OUTY = $35 ADXL345_OUTZ_L = $36 ADXL345_OUTZ = $37 ADXL345_FIFO_CTL = $38 VAR long XA, YA, ZA 'Acc PUB start waitcnt(clkfreq + cnt) 'start-up delay XA := YA := ZA := 0 if ReadLocation(ADXL345, ADXL345_ID) == %1110_0101 WriteLocation(ADXL345, ADXL345_POWER_CTL, %0000_0000) 'Standby mode WriteLocation(ADXL345, ADXL345_POWER_CTL, %0000_1000) 'Measurement mode WriteLocation(ADXL345, ADXL345_DATA_FORMAT, %0000_1000) '±2G ' WriteLocation(ADXL345, ADXL345_DATA_FORMAT, %0000_1001) '±4G ' WriteLocation(ADXL345, ADXL345_DATA_FORMAT, %0000_1010) '±8G ' WriteLocation(ADXL345, ADXL345_DATA_FORMAT, %0000_1011) '±16G WriteLocation(ADXL345, ADXL345_BW_RATE, %0000_1010) '100Hz WriteLocation(ADXL345, ADXL345_POWER_CTL, %0000_1000) WriteLocation(ADXL345, ADXL345_FIFO_CTL, %0000_0000) 'bypass mode ' OK adxl345 else ' nOK PRI adxl45 XA := readLocation16(ADXL345, ADXL345_OUTX_L) XA := (XA>>8 + XA <<8) & $FFFF ' H<>L YA := readLocation16(ADXL345, ADXL345_OUTY_L) YA := (YA>>8 + YA <<8) & $FFFF ' H<>L ZA := readLocation16(ADXL345, ADXL345_OUTZ_L) ZA := (ZA>>8 + ZA <<8) & $FFFF ' H<>L [[i2c:treiber|i2c.spin]] === Funktionsbeispiel == === Software == * {{:sen_beschl_adxl345:adxl345_accelerometer_1.zip|Parallax ADXL345 Demoprogramm}}