哈囉哈囉~今天稍微來介紹一下壓力感測器這東西啦
關於原理甚麼的,我實在是懶得講所以跳過
開玩笑的...還是要簡單說一下
以下資料引用(抄)自別人的呦(笑)
所謂壓力感測器(Force-Sensitive Resistor),其實就是個電阻,根據施加的壓力,其電阻值會改變,此產品的規格如下,無壓力時電阻幾近無限大,施加壓力後,電阻就會變小。
不過施加壓力的力道與電阻之間的變化關係,並非線性。
引用出處:http://yehnan.blogspot.tw/2013/09/arduinoforce-sensitive-resistor.html
抄襲就到這邊,大家是絕對不會有問題的,對吧?(σ・ω・)σ
接下來是我自己的介紹
首先我先說一下,我買的跟上面的大大稍微不太一樣,我的是正方形的(笑)
我買的是個個樣子~一個要價300元新台幣
大小不大不小大概就四個一元硬幣這麼大(σ・ω・)σ
另外第一張圖的大小大概是小拇指指頭的大小差不多~(sorry手邊沒有現貨)
okay~認識完元件之後就是要接線了~
其實接線方法很簡單~一樣網路上有,就引用(照抄)一下吧
http://yehnan.blogspot.tw/2013/09/arduinoforce-sensitive-resistor.html
請自己點進去看呦~~~
好的,我絕對不會說其實現在才要進入主題
標題說~這邊是在講FSR與藍芽模組的應用喔!
所以說~現在才是真的要進入主題ಠﭛಠ
用幾句話講述一下功能,簡單來說就是要寫一個判讀壓力大小來決定回傳值的程式!以上報告不敬禮解散!!╭( ・ㅂ・)و
...開玩笑的,要做的事還很多...
首先是接線!!
材料:Arduino*1,FSR*1 , BT HC-06 *1 , 大腦*1 , 10K電阻*1
PS.因為不知道為毛我用的Arduino模擬軟體沒有FSR!!所以我用文字敘述代替接線!!
以下接線包含藍芽模組,我用的應該是HC-06(有點久我忘記了)
簡單敘述一下吧!
5V→藍芽模組Vcc&FSR正端(其實FSR是沒有極性的...)
GND→10K電阻(後端)
另一個GND→藍芽模組GND
A0→10K電阻(前端),然後在接到FSR另一端
pin8→TX
pin9→RX
(因為這是學弟的專題,所以有整線~)
另外..可能有人有疑問關於A0的接法...
PS.上面的網址裡面有圖接法,可以參考參考
簡單來說其實就是這樣啦==""
okay!接線完成後以下是程式code
#include <SoftwareSerial.h> // 引用程式庫
// 首先定義腳位
#define led_pin 11 //LED可接可不接
#define fsr_pin A0 //定義A0為FSR接收端
SoftwareSerial BT(8, 9); // 接收腳TX8, 傳送腳RX9
char val; // 儲存接收資料的變數
int c; //設定變數為C
char A='A';
char B='B';
void setup()
{
Serial.begin(9600);
pinMode(led_pin, OUTPUT); //LED output ,我沒有接
BT.begin(9600);
}
void loop()
{
int fsr_value = analogRead(fsr_pin); // 讀取FSR
int led_value = map(fsr_value, 0, 1023, 0, 255); // 從0~1023映射到0~255
analogWrite(led_pin, led_value); // 改變LED亮度
Serial.println(fsr_value); //輸出FSR的數值
delay(300);
c = (fsr_value > 400) ; //設置變數C的內容為:FSR數值大於400
if(c == 1){
Serial.print(A);
BT.print(A);
delay(300);
}else{
Serial.print(B);
BT.print(B);
delay(300);
}//如果數值大於400,BT輸出A,小於400則輸出B
}
好的!那接下來來看看結果吧!
現在是沒有壓力的狀態...
有壓力了!但是小於400,所以輸出B
壓力比較大!大於400了,所以輸出A!
okay!做到這裡,有沒有什麼問題呢?
蛤!你說什麼?藍芽模組呢?所以藍芽模組是幹嘛用的?(╯=▃=)╯︵┻━┻
ㄜ..其實到這邊,藍芽模組就會發送訊號給相對應的接收端了,接收端的部分我是用App inventor寫一隻接收端啦..
這方面的東西流到下次講吧!
那麼~希望文章有幫到大家喔! Good luck!
留言列表