Arduino代碼
以下是一個簡單的草圖,該草圖從Arduino的ADC引腳中讀取傳感器數據,并在串口顯示器上打印輸出。對于大多數項目,可以滿足多數需求。
// Change these constants according to your project's design
const float VCC = 5; // voltage at Ardunio 5V line
const float R_DIV = 47000.0; // resistor used to create a voltage divider
const float flatResistance = 25000.0; // resistance when flat
const float bendResistance = 100000.0; // resistance at 90 deg
void setup() {
Serial.begin(9600);
pinMode(flexPin, INPUT);
}
void loop() {
// Read the ADC, and calculate voltage and resistance from it
int ADCflex = analogRead(flexPin);
float Vflex = ADCflex * VCC / 1023.0;
float Rflex = R_DIV * (VCC / Vflex - 1.0);
Serial.println("Resistance: " + String(Rflex) + " ohms");
// Use the calculated resistance to estimate the sensor's bend angle:
float angle = map(Rflex, flatResistance, bendResistance, 0, 90.0);
Serial.println("Bend: " + String(angle) + " degrees");
Serial.println();
delay(500);
}
如果一切工作正常,則在折彎彎曲傳感器時,您應該看到電阻的變化和估算的角度。
代碼說明
首先在草圖中定義彎曲傳感器和下拉電阻連接的Arduino引腳編號。
const int flexPin = A0;
接下來,定義了幾個常數:VCC是系統電壓,R_DIV是用于創建分壓器的阻值,flatResistance和bendResistance是彎曲傳感器在水平和90°彎曲時的阻值。確保您準確設置這些常數。
const float VCC = 5;
const float R_DIV = 47000.0;
const float flatResistance = 25000.0;
const float bendResistance = 100000.0;
在setup()函數中,我們將初始化串口通信,并將A0引腳設置為輸入。
void setup() {
Serial.begin(9600);
pinMode(flexPin, INPUT);
}
在 loop() 函數中,我們首先進行ADC讀數。
int ADCflex = analogRead(flexPin);
當Arduino將此模擬電壓轉換為數字量時,它實際上將其轉換為范圍為0到1022的10位數量。因此,為了計算實際輸出電壓,我們使用以下公式:
float Vflex = ADCflex * VCC / 1023.0;
接下來,我們使用分壓公式計算彎曲傳感器的電阻,并將其顯示在串口顯示器上。
float Rflex = R_DIV * (VCC / Vflex - 1.0);
Serial.println("Resistance: " + String(Rflex) + " ohms");
最后,我們使用計算出的阻值來估算傳感器的彎曲角度。為此,我們使用IDE的內置map()函數。
map()函數映射并將傳感器的阻值轉換為傳感器的彎曲角度。因此,當我們調用*map(Rflex, flatResistance, bendResistance, 0, 90.0)*時,flatResistance值將映射到0°,bendResistance將映射到90°。
float angle = map(Rflex, flatResistance, bendResistance, 0, 90.0);
Serial.println("Bend: " + String(angle) + " degrees");
Serial.println();
-
顯示器
+關注
關注
21文章
4986瀏覽量
140111 -
代碼
+關注
關注
30文章
4801瀏覽量
68728 -
Arduino
+關注
關注
188文章
6471瀏覽量
187308
發布評論請先 登錄
相關推薦
評論