• Arduion 驱动 ADXL335三轴加速度计模块


    简介

    ADXL335是一个小,薄,低功率,完整的三轴加速度计,具有信号调节电压输出。该产品测量加速度的最小全尺度范围为±3 g。它可以测量倾斜传感应用中重力的静态加速度,以及由运动、冲击或振动产生的动态加速度。
    在这里插入图片描述

    电气参数

    供电电源3~5 V
    供电电流400uA
    通信接口模拟量输出
    工作温度-40°~ 85°

    原理图

    在这里插入图片描述
    工作原理:
    传感器是建立在硅晶片上的多晶硅表面微加工结构。多晶硅弹簧使结构悬浮在晶片表面,并提供加速阻力。结构的偏转是用一个差动电容器来测量的,它由独立的固定板和附着在移动质量上的板组成。固定板由180°的失相方波驱动。加速度使移动质量偏转,使差分电容器失衡,导致传感器输出的振幅与加速度成正比。然后使用相敏解调技术来确定加速度的幅度和方向。

    接线

    ArduinoADXL335OLED
    5VVCCVCC
    GNDGNDGND
    A1x-OUT-
    A2y-OUT-
    A3Z-OUT-
    A4-SDA
    A5-SCL

    代码

    #include 
    #include   //1306的库文件
    #define OLED_RESET 13                   //设置复位是13号引脚
    Adafruit_SSD1306 display(OLED_RESET);
    const int xInput = A1;
    const int yInput = A2;
    const int zInput = A3;
    
    // initialize minimum and maximum Raw Ranges for each axis
    int RawMin = 0;
    int RawMax = 1023;
    
    // Take multiple samples to reduce noise
    const int sampleSize = 10;
    
    void setup() 
    {
      analogReference(EXTERNAL);
      Serial.begin(9600);
      display.begin(SSD1306_SWITCHCAPVCC,0x3C); //刷新
      display.clearDisplay(); //清屏
      display.setTextColor(WHITE);   //字体白色
      display.display();  //显示
    }
    
    void loop() 
    {
      //Read raw values
      int xRaw = ReadAxis(xInput);
      int yRaw = ReadAxis(yInput);
      int zRaw = ReadAxis(zInput);
    
      // Convert raw values to 'milli-Gs"
      long xScaled = map(xRaw, RawMin, RawMax, -3000, 3000);
      long yScaled = map(yRaw, RawMin, RawMax, -3000, 3000);
      long zScaled = map(zRaw, RawMin, RawMax, -3000, 3000);
    
      // re-scale to fractional Gs
      float xAccel = xScaled / 1000.0;
      float yAccel = yScaled / 1000.0;
      float zAccel = zScaled / 1000.0;
      
    
      Serial.print("X, Y, Z:: ");
      Serial.print(xRaw);
      Serial.print(", ");
      Serial.print(yRaw);
      Serial.print(", ");
      Serial.print(zRaw);
      Serial.print(" :: ");
      Serial.print(xAccel,0);
      Serial.print("G, ");
      Serial.print(yAccel,0);
      Serial.print("G, ");
      Serial.print(zAccel,0);
      Serial.println("G"); 
      display.setTextSize(1);       //字体大小为1号
      display.setCursor(35,0); //字体排布在oled里面的行、列数
       display.print("ADXL335");
      display.setCursor(0,12); 
      display.print("X, Y, Z:"); 
      display.print(xRaw);   
      display.print(", ");
      display.print(yRaw);
      display.print(", ");
      display.print(zRaw);
      display.setCursor(0,24);
      display.print("Accel:");          
      display.print(xAccel,0); 
      display.print(" G");
      display.print(yAccel,0);
      display.print(" G");
      display.print(zAccel,0);
      display.print(" G");
     display.display();
     display.clearDisplay(); 
      delay(200);
    }
    
    // Take samples and return the average
    int ReadAxis(int axisPin)
    {
      long reading = 0;
      analogRead(axisPin);
      delay(1);
      for (int i = 0; i < sampleSize; i++)
      {
      reading += analogRead(axisPin);
      }
      return reading/sampleSize;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91

    实验结果

    在这里插入图片描述

  • 相关阅读:
    基于VTD自带的场景 进行场景搭建
    htm与html的区别是什么
    vue3基础语法(三)
    微信小程序开发---基本组件的使用
    通过设备管理对象获取assets的文件资源
    数据分析思维与模型:群组分析法
    悲观锁、乐观锁和自旋锁
    详细图文教你如何提高汉字小达人个人信息录入的速度和准确度
    2023最新electron 进程间通讯的几种方法
    SSM三大框架之MyBatis总结【动力节点老杜】
  • 原文地址:https://blog.csdn.net/qq_42250136/article/details/133988142