0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

利用Arduino開發(fā)板連接彎曲傳感器的方法-下

jf_78858299 ? 來源:一板網電子技術論壇 ? 作者:一板網電子技術論 ? 2023-01-21 14:28 ? 次閱讀

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);
}

如果一切工作正常,則在折彎彎曲傳感器時,您應該看到電阻的變化和估算的角度。

1672977817(1).png

代碼說明

首先在草圖中定義彎曲傳感器和下拉電阻連接的Arduino引腳編號。

const int flexPin = A0;

接下來,定義了幾個常數:VCC是系統(tǒng)電壓,R_DIV是用于創(chuàng)建分壓器的阻值,flatResistancebendResistance是彎曲傳感器在水平和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();
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 顯示器
    +關注

    關注

    21

    文章

    5009

    瀏覽量

    140316
  • 代碼
    +關注

    關注

    30

    文章

    4823

    瀏覽量

    68945
  • Arduino
    +關注

    關注

    188

    文章

    6477

    瀏覽量

    187673
收藏 人收藏

    評論

    相關推薦

    如何使用傳感器開發(fā)板加快您的設計速度

    擁有復雜的 IoT 應用所需的處理能力、板載存儲和外圍組件集的主板(如 Arrow SD 600eval)要容易很多。TE 的傳感器屏蔽開發(fā)板(下方圖 1 所示)在兼容 96board 標準的標準形狀大小
    發(fā)表于 01-10 14:47 ?2720次閱讀

    基于arduino開發(fā)板FRDM-KL25Z脈搏心率傳感器

    [size=0.83em]基于arduino開發(fā)板FRDM-KL25Z脈搏心率傳感器.png (84.75 KB, 下載次數: 0)下載附件[color=rgb(153, 153, 153
    發(fā)表于 06-22 11:15

    如何將傾斜傳感器連接Arduino開發(fā)板上?

    傾斜傳感器開關是什么?有什么作用?如何將傾斜傳感器連接Arduino開發(fā)板上?
    發(fā)表于 07-06 08:23

    Arduino開發(fā)板使用DHT11溫濕度傳感器方法 精選資料分享

    在本篇文章中,我們將DHT11溫濕度傳感器Arduino開發(fā)板和LCD顯示屏連接,設計一種能夠測量室溫和環(huán)境濕度的設備。簡單地說,我們將使用Ard
    發(fā)表于 07-13 09:35

    Arduino開發(fā)板使用DHT11溫濕度傳感器方法 精選資料分享

    在本篇文章中,我們將DHT11溫濕度傳感器Arduino開發(fā)板和LCD顯示屏連接,設計一種能夠測量室溫和環(huán)境濕度的設備。簡單地說,我們將使用Ard
    發(fā)表于 07-13 06:58

    如何去制作一種基于Arduino開發(fā)板和壓力傳感器的肺活量計

    什么是肺活量測定法?如何去制作一種基于Arduino開發(fā)板和壓力傳感器的肺活量計?
    發(fā)表于 09-18 06:11

    請問Arduino開發(fā)板如何連接傾斜傳感器

    請問Arduino開發(fā)板如何連接傾斜傳感器?
    發(fā)表于 10-28 08:54

    Arduino開發(fā)板的測試程序和土壤濕度傳感器的資料詳細說明

    本文檔的主要內容詳細介紹的是Arduino開發(fā)板的測試程序和土壤濕度傳感器的資料詳細說明。
    發(fā)表于 05-07 08:00 ?0次下載
    <b class='flag-5'>Arduino</b><b class='flag-5'>開發(fā)板</b>的測試程序和土壤濕度<b class='flag-5'>傳感器</b>的資料詳細說明

    Arduino的各種常用開發(fā)板

    Arduino開發(fā)板大全,來看看你玩過哪些? 昨天認識了Arduino,今天來看看Arduino的各種常用開發(fā)板。 它有各種型號的,如
    的頭像 發(fā)表于 03-24 09:28 ?2.5w次閱讀

    如何使用Arduino開發(fā)板和溫度傳感器實現實時氣象站?

    使用Arduino開發(fā)板、RTC、氣壓和溫度傳感器可以輕松實現類似實時氣象站這樣簡單的小型項目。在生活中,我們使用溫度計來測量溫度,身邊沒有任何可測量氣壓的設備,因此只能依靠新聞得知當前地區(qū)的氣壓
    的頭像 發(fā)表于 04-09 11:44 ?3854次閱讀
    如何使用<b class='flag-5'>Arduino</b><b class='flag-5'>開發(fā)板</b>和溫度<b class='flag-5'>傳感器</b>實現實時氣象站?

    配置esp8266開發(fā)板Arduino開發(fā)環(huán)境

    1.esp8266開發(fā)板硬件:基于esp8266的nodemuc開發(fā)板 需要microUSB連接線。ESP8266-NodeMCU是一個開源硬件開發(fā)板,由于它支持WIFI功能,所以在物
    發(fā)表于 12-08 14:51 ?33次下載
    配置esp8266<b class='flag-5'>開發(fā)板</b>的<b class='flag-5'>Arduino</b><b class='flag-5'>開發(fā)</b>環(huán)境

    Arduino 初試 stm32開發(fā)板

    Arduino 初試 stm32開發(fā)板1.實驗環(huán)境1.野火STM32指南者(STM32F103VET6)2.Arduino IDE 1.8.13(下載鏈接)3.STM32 Flash
    發(fā)表于 12-20 19:48 ?18次下載
    <b class='flag-5'>Arduino</b> <b class='flag-5'>下</b>初試 stm32<b class='flag-5'>開發(fā)板</b>

    如何將Arduino與不同的傳感器連接

    電子發(fā)燒友網站提供《如何將Arduino與不同的傳感器連接.zip》資料免費下載
    發(fā)表于 11-03 10:18 ?1次下載
    如何將<b class='flag-5'>Arduino</b><b class='flag-5'>板</b>與不同的<b class='flag-5'>傳感器</b><b class='flag-5'>連接</b>

    利用Arduino開發(fā)板連接彎曲傳感器方法-上

    彎曲傳感器(Flex Sensor)是一種低成本且易于使用的傳感器,專門設計用于測量偏轉或彎曲的程度。 由于在90年代在Nintendo Power Glove中用作游戲界面,因
    的頭像 發(fā)表于 01-21 14:28 ?2661次閱讀
    <b class='flag-5'>利用</b><b class='flag-5'>Arduino</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>連接</b><b class='flag-5'>彎曲</b><b class='flag-5'>傳感器</b>的<b class='flag-5'>方法</b>-上

    Arduino傳感器–ROHM傳感器評估套件概覽

    ROHM Sensor Shield(ROHM傳感器開發(fā)板)是一種兼容Arduino的擴展板,旨在幫助用戶快速將各種傳感器添加到自己的開發(fā)
    的頭像 發(fā)表于 02-23 17:37 ?913次閱讀
    <b class='flag-5'>Arduino</b><b class='flag-5'>傳感器</b>–ROHM<b class='flag-5'>傳感器</b>評估套件概覽