“(SKU:RB-02S027A)绿色单向倾角传感器”的版本间的差异

来自ALSROBOT WiKi
跳转至: 导航搜索
(以“ ==产品概述== ADXL345 数字三轴加速度计是一款小而薄的超低功耗3轴加速度计,分辨率高达(13...”为内容创建页面)
 
规格参数
 
(未显示2个用户的4个中间版本)
第1行: 第1行:
[[文件:02s03702.jpg|400px|缩略图|右]]
+
[[文件:02S027A01.png|500px|缩略图|右]]
 
==产品概述==
 
==产品概述==
ADXL345 数字三轴加速度计是一款小而薄的超低功耗3轴加速度计,分辨率高达(13位),测量范围达± 16g。数字输出数据为16位二进制补码格式,可通过SPI(3线或4线)或I2C数字接口访问。ADXL345非常适合移动设备应用。它可以在倾斜检测应用中测量静态重力加速度,还可以测量运动或冲击导致的动态加速度。其高分辨率(3.9mg/LSB),能够测量不到1.0°的倾斜角度变化。该器件提供多种特殊检测功能。活动和非活动检测功能通过比较任意轴上的加速度与用户设置的阈值来检测有无运动发生。敲击检测功能可以检测任意方向的单振和双振动作。自由落体检测功能可以检测器件是否正在掉落。这些功能可以独立映射到两个中断输出引脚中的一个。正在申请专利的集成式存储器管理系统采用一个32级先进先出(FIFO)缓冲器,可用于存储数据,从而将主机处理器负荷降至最低,并降低整体系统功耗。低功耗模式支持基于运动的智能电源管理,从而以极低的功耗进行阈值感测和运动加速度测量。
+
此款新推出的单向倾角传感器数据接口采用防插反插头,接口两侧分别有字母“D”代表信号类型为数字信号,和 “倾角”标识代表传感器类型,传感器特设4颗M3固定安装孔,调节方向与固定方便易用,美观大方。此传感器基于钢球开关的数字模块,利用钢球的特性,通过重力作用使钢球向低处滚动,从而使开关闭合或断开,国内的滚珠开关大都是水银开关,易破损、氧化、漏气、寿命短、污染环境等弊端,钢球滚珠开关摒弃以上缺点,更环保易用,比使用水银开关更加安全。因此可作为单向倾角传感器使用。单向倾角传感器输入模块,可在控制器上应用,通过3P传感器连接线插接到专用传感器扩展板上使用,能够实现非常有趣的互动作品。
 
==规格参数==
 
==规格参数==
# 工作电压:3.3-5v
+
# 工作电压 :3.3 - 5v
# 超低功耗:测量模式下40uA电流损耗,待机模式下0.1uA@2.5v
+
# 尺寸大小: 32mm x 25mm
# 通讯接口:I2C、SPI(3线or4线)
+
# 重量大小:2g
# 接口类型:0.1"插针孔
+
# 信号类型:数字信号
 +
# 钢球开关模块角度:2 - 5度
 +
# 固定孔:M3 * 4个
 +
 
 
==接口定义==
 
==接口定义==
* VCC:电源引脚
+
* S:信号引脚
* GND:该引脚必须接地
+
* -:电源地
* CS:片选端,低电平有效
+
* +:电源正极
* INT1:中断1输出
+
[[文件:02S027A02.png|500px|缩略图|居中]]
* INT2:中断2输出
+
 
* SDO:备用I2C地址选择
+
* SDA:I2C接口数据端
+
* SCL:I2C接口时钟端
+
 
==使用方法==
 
==使用方法==
===接线方法===
+
===工作原理===
[[文件:b1.png|423px|缩略图|居中]]
+
单向倾角开关是一个简单的电子元件,其内部包含两个触点和一个金属小球(或者一滴导电的水银,但是我不推荐使用这种,因为有毒而且不环保)。此倾角传感器属于环保型,所以包装为绿色。倾角开关也称作倾角传感器,当传感器至于垂直位置时,金属小球接触到两个桥接点导通,就好像你按下按钮。当你将传感器倾斜时,金属小球移动离开桥接点后,致使桥接点断开,这一过程就相当于你松开按钮。使用这个简单的元件,你可以轻松感测到物体是否被晃动、移动或倾斜。
接线图:
+
===编程原理===
[[文件:Adxl345jiexian.jpg|700px|缩略图|居中]]
+
单向倾角传感器共引出三个引脚,分别是Vcc电源正,GND电源地,信号引脚S,在实际使用时可以将传感器接在 Arduino UNO 控制器的数字引脚,例如数字引脚2号,通过串口监视器可以查看绿色倾角传感器当前的输入状态,再通过 Arduino UNO 板载的LED指示灯可以通过LED反馈出当前的状态。
 +
===硬件连接图===
 +
[[文件:02S027A03.png|700px|缩略图|居中]]
 
===例子程序===
 
===例子程序===
[http://pan.baidu.com/s/1o6CI1ZG wire库文件下载]
+
<pre style='color:blue'>
<pre style='color:blue'>#include <Wire.h>
+
int qingjiaoPin = 2;               //定义倾角开关信号引脚数字2
 
+
int ledPin = 13;                   //定义板载LED引脚
#define DEVICE (0x53)      //ADXL345 device address
+
int qingjiaoState = 0;             //定义倾角状态
#define TO_READ (6)        //num of bytes we are going to read each time (two bytes for each axis)
+
void setup()  
 
+
{
byte buff[TO_READ] ;       //6 bytes buffer for saving data read from the device
+
   pinMode(ledPin, OUTPUT);         //定义LED引脚为输出
char str[512];              //string buffer to transform data before sending it to the serial port
+
   pinMode(qingjiaoPin, INPUT);     //定义倾角开关引脚为输入
int regAddress = 0x32;     //first axis-acceleration-data register on the ADXL345
+
   Serial.begin(9600);
int x, y, z;         //three axis acceleration data
+
double roll = 0.00, pitch = 0.00; //Roll & Pitch are the angles which rotate by the axis X and y
+
//in the sequence of R(x-y-z),more info visit
+
void setup() {
+
   Wire.begin();         // join i2c bus (address optional for master)
+
   Serial.begin(9600); // start serial for output
+
 
+
   //Turning on the ADXL345
+
  writeTo(DEVICE, 0x2D, 0);     
+
  writeTo(DEVICE, 0x2D, 16);
+
  writeTo(DEVICE, 0x2D, 8);
+
 
}
 
}
  
void loop() {
+
void loop()
 
+
{
   readFrom(DEVICE, regAddress, TO_READ, buff); //read the acceleration data from the ADXL345
+
   qingjiaoState = digitalRead(qingjiaoPin);   //读取倾角开关引脚的值
                                              //each axis reading comes in 10 bit resolution, ie 2 bytes.  Least Significat Byte first!!
+
   if (qingjiaoState == LOW) //判断倾角开关的状态值是否为低电平
                                              //thus we are converting both bytes in to one int
+
    digitalWrite(ledPin, HIGH);  //向LED引脚置高电平
   x = (((int)buff[1]) << 8) | buff[0]; 
+
    Serial.print("qing jiao State = ");
  y = (((int)buff[3])<< 8) | buff[2];
+
    Serial.println(qingjiaoState);
  z = (((int)buff[5]) << 8) | buff[4];
+
   }
  //we send the x y z values as a string to the serial port
+
   else {
  Serial.print("The acceleration info of x, y, z are:");
+
    digitalWrite(ledPin, LOW); //向LED引脚置低电平
  sprintf(str, "%d %d %d", x, y, z);   
+
     Serial.print("qing jiao State = ");
  Serial.print(str);
+
     Serial.println(qingjiaoState);
  Serial.write(10);
+
  //Roll & Pitch calculate
+
  RP_calculate();
+
  Serial.print("Roll:"); Serial.println( roll );  
+
  Serial.print("Pitch:"); Serial.println( pitch );
+
   Serial.println("");
+
   //It appears that delay is needed in order not to clog the port
+
  delay(50);
+
}
+
 
+
//---------------- Functions
+
//Writes val to address register on device
+
void writeTo(int device, byte address, byte val) {
+
  Wire.beginTransmission(device); //start transmission to device
+
  Wire.write(address);        // send register address
+
  Wire.write(val);        // send value to write
+
  Wire.endTransmission(); //end transmission
+
}
+
 
+
//reads num bytes starting from address register on device in to buff array
+
void readFrom(int device, byte address, int num, byte buff[]) {
+
  Wire.beginTransmission(device); //start transmission to device
+
  Wire.write(address);        //sends address to read from
+
  Wire.endTransmission(); //end transmission
+
 
+
     Wire.beginTransmission(device); //start transmission to device
+
  Wire.requestFrom(device, num);    // request 6 bytes from device
+
 
+
  int i = 0;
+
  while(Wire.available())    //device may send less than requested (abnormal)
+
  {
+
     buff[i] = Wire.read(); // receive a byte
+
    i++;
+
 
   }
 
   }
  Wire.endTransmission(); //end transmission
 
 
}
 
}
 +
</pre>
 +
===程序效果===
 +
将例子程序上传到 Arduino UNO 控制器,如果上传无误,可以看到以下现象:
 +
* 当传感器单向倾斜时,桥接点导通,倾角传感器输出低电平,13引脚的LED小灯亮起
 +
* 当倾角向另外一侧倾斜或不倾斜时,桥接点断开,倾角传感器输出高电平,13引脚的LED小灯熄灭
 +
同时可以通过 Arduino IDE 软件的串口监视器对倾角传感器的输出状态进行查看。
 +
[[文件:02S027A04.png|500px|缩略图|居中]]
  
//calculate the Roll&Pitch
+
==产品相关推荐==
void RP_calculate(){
+
[[文件:erweima.png|230px|无框|右]]
  double x_Buff = float(x);
+
===购买地址===
  double y_Buff = float(y);
+
[http://www.alsrobot.cn/goods-140.html 绿色单向倾角传感器]
  double z_Buff = float(z);
+
===周边产品推荐===
  roll = atan2(y_Buff , z_Buff) * 57.3;
+
[http://www.alsrobot.cn/goods-167.html Arduino 旋转角度传感器]<br/>
  pitch = atan2((- x_Buff) , sqrt(y_Buff * y_Buff + z_Buff * z_Buff)) * 57.3;
+
[http://www.alsrobot.cn/goods-212.html 银色单向倾角传感器]<br/>
}</pre>
+
[http://www.alsrobot.cn/goods-196.html 通用传感器连接线 3P杜邦连接线]
===程序效果===
+
===相关问题解答===
打开串口监视窗口,可以看到类似下图的数据,分别为:三轴加速度的数据,按照R-xyz旋转顺序时的姿态角。按各轴旋转可以观测到相应的数据变化。
+
===相关学习资料===
 +
[http://www.makerspace.cn/portal.php 奥松机器人技术论坛]

2015年12月24日 (四) 10:41的最后版本

02S027A01.png

目录

产品概述

此款新推出的单向倾角传感器数据接口采用防插反插头,接口两侧分别有字母“D”代表信号类型为数字信号,和 “倾角”标识代表传感器类型,传感器特设4颗M3固定安装孔,调节方向与固定方便易用,美观大方。此传感器基于钢球开关的数字模块,利用钢球的特性,通过重力作用使钢球向低处滚动,从而使开关闭合或断开,国内的滚珠开关大都是水银开关,易破损、氧化、漏气、寿命短、污染环境等弊端,钢球滚珠开关摒弃以上缺点,更环保易用,比使用水银开关更加安全。因此可作为单向倾角传感器使用。单向倾角传感器输入模块,可在控制器上应用,通过3P传感器连接线插接到专用传感器扩展板上使用,能够实现非常有趣的互动作品。

规格参数

  1. 工作电压 :3.3 - 5v
  2. 尺寸大小: 32mm x 25mm
  3. 重量大小:2g
  4. 信号类型:数字信号
  5. 钢球开关模块角度:2 - 5度
  6. 固定孔:M3 * 4个

接口定义

  • S:信号引脚
  • -:电源地
  • +:电源正极
02S027A02.png

使用方法

工作原理

单向倾角开关是一个简单的电子元件,其内部包含两个触点和一个金属小球(或者一滴导电的水银,但是我不推荐使用这种,因为有毒而且不环保)。此倾角传感器属于环保型,所以包装为绿色。倾角开关也称作倾角传感器,当传感器至于垂直位置时,金属小球接触到两个桥接点导通,就好像你按下按钮。当你将传感器倾斜时,金属小球移动离开桥接点后,致使桥接点断开,这一过程就相当于你松开按钮。使用这个简单的元件,你可以轻松感测到物体是否被晃动、移动或倾斜。

编程原理

单向倾角传感器共引出三个引脚,分别是Vcc电源正,GND电源地,信号引脚S,在实际使用时可以将传感器接在 Arduino UNO 控制器的数字引脚,例如数字引脚2号,通过串口监视器可以查看绿色倾角传感器当前的输入状态,再通过 Arduino UNO 板载的LED指示灯可以通过LED反馈出当前的状态。

硬件连接图

02S027A03.png

例子程序

int qingjiaoPin = 2;                //定义倾角开关信号引脚数字2
int ledPin =  13;                   //定义板载LED引脚
int qingjiaoState = 0;              //定义倾角状态
void setup() 
{
  pinMode(ledPin, OUTPUT);          //定义LED引脚为输出
  pinMode(qingjiaoPin, INPUT);      //定义倾角开关引脚为输入
  Serial.begin(9600);
}

void loop()
{
  qingjiaoState = digitalRead(qingjiaoPin);    //读取倾角开关引脚的值
  if (qingjiaoState == LOW) {  //判断倾角开关的状态值是否为低电平
    digitalWrite(ledPin, HIGH);  //向LED引脚置高电平
    Serial.print("qing jiao State = ");
    Serial.println(qingjiaoState);
  } 
  else {
    digitalWrite(ledPin, LOW); //向LED引脚置低电平
    Serial.print("qing jiao State = ");
    Serial.println(qingjiaoState);
  }
}

程序效果

将例子程序上传到 Arduino UNO 控制器,如果上传无误,可以看到以下现象:

  • 当传感器单向倾斜时,桥接点导通,倾角传感器输出低电平,13引脚的LED小灯亮起
  • 当倾角向另外一侧倾斜或不倾斜时,桥接点断开,倾角传感器输出高电平,13引脚的LED小灯熄灭

同时可以通过 Arduino IDE 软件的串口监视器对倾角传感器的输出状态进行查看。

02S027A04.png

产品相关推荐

Erweima.png

购买地址

绿色单向倾角传感器

周边产品推荐

Arduino 旋转角度传感器
银色单向倾角传感器
通用传感器连接线 3P杜邦连接线

相关问题解答

相关学习资料

奥松机器人技术论坛