#include //my stuff ////// OUTPUTS #define LED1_pin A5 #define LED2_pin A6 /////// INPUT #define BTN_pin A7 ////////////// #define BUFFER_SIZE 25 #define ADXL343_ADDRESS (0x53) // I2C ADXL343 ALT Address #define ADXL343_REG_DATAX0 (0x32) // X-axis data 0 #define ADXL343_REG_DATAY0 (0x34) // Y-axis data 0 #define ADXL343_REG_DATAZ0 (0x36) // Z-axis data 0 int i = 0; int pb3, pb4; char buffer[10]; uint8_t adxl343WriteRegister(uint8_t reg, uint8_t value) { Wire.beginTransmission(ADXL343_ADDRESS); Wire.write((uint8_t)reg); Wire.write((uint8_t)value); Wire.endTransmission(); } uint8_t adxl343ReadRegister(uint8_t reg) { Wire.beginTransmission(ADXL343_ADDRESS); Wire.write((uint8_t)reg); Wire.endTransmission(); Wire.requestFrom(ADXL343_ADDRESS, 1); return Wire.read(); } int16_t adxl343ReadWord(uint8_t reg) { Wire.beginTransmission(ADXL343_ADDRESS); Wire.write((uint8_t)reg); Wire.endTransmission(); Wire.requestFrom(ADXL343_ADDRESS, 2); return (uint16_t)(Wire.read() | (Wire.read() << 8)); } void setup() { //// mystuff // INPUT pinMode(BTN_pin, INPUT_PULLUP); // OUPUTS pinMode(LED1_pin, OUTPUT); pinMode(LED2_pin, OUTPUT); ///////////////// delay(2000); Serial.begin(9600); //// mystuff while (!Serial); ////////////// Serial.flush(); //Serial.print("hello_serial: starting\n"); Wire.begin(); //mystuff - feedback setup done Blink(LED1_pin); Blink(LED2_pin); ///////////////// uint8_t deviceId = adxl343ReadRegister(0x00); //Serial.print(" deviceId: "); //Serial.println(deviceId); adxl343WriteRegister(0x2D, 0x08); // POWER_CTL register adxl343WriteRegister(0x31, 0x08); // Full res register i = 0; } void loop() { //_delay_ms(500); delay(50); i++; int16_t x = adxl343ReadWord(ADXL343_REG_DATAX0); int16_t y = adxl343ReadWord(ADXL343_REG_DATAY0); int16_t z = adxl343ReadWord(ADXL343_REG_DATAZ0); // try to convert numbers into range of 0-255 for RGB // send numbers to serial. // need int16_t below ??? // reverse numbers if (x <= 0) { x = x * -1; } if (y <= 0) { y = y * -1; } if (z <= 0) { z = z * -1; } int minValue = 0; int maxValue = 320; // x = map(x, minValue, maxValue, 0, 255); y = map(y, minValue, maxValue, 0, 255); z = map(z, minValue, maxValue, 0, 255); // //Serial.print("x: "); Serial.print(x); //Serial.print("\ty: "); Serial.print(","); Serial.print(y); //Serial.print("\tz: "); Serial.print(","); Serial.print(z); Serial.println(","); ///mystuff - feedback sending value Blink(LED1_pin); } // mystuff /////////// Blink ////////// void Blink(int whichLED) { digitalWrite(whichLED, HIGH); delay(100); digitalWrite(whichLED, LOW); } /////////