Flex傳感器看起來很復雜,但實際上只是兩個金屬鍍層之間的導電橡膠條。是的,就是這樣!
它的工作方式是,當傳感器未彎曲(中性)時,橡膠條堅實而厚實,因此它在兩塊板之間的導電電流很小,如圖所示在草圖中,但是當您彎曲它時,條帶展開并允許更多的電流通過,并且檢測到該電流,因此將彎曲量反饋給系統。
簡單,是嗎?連接它。
步驟2:連接到Arduino
有柔性傳感器上有2個引腳,其中一個連接到arduino上的3.3V或5V供電,另一個連接到地。但是還有更多-接地連接已斷開,一根線連接到您的arduino輸入引腳,在我的Arduino uno中,它是A1。
重要的是,在A1引腳和地面之間有一個電阻。電阻值將確定您的柔性傳感器的靈敏度。一個1K電阻是一個很好的起點,但是您可以使用這些值來實現所需的靈敏度。
完成。
讓我們看一下草圖,然后在Ironman Repulsor中測試我們的柔韌性。
步驟3:代碼
The以下代碼來自Sparkfun,但可以修改:
/*********************************** ***********************************************結果Flex_Sensor_Example.ino SparkFun撓性傳感器的示例草圖(https://www.sparkfun.com/products/10264)Jim Lindblom @ SparkFun Electronics 2016年4月28日
創建將撓性傳感器與一個47k的電阻器。 -電阻應從A1連接至GND。 -柔性傳感器應從A1連接到3.3V。隨著柔性傳感器的電阻增加(意味著它已彎曲),A1的電壓應減小。
開發環境詳細信息:Arduino 1.6.7 ** ************************************************** **************************
/const int FLEX_PIN = A1;
//連接到分壓器輸出的引腳
//測量5V的電壓和
//47k電阻的實際電阻,然后輸入如下:const float VCC = 4.98;
///Ardunio 5V線const float R_DIV的測量電壓= 47500.0;
//測得的3.3k電阻器電阻
//上傳代碼,然后嘗試調整這些值以更多
//準確計算彎曲度。 const float STRAIGHT_RESISTANCE = 37300.0;
//當常量const浮動時的阻力BEND_RESISTANCE = 90000.0;
//90度電阻
void setup()
{Serial.begin(9600);
pinMode(FLEX_PIN,INPUT); }
void loop()
{//讀取ADC并從中計算電壓和電阻
int flexADC = AnalogRead(FLEX_PIN);
float flexV = flexADC * VCC/1023.0;
float flexR = R_DIV *(VCC/flexV-1.0);
Serial.println(“ Resistance:” + String(flexR)+“ ohms”);
//使用計算出的電阻來估算傳感器的
//彎曲角度:
浮動角度= map(flexR,STRAIGHT_RESISTANCE,BEND_RESISTANCE,0,90.0); Serial.println(“ Bend:” +字符串(角度)+“度”);
Serial.println();
delay(500); }
第4步:測試
在測試時,柔性傳感器產生了驚人的結果。
-
傳感器
+關注
關注
2548文章
50693瀏覽量
752035 -
FLEX
+關注
關注
0文章
46瀏覽量
15200 -
Arduino
+關注
關注
187文章
6464瀏覽量
186660
發布評論請先 登錄
相關推薦
評論