Чтение данных из ADXL345
- Войдите на сайт для отправки комментариев
Пнд, 05/11/2018 - 11:50
Помогите новичку
Помогите считать данные по протоколу I2C с ADXL345 из 0x28 и 0x29 адресов.
Нужно понять находится ли объект в состоянии свободного падиния и как долго.
Еще не достаточно освоил язык общения с контроллером, что сделать это самостоятельно.
40 (0x28) | THRESH_FF | R/W | 00000000 | Значение уставки свободного падения |
41 (0x29) | TIME_FF | R/W | 00000000 | Время свободного падения |
спасибо
#include <Wire.h>
void
setup()
{
Wire.begin();
}
byte val = 0;
void
loop()
{
Wire.beginTransmission(40);
// #40 (0x28)
Wire.read(byte(0x00));
Wire.read(val);
Wire.endTransmission();
val++;
if
(val == 64)
{
val = 0;
}
delay(500);
}
Запилил вот такой скетчик. (Естественно не работает)
В правильном ли я направлении?
В правильном. Трансмиссию открываете с адресом датчика (а не регистра), пишете тудыть адрес регистра, потом requestFrom с адреса датчика количества читаемых байт, читаете их и закрываете трансмиссию. В целом это делается так.