国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

使用ADS1115擴展ROC-RK3568-PC開發板ADC功能

電子發燒友開源社區 ? 來源:未知 ? 2022-11-18 09:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

通過ROC-RK3568-PC的官方資料,可以了解到,這塊板子,本身帶有ADC接口,具體信息如下:

81c7bc12-66dd-11ed-8abf-dac502259ad0.png

不過也了解到,板子本身提供的ADC接口,最大檢測電壓范圍是1.8V,所以在實際使用中,會有所局限。

剛好,我手頭有一個ADS1115 ADC模塊,相當的不錯,某寶某店家介紹如下:

81c7bc12-66dd-11ed-8abf-dac502259ad0.png

81f380e0-66dd-11ed-8abf-dac502259ad0.png

不吹不擂,這個ADS1115 ADC模塊,那是相當的好用。

一共提供了4個輸入通道,16bit的,精細度很高。

既然好用,那就要上咱們ROC-RK3568-PC開發板試一試。

一、硬件連線

ADS1115 ADC模塊是一個I2C模塊,根據開發板的資料,找到具體的I2C在GPIO擴展接口上的位置:

81fcbdea-66dd-11ed-8abf-dac502259ad0.png

板子上,GPIO擴展接口提供了多組I2C接口,選用I2C1即可。

826dd642-66dd-11ed-8abf-dac502259ad0.png

ADS1115模塊接線如下:

834c424c-66dd-11ed-8abf-dac502259ad0.jpg

最終實物連線后如下:

835ab1ce-66dd-11ed-8abf-dac502259ad0.jpg

在上圖中,使用了一塊迷你 IoT電源,用于提供不同的電壓,方便進行實際測試。電源要和開發板共地,然后,+連接到ADS1115的AIN0~3任一接口,上述圖中接在AIN0。

二、檢測I2C連接是否正常

使用sudo i2cdetect -r -y 1命令檢查連接:

839a444c-66dd-11ed-8abf-dac502259ad0.png

上圖中,48即為ADS1115的I2C地址0x48。如果沒有出現,仔細檢查接線是否正確。因為GPIO擴展接口是2.0的,我手頭的線都是2.54的,所以5V和GND接到了別的位置,免得擠得太緊。

三、編寫程序

Adafruit為ADS1115提供了開發庫:adafruit/Adafruit_ADS1X15: Driver for TI's ADS1015: 12-bit Differential or Single-Ended ADC with PGA and Comparator (github.com)

不過,該擴展庫,主要是給Arduino提供的,在咱們板子上,不能直接使用。

于是fork后,添加了Linux環境支持,已經發布到github:HonestQiao/Adafruit_ADS1X15: Driver for TI's ADS1015: 12-bit Differential or Single-Ended ADC with PGA and Comparator (github.com)

另外,還有Python版本的,是給CircuitPython提供的,有時間我也會fork一下,再提供Linux支持。

上面我修改后的庫,下載后,結構如下:

83b21d24-66dd-11ed-8abf-dac502259ad0.png

測試代碼具體如下:

#include "../../Adafruit_ADS1X15.h"


Adafruit_ADS1115 ads(); /* Use this for the 16-bit version */
// Adafruit_ADS1015 ads;   /* Use this for the 12-bit version */


void setup(void) {
 printf("Getting single-ended readings from AIN0..3");
 printf("ADC Range: +/- 6.144V (1 bit = 3mV/ADS1015, 0.1875mV/ADS1115)");


 if (!ads.begin(0x48, 1)) {
  // Serial.println("Failed to initialize ADS.");
  printf("Failed to initialize ADS.");
  while (1)
   ;
 }
}


void loop(void) {
 int16_t adc0, adc1, adc2, adc3;
 float volts0, volts1, volts2, volts3;


 adc0 = ads.readADC_SingleEnded(0);
 adc1 = ads.readADC_SingleEnded(1);
 adc2 = ads.readADC_SingleEnded(2);
 adc3 = ads.readADC_SingleEnded(3);


 volts0 = ads.computeVolts(adc0);
 volts1 = ads.computeVolts(adc1);
 volts2 = ads.computeVolts(adc2);
 volts3 = ads.computeVolts(adc3);
 printf("-----------------------------------------------------------
");
 printf("AIN0: %d %f V
", adc0, volts0);
 printf("AIN0: %d %f V
", adc1, volts1);
 printf("AIN0: %d %f V
", adc2, volts2);
 printf("AIN0: %d %f V
", adc3, volts3);


 delay(1000);
}


int main(int argc, char *argv[]) {
 setup();
 while (true) {
  loop();
 }
}

(左右移動查看全部內容)

上述代碼中,關鍵調用如下:

  • 實例化ADS1115對象:Adafruit_ADS1115 ads* 開啟設備I2C通信:ads.begin(0x48, 1),兩個參數,一個為ADS1115的地址0x48,一個為/dec/i2c-1的序號1

  • 讀取數據:ads.readADC_SingleEnded(0),表示讀取通道0的數據,也就是A0;可用通道為0~3

  • 電壓轉換:ads.computeVolts(adc0);表示轉換adc0的數據到實際的電壓值

四、編譯運行

編寫好代碼,保存后,使用下面的步驟編譯運行:

# 編譯
gcc -o singleended singleended.cpp ../../Adafruit_ADS1X15.cpp


# 查看編譯結果:aarch64
file singleended
singleended: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=be3e02ae2223c4431de1bdb70c6f942f9016d8fa, for GNU/Linux 3.7.0, not stripped


# 運行編譯后的程序
./singleended

(左右移動查看全部內容)

五、實際運行結果

當IoT電源沒有輸出的時候,結果如下:

83c111c6-66dd-11ed-8abf-dac502259ad0.jpg

83cf7428-66dd-11ed-8abf-dac502259ad0.png

打開IoT電源輸出,設定為4.2V,結果如下:

83e12402-66dd-11ed-8abf-dac502259ad0.jpg

83f375e4-66dd-11ed-8abf-dac502259ad0.png

84065ff6-66dd-11ed-8abf-dac502259ad0.png

可以看出,電壓的測量,精度還是很高的。

六、總結

使用ADS1115模塊,可以很方便的為 ROC-RK3568-PC開發板 擴展ADC功能,后續不管是接入按鍵,還是其他的模擬傳感器等,都會非常的方便。

更多熱點文章閱讀

  • 玩嗨OpenHarmony:基于OpenHarmony的智能助老服務機器人
  • 玩嗨OpenHarmony:基于OpenHarmony的智慧農業環境監控系統
  • HarmonyOS 3.1版本發布,全面進入聲明式開發
  • OpenHarmony開發之MQTT講解
  • OpenHarmony集成OCR三方庫實現文字提取

提示:本文由電子發燒友社區發布,轉載請注明以上來源。如需社區合作及入群交流,請添加微信EEFans0806,或者發郵箱liuyong@huaqiu.com。


原文標題:使用ADS1115擴展ROC-RK3568-PC開發板ADC功能

文章出處:【微信公眾號:電子發燒友開源社區】歡迎添加關注!文章轉載請注明出處。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 電子發燒友
    +關注

    關注

    34

    文章

    591

    瀏覽量

    34132
  • 開源社區
    +關注

    關注

    1

    文章

    95

    瀏覽量

    798

原文標題:使用ADS1115擴展ROC-RK3568-PC開發板ADC功能

文章出處:【微信號:HarmonyOS_Community,微信公眾號:電子發燒友開源社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    迅為驅動開發實戰:iTOP-RK3568開發板eDP屏幕移植全攻略

    迅為驅動開發實戰:iTOP-RK3568開發板eDP屏幕移植全攻略
    的頭像 發表于 12-30 15:42 ?895次閱讀
    迅為驅動<b class='flag-5'>開發</b>實戰:iTOP-<b class='flag-5'>RK3568</b><b class='flag-5'>開發板</b>eDP屏幕移植全攻略

    【迅為工業RK3568穩定可靠】itop-3568開發板Linux驅動開發實戰:RK3568內核模塊符號導出詳解

    【迅為工業RK3568穩定可靠】itop-3568開發板Linux驅動開發實戰:RK3568內核模塊符號導出詳解
    的頭像 發表于 11-21 13:25 ?1187次閱讀
    【迅為工業<b class='flag-5'>RK3568</b>穩定可靠】itop-<b class='flag-5'>3568</b><b class='flag-5'>開發板</b>Linux驅動<b class='flag-5'>開發</b>實戰:<b class='flag-5'>RK3568</b>內核模塊符號導出詳解

    【迅為工業RK3568穩定可靠】itop-3568開發板驅動開發第4章驅動模塊傳參實驗

    【迅為工業RK3568穩定可靠】itop-3568開發板驅動開發第4章驅動模塊傳參實驗
    的頭像 發表于 11-06 14:25 ?373次閱讀
    【迅為工業<b class='flag-5'>RK3568</b>穩定可靠】itop-<b class='flag-5'>3568</b><b class='flag-5'>開發板</b>驅動<b class='flag-5'>開發</b>第4章驅動模塊傳參實驗

    【作品合集】合眾HZ-RK3568開發板測評

    合眾HZ-RK3568開發板測評作品合集 產品介紹: HZ-EVM-RK3568開發板采用核心+底板組合形式設計,兩者通過四個80PIN穩
    發表于 09-10 10:22

    迅為RK3568開發板模型推理測試實戰LPRNet?車牌識別

    迅為RK3568開發板模型推理測試實戰LPRNet 車牌識別
    的頭像 發表于 08-25 14:55 ?1310次閱讀
    迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開發板</b>模型推理測試實戰LPRNet?車牌識別

    【HZ-RK3568開發板免費體驗】合眾HZ-RK3568開發板初次使用

    一、引言 開發板收到有段時間了,前段時間一直在下載官方提供的一些資料,SDK包內容豐富,完全下載完可能不太現實,資料包受官方版權聲明,這里不便提供分享鏈接。 開發板支持2路Ethernet、2路
    發表于 07-27 23:52

    RK3568 EVB開發板 深度休眠與快速醒的工作流程

    RK3568 EVB開發板關于深度休眠和喚醒流程的分析
    的頭像 發表于 07-22 09:49 ?849次閱讀
    <b class='flag-5'>RK3568</b> EVB<b class='flag-5'>開發板</b> 深度休眠與快速醒的工作流程

    【HZ-RK3568開發板免費體驗】1、開發板資源、SDK使用和鏡像燒寫

    試用的開發板是合眾恒躍的HZ_EVM_3568開發板RK3568 是一顆高性能、低功耗的四核應用處理器芯片,專為個人移動互聯網設備、AIoT 和工業領域設備而設計。
    發表于 07-21 20:52

    RK3568開發板暗藏32位兼容開關?飛凌嵌入式帶你一鍵解鎖!

    RK3568是一款64位處理器,飛凌嵌入式為其提供的交叉編譯器也是64位的,然而部分用戶可能需要在RK3568開發板上運行32位應用。本文將詳細闡述如何使用32位交叉編譯器,編譯出32位應用,并使其能夠在飛凌嵌入式
    的頭像 發表于 07-19 08:49 ?4387次閱讀
    <b class='flag-5'>RK3568</b><b class='flag-5'>開發板</b>暗藏32位兼容開關?飛凌嵌入式帶你一鍵解鎖!

    技術分享 | 迅為RK3568開發板如何將 Linux 板卡虛擬成U盤

    技術分享 | 迅為RK3568開發板如何將 Linux 板卡虛擬成U盤
    的頭像 發表于 06-04 10:57 ?1117次閱讀
    技術分享 | 迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開發板</b>如何將 Linux 板卡虛擬成U盤

    迅為RK3568開發板驅動指南GPIO子系統GPIO子系統API函數的引入

    迅為RK3568開發板驅動指南GPIO子系統GPIO子系統API函數的引入
    的頭像 發表于 05-29 14:05 ?1016次閱讀
    迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開發板</b>驅動指南GPIO子系統GPIO子系統API函數的引入

    迅為RK3568開發板驅動指南GPIO子系統三級節點操作函數實驗

    迅為RK3568開發板驅動指南GPIO子系統三級節點操作函數實驗
    的頭像 發表于 05-26 15:39 ?1519次閱讀
    迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開發板</b>驅動指南GPIO子系統三級節點操作函數實驗

    一文掌握RK3568開發板Android13掛載Windows共享目錄

    在物聯網和邊緣計算場景中,開發板PC端的高效文件交互尤為重要。現以iTOP-RK3568開發板為例,詳細演示Android13系統如何通過CIFS協議掛載Windows共享目錄,實現
    的頭像 發表于 04-17 13:54 ?1207次閱讀
    一文掌握<b class='flag-5'>RK3568</b><b class='flag-5'>開發板</b>Android13掛載Windows共享目錄

    RK3568開發板教程:以iTOP-RK3568開發板為例 Android13通過CIFS協議掛載Windows共享目錄

    開發板PC端的高效文件交互尤為重要。現以iTOP-RK3568開發板為例,詳細演示Android13系統如何通過CIFS協議掛載Windows共享目錄,實現
    的頭像 發表于 04-16 14:08 ?1847次閱讀
    <b class='flag-5'>RK3568</b><b class='flag-5'>開發板</b>教程:以iTOP-<b class='flag-5'>RK3568</b><b class='flag-5'>開發板</b>為例 Android13通過CIFS協議掛載Windows共享目錄

    北京迅為RK3568開發板OpenHarmony系統南向驅動開發內核HDF驅動框架架構

    北京迅為RK3568開發板OpenHarmony系統南向驅動開發內核HDF驅動框架架構
    的頭像 發表于 03-11 14:13 ?1850次閱讀
    北京迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開發板</b>OpenHarmony系統南向驅動<b class='flag-5'>開發</b>內核HDF驅動框架架構