和12岁小同志搞创客开发:如何驱动各类型传感器?
目錄
1、數字量輸出類型傳感器
2、數字量輸入類型傳感器
3、模擬量電壓類型傳感器
4、模擬量電流類型傳感器
5、協議類型傳感器
?機緣巧合在網上認識一位12歲小同志,從零開始系統輔導其創客開發思維和技巧。
項目專欄:https://blog.csdn.net/m0_38106923/category_11097422.html??
傳感器檢測現實物體的狀態并轉換輸出為電信號,這個電信號可以是:電壓、電流、脈沖等多樣形式。
根據這些輸出類型可以將傳感器進行分類,主要包括:數字量輸出類型傳感器、數字量輸入類型傳感器、模擬量電壓類型傳感器、模擬量電流類型傳感器和協議類型傳感器。
注:本文側重應用,較為復雜的驅動原理將會在之后的項目中講解。
1、數字量輸出類型傳感器
數字量輸出類型傳感器輸出高、低電平信號表示檢測狀態。例如,人體傳感器當有人經過時,數據端口會輸出高電平,無人時輸出低電平。
驅動數字量輸出類型傳感器,需要將控制器端口配置為數字輸入模式,檢測傳感器輸出電壓的變化,驅動按鍵元器件也是這樣的原理。
2、數字量輸入類型傳感器
數字量輸入類型傳感器需要控制器輸出高、低電平實現開關控制。例如:LED燈,控制器輸出3.3V~5V高電平則LED熄滅,控制器輸出低電平則LED點亮。
驅動數字量輸入類型傳感器,需要將控制器端口配置為數字輸出模式,輸出滿足驅動能力的高、低電平,即可實現驅動。
3、模擬量電壓類型傳感器
模擬量電壓類型傳感器會隨著被檢測物體狀態變化,輸出規定范圍內的模擬電壓。例如:電容式土壤濕度傳感器,隨著土壤濕度的變化,會輸出0~3V的電壓,將土壤濕度傳感器插入干燥的沙土,輸出約為3V電壓,插入濕潤的沙土輸出約為1.5V左右電壓,插入非常潮濕輸出約為0V電壓。
驅動模擬量電壓類型傳感器,需要將控制器端口配置為ADC模式,采集傳感器輸出的模擬電壓數據。
4、模擬量電流類型傳感器
模擬量電流類型傳感器會隨著被檢測物體狀態變化,輸出規定范圍內的模擬電流。例如:4~20mA電流型溫度傳感器,假設該溫度傳感器檢測溫度范圍為:-200~500℃,則當溫度為-200℃時,傳感器輸出電流約為0mA,溫度為500℃時,傳感器輸出電流約為20mA。
需要注意,絕大多數控制器是無法直接輸入電流信號的,需要將模擬電流信號轉換為合適范圍的模擬電壓信號,將控制器端口配置為ADC模式,采集傳感器輸出的模擬電壓數據。
5、協議類型傳感器
以上四種類型傳感器可直接采集輸出的電信號,開發者需要再進行轉換方可得到感知結果。
協議類型傳感器在采集數據后,將電信號直接轉換為數據結果,存入寄存器中,開發者無需自己再編程轉換,只需要讀取通信總線,按照相關協議訪問寄存器即可讀取結果。
常用的協議類型傳感器主要包括:UART通信總線、I2C通信總線、SPI通信總線這三種。
協議類型傳感器深究較為復雜,考慮到創客基礎較為薄弱,建議先應用實踐,熟練使用后再深究原理。
5.1、UART通信總線
通用異步收發器(Universal Asynchronous Receiver/Transmitter), 通常稱作UART。UART是一種通用串行數據總線,用于異步通信,該總線雙向通信,可以實現全雙工的發送和接收。
UART通信需要連接三個接口,如下所示:
- TXD:數據發送端口;
- RXD:數據接收端口;
- GND:電源地。
連線時需要將控制器TXD、RXD和傳感器TXD、RXD交叉連接,連線效果如下所示:
例如:?HuskyLens?AI視覺傳感器,基于UART通信,連線效果如下所示:
連線成功后即可使用控制器驅動HuskyLens?AI視覺傳感器。
5.2、I2C通信總線
I2C總線(Inter-Integrated Circuit)是一種簡單、雙向二線制同步串行總線,只需要兩根線即可實現數據通信,如下所示:
- SDA:串行數據線,實現數據通信;
- SCL:串行時鐘線,實現時序同步。
連線時需要將控制器SDA、SCL和傳感器SDA、SCL對應連接,連線效果如下所示:
例如,驅動BH1750環境光傳感器,需要將控制器SDA、SCL和環境光傳感器SDA、SCL對應連接。
連線成功后即可使用控制器驅動環境光傳感器。
5.3、SPI通信總線
SPI是串行外設接口(Serial Peripheral Interface)的縮寫。是一種高速的,全雙工,同步的通信總線。它以主從方式工作,這種模式通常有一個主設備和一個或多個從設備,需要至少4根線,事實上3根也可以(單向傳輸時),如下所示:
- SDI/MISO:主設備數據輸入,從設備數據輸出;
- SDO/MOSI:主設備數據輸出,從設備數據輸入;
- SCLK:時鐘信號,由主設備產生;
- CS/SS:片選,從設備使能信號,由主設備控制。
連線時需要將控制器SDI/MISO、SDO/MOSI、SCLK和傳感器SDI/MISO、SDO/MOSI、SCLK對應連接,主設備CS/SS和從設備CS/SS分別對應連接,連線效果如下所示:
例如,驅動ADXL345三軸加速度傳感器,將控制器SDI/MISO、SDO/MOSI、SCLK、CS/SS和三軸加速度傳感器SDI/MISO、SDO/MOSI、SCLK、CS/SS對應連接
連線成功后即可使用控制器驅動三軸加速度傳感器。
總結
以上是生活随笔為你收集整理的和12岁小同志搞创客开发:如何驱动各类型传感器?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 和12岁小同志搞创客开发:如何选择合适的
- 下一篇: 和12岁小同志搞创客开发:Mind+编程