第4部分:Arduino代码
随着基本知识的涵盖和硬件的组装,它的编码时间。
下面是一个示例Arduino草图,它读取XYZ焊盘并在串行终端中输出位置+力读数。你可以抓起下面的.zip文件上传到你的MCU,如果你想自己写的话,也可以快速浏览一下作为参考。
下载代码薄膜压力传感器怎么用,柔性压力传感器,薄膜压力传感器,柔性薄膜压力传感器,薄膜压电传感器,薄膜电容传感器,TEKSCAN,I-SCAN,Tactilus,物联网传感器,电子传感器,传感器结构,步态分析系统,压力分布,薄膜压力传感器原理,柔性压力传感,压力传感器模块,电阻式压力传感器,柔性薄膜,仿生传感器,柔性压力传感器,传感器电缆,压力传感,压电加速度传感器,压电式加速度传感器,水压压力传,触觉传感器,表面肌电,运动捕捉系统,上海压力分布,握力传感器,辊轮,步态分析仪,肌电,智能压力传
感器,微压力传感器,薄膜式压力传感器,弯曲传感器,石墨烯薄膜,二维力传感器,电极片厂家,汽车座椅传感器,表面肌电分析系统,多轴力传感器,平面度测量,直线度测量,传感器视频,平面度测量仪,垂直度测试仪,视频传感器,传感器的应用,同轴度测量,直线度测量,压电薄膜传感器,压电薄膜,薄膜传感器,压电传感器的应用,压电传感器,压电薄膜传感器原理,压电,压电式传感器,驻极体麦克风,压电式,压电式传感器的应用,传感器应用,压电式传感器应用,力学试验机,压力分布量测系统,磁力传感器,磁电式传感器,力学传感器,F-SCAN,T-SCAN,I-SCAN,K-SCAN:xyzpadttutorial.zip
代码:
/**********************************************************************************************************
*项目:xyzpadttutorial.ino
*签署人:Chris Wittmier@Sensitronics LLC
*上次修订日期:2015年3月29日
*描述:基于FSR的XYZPad传感器的演示固件(类似于4线电阻触摸屏+force)
**********************************************************************************************************/
#包括
#包括“xyzdefines.h”
/**********************************************************************************************************
*全球性的
**********************************************************************************************************/
int history[轴计数][平均计数];//多个读数的滚动历史,用于平均
每个轴的平均值
//偏移和缩放用于映射位置数据,以便理想地从边到边输出满标度读数
//在垫子区域。如果您正在使用Processing demo应用程序,那里有更好的控件,所以
//这些都是不必要的。
浮动偏移[轴计数];
浮标[轴计数];
国际历史索引;
/**********************************************************************************************************
*设置()
**********************************************************************************************************/
无效设置()
{
序列开始(115200);
pinMode(PIN_XPLUS,INPUT);//init all pins to Hi-Z
pinMode(PIN_XMINUS,输入);
pinMode(PIN_YPLUS,输入);
pinMode(PIN_YMINUS,输入);
对于(int i=0;i<轴计数;i++)
{
对于(int k=0;k<平均值;k++)
{
history[i][k]=0;//清除历史记录
}
平均值[i]=0;
offset[i]=0;//默认所有位置偏移为0
scale[i]=1;//默认所有位置缩放为1:1
}
历史指数=0;
}
/**********************************************************************************************************
*loop()-注意下面的一些pinModes/digitalWrites是无关的(与前一个状态相同)。
*但是,为了示例的清晰性,我们将列出所有这些。
**********************************************************************************************************/
无效循环()
{
/*读取X位置*/
pinMode(PIN_YPLUS,输入);
pinMode(PIN_YMINUS,输入);
pinMode(PIN_XPLUS,输出);
pinMode(PIN_XMINUS,输出);
digitalWrite(PIN_XMINUS,LOW);//要读取X位置,将5V-0V穿过X平面。。。
数字写入(PIN_XPLUS,高);
analogRead(PIN_YPLUS);//(虚拟读取为输入多路复用器提供了解决时间,以避免串扰)
int x_reading=模拟读取(PIN_YPLUS);//…然后从任意一个Y端子读取电压
数字写入(PIN_XPLUS,低);
/*读取Y位置*/
pinMode(PIN_XPLUS,输入);
pinMode(PIN_XMINUS,输入);
pinMode(PIN_YPLUS,输出);
pinMode(PIN_YMINUS,输出);
digitalWrite(PIN_YMINUS,LOW);//与上一个状态相同,但交换轴
数字写入(PIN_YPLUS,高);
模拟读取(PIN_XPLUS);
int y_reading=模拟读取(PIN_XPLUS);
数字写入(PIN_YPLUS,低);
/*读取力*/
pinMode(PIN_XPLUS,输入);
pinMode(PIN_YPLUS,输入);
pinMode(PIN_XMINUS,输出);
pinMode(PIN_YMINUS,输出);
digitalWrite(PIN_XMINUS,LOW);//要读取力,将5V-0V从一个Y端子放到一个X端子。。。
数字写入(PIN_YMINUS,HIGH);
模拟读取(PIN_XPLUS);
int x_plane_reading=analogRead(PIN_XPLUS);//……读取对面的x端子,以获得x平面上的电压。。。
模拟读取(PIN_YPLUS);
int y_plane_reading=analogRead(PIN_YPLUS);//…读取相对的y端子以获得y平面上的电压。。。
数字写入(PIN_YMINUS,低);
int z_reading=y_plane_reading-x_plane_reading;/…现在减去这两个平面之间的电压,与板材之间的电阻成比例,从而得到相对力
/*闲置*/
pinMode(PIN_XPLUS,INPUT);//如果我们在此时执行其他任务,则将所有内容设置为Hi-Z,没有理由继续在工作表中驱动电流
pinMode(PIN_XMINUS,输入);
pinMode(PIN_YPLUS,输入);
pinMode(PIN_YMINUS,输入);
if(翻转X轴)
{
x_读数=1024-x_读数;
}
if(翻转轴)
{
y_读数=1024-y_读数;
}
if(翻转Z轴)
{
z_读数=1024-z_读数;
}
平均值all(x_reading,y_reading,z_reading);//smo