一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用ADS1115擴(kuò)展ROC-RK3568-PC開發(fā)板ADC功能

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

掃碼添加小助手

加入工程師交流群

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

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

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

剛好,我手頭有一個(gè)ADS1115 ADC模塊,相當(dāng)?shù)牟诲e(cuò),某寶某店家介紹如下:

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

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

不吹不擂,這個(gè)ADS1115 ADC模塊,那是相當(dāng)?shù)暮糜谩?/p>

一共提供了4個(gè)輸入通道,16bit的,精細(xì)度很高。

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

一、硬件連線

ADS1115 ADC模塊是一個(gè)I2C模塊,根據(jù)開發(fā)板的資料,找到具體的I2C在GPIO擴(kuò)展接口上的位置:

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

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

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

ADS1115模塊接線如下:

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

最終實(shí)物連線后如下:

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

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

二、檢測(cè)I2C連接是否正常

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

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

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

三、編寫程序

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

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

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

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

上面我修改后的庫,下載后,結(jié)構(gòu)如下:

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

測(cè)試代碼具體如下:

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

(左右移動(dòng)查看全部內(nèi)容)

上述代碼中,關(guān)鍵調(diào)用如下:

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

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

  • 電壓轉(zhuǎn)換:ads.computeVolts(adc0);表示轉(zhuǎn)換adc0的數(shù)據(jù)到實(shí)際的電壓值

四、編譯運(yùn)行

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

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


# 查看編譯結(jié)果: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


# 運(yùn)行編譯后的程序
./singleended

(左右移動(dòng)查看全部內(nèi)容)

五、實(shí)際運(yùn)行結(jié)果

當(dāng)IoT電源沒有輸出的時(shí)候,結(jié)果如下:

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

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

打開IoT電源輸出,設(shè)定為4.2V,結(jié)果如下:

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

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

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

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

六、總結(jié)

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

更多熱點(diǎn)文章閱讀

  • 玩嗨OpenHarmony:基于OpenHarmony的智能助老服務(wù)機(jī)器人
  • 玩嗨OpenHarmony:基于OpenHarmony的智慧農(nóng)業(yè)環(huán)境監(jiān)控系統(tǒng)
  • HarmonyOS 3.1版本發(fā)布,全面進(jìn)入聲明式開發(fā)
  • OpenHarmony開發(fā)之MQTT講解
  • OpenHarmony集成OCR三方庫實(shí)現(xiàn)文字提取

提示:本文由電子發(fā)燒友社區(qū)發(fā)布,轉(zhuǎn)載請(qǐng)注明以上來源。如需社區(qū)合作及入群交流,請(qǐng)?zhí)砑游⑿臙EFans0806,或者發(fā)郵箱liuyong@huaqiu.com。


原文標(biāo)題:使用ADS1115擴(kuò)展ROC-RK3568-PC開發(fā)板ADC功能

文章出處:【微信公眾號(hào):電子發(fā)燒友開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 電子發(fā)燒友
    +關(guān)注

    關(guān)注

    33

    文章

    566

    瀏覽量

    33507
  • 開源社區(qū)
    +關(guān)注

    關(guān)注

    0

    文章

    95

    瀏覽量

    625

原文標(biāo)題:使用ADS1115擴(kuò)展ROC-RK3568-PC開發(fā)板ADC功能

文章出處:【微信號(hào):HarmonyOS_Community,微信公眾號(hào):電子發(fā)燒友開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    技術(shù)分享 | 迅為RK3568開發(fā)板如何將 Linux 板卡虛擬成U盤

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

    迅為RK3568開發(fā)板驅(qū)動(dòng)指南GPIO子系統(tǒng)GPIO子系統(tǒng)API函數(shù)的引入

    迅為RK3568開發(fā)板驅(qū)動(dòng)指南GPIO子系統(tǒng)GPIO子系統(tǒng)API函數(shù)的引入
    的頭像 發(fā)表于 05-29 14:05 ?443次閱讀
    迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>驅(qū)動(dòng)指南GPIO子系統(tǒng)GPIO子系統(tǒng)API函數(shù)的引入

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

    在物聯(lián)網(wǎng)和邊緣計(jì)算場景中,開發(fā)板PC端的高效文件交互尤為重要?,F(xiàn)以iTOP-RK3568開發(fā)板為例,詳細(xì)演示Android13系統(tǒng)如何通過CIFS協(xié)議掛載Windows共享目錄,實(shí)現(xiàn)
    的頭像 發(fā)表于 04-17 13:54 ?436次閱讀
    一文掌握<b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>Android13掛載Windows共享目錄

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

    開發(fā)板PC端的高效文件交互尤為重要?,F(xiàn)以iTOP-RK3568開發(fā)板為例,詳細(xì)演示Android13系統(tǒng)如何通過CIFS協(xié)議掛載Windows共享目錄,實(shí)現(xiàn)
    的頭像 發(fā)表于 04-16 14:08 ?791次閱讀
    <b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>教程:以iTOP-<b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>為例 Android13通過CIFS協(xié)議掛載Windows共享目錄

    北京迅為RK3568開發(fā)板OpenHarmony系統(tǒng)南向驅(qū)動(dòng)開發(fā)內(nèi)核HDF驅(qū)動(dòng)框架架構(gòu)

    北京迅為RK3568開發(fā)板OpenHarmony系統(tǒng)南向驅(qū)動(dòng)開發(fā)內(nèi)核HDF驅(qū)動(dòng)框架架構(gòu)
    的頭像 發(fā)表于 03-11 14:13 ?1099次閱讀
    北京迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>OpenHarmony系統(tǒng)南向驅(qū)動(dòng)<b class='flag-5'>開發(fā)</b>內(nèi)核HDF驅(qū)動(dòng)框架架構(gòu)

    【技術(shù)分享】迅為RK3568開發(fā)板使用TFTP加載內(nèi)核設(shè)備樹

    【技術(shù)分享】迅為RK3568開發(fā)板使用TFTP加載內(nèi)核設(shè)備樹
    的頭像 發(fā)表于 02-21 14:04 ?688次閱讀
    【技術(shù)分享】迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>使用TFTP加載內(nèi)核設(shè)備樹

    迅為RK3568開發(fā)板驅(qū)動(dòng)指南Linux中通用SPI設(shè)備驅(qū)動(dòng)

    迅為RK3568開發(fā)板驅(qū)動(dòng)指南Linux中通用SPI設(shè)備驅(qū)動(dòng)
    的頭像 發(fā)表于 01-23 11:02 ?2788次閱讀
    迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>驅(qū)動(dòng)指南Linux中通用SPI設(shè)備驅(qū)動(dòng)

    [迅為RK3568開發(fā)板]非科班也能玩轉(zhuǎn)Android應(yīng)用,體驗(yàn)QT跨平臺(tái)能力

    [迅為RK3568開發(fā)板]非科班也能玩轉(zhuǎn)Android應(yīng)用,體驗(yàn)QT跨平臺(tái)能力
    的頭像 發(fā)表于 12-18 16:41 ?927次閱讀
    [迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>]非科班也能玩轉(zhuǎn)Android應(yīng)用,體驗(yàn)QT跨平臺(tái)能力

    【迅為電子】叮!您的RK3568開發(fā)板系統(tǒng)鏡像備份方法請(qǐng)查收

    【迅為電子】叮!您的RK3568開發(fā)板系統(tǒng)鏡像備份方法請(qǐng)查收
    的頭像 發(fā)表于 11-27 14:02 ?1085次閱讀
    【迅為電子】叮!您的<b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>系統(tǒng)鏡像備份方法請(qǐng)查收

    迅為RK3568開發(fā)板定制擴(kuò)展分區(qū)SDK源碼編譯-獲取Linux-定制擴(kuò)展分區(qū)源碼包

    、ubuntu24 環(huán)境均可在不進(jìn)行任何配置的情況下編譯編譯通過。 Linux-定制擴(kuò)展分區(qū)源碼網(wǎng)盤下載路徑:“iTOP-3568 開發(fā)板\\\\01_【iTOP-RK3568
    發(fā)表于 11-25 10:24

    基于迅為RK3568開發(fā)板全國產(chǎn)平臺(tái),快速實(shí)現(xiàn)APP開機(jī)自啟動(dòng)技術(shù)分享

    基于迅為RK3568開發(fā)板全國產(chǎn)平臺(tái),快速實(shí)現(xiàn)APP開機(jī)自啟動(dòng)技術(shù)分享
    的頭像 發(fā)表于 11-21 13:58 ?935次閱讀
    基于迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>全國產(chǎn)平臺(tái),快速實(shí)現(xiàn)APP開機(jī)自啟動(dòng)技術(shù)分享

    【迅為】瑞芯微RK3588開發(fā)板RK3568開發(fā)板區(qū)別及優(yōu)勢(shì)

    RK3568開發(fā)板
    的頭像 發(fā)表于 11-18 14:19 ?1458次閱讀
    【迅為】瑞芯微<b class='flag-5'>RK</b>3588<b class='flag-5'>開發(fā)板</b><b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>區(qū)別及優(yōu)勢(shì)

    能力再次提升! 迅為RK3588/RK3568開發(fā)板&amp;amp;核心新增定制分區(qū)鏡像

    能力再次提升! 迅為RK3588/RK3568開發(fā)板&核心新增定制分區(qū)鏡像
    的頭像 發(fā)表于 11-06 15:11 ?1411次閱讀
    能力再次提升! 迅為<b class='flag-5'>RK</b>3588/<b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>&amp;amp;核心<b class='flag-5'>板</b>新增定制分區(qū)鏡像

    迅為iTOP-RK3568/RK3588開發(fā)板獲麒麟軟件適配認(rèn)證

    迅為iTOP-RK3568/RK3588開發(fā)板獲麒麟軟件適配認(rèn)證
    的頭像 發(fā)表于 10-18 14:56 ?1206次閱讀
    迅為iTOP-<b class='flag-5'>RK3568</b>/<b class='flag-5'>RK</b>3588<b class='flag-5'>開發(fā)板</b>獲麒麟軟件適配認(rèn)證

    北京迅為RK3568開發(fā)板嵌入式學(xué)習(xí)之Linux驅(qū)動(dòng)全新更新-CAN+

    北京迅為RK3568開發(fā)板嵌入式學(xué)習(xí)之Linux驅(qū)動(dòng)全新更新-CAN+
    的頭像 發(fā)表于 09-04 15:29 ?1032次閱讀
    北京迅為<b class='flag-5'>RK3568</b><b class='flag-5'>開發(fā)板</b>嵌入式學(xué)習(xí)之Linux驅(qū)動(dòng)全新更新-CAN+