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

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

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

如何將PCF8591 ADC模塊與Raspberry Pi連接

科技觀察員 ? 來(lái)源:circuitdigest ? 作者:Abhishek Sharma ? 2022-08-26 15:58 ? 次閱讀

模數(shù)轉(zhuǎn)換在嵌入式電子產(chǎn)品中是一項(xiàng)非常重要的任務(wù),因?yàn)榇蠖鄶?shù)傳感器模擬值的形式提供輸出并將它們饋送到只理解二進(jìn)制值的微控制器,我們必須將它們轉(zhuǎn)換為數(shù)字值。因此,為了能夠處理模擬數(shù)據(jù),微控制器需要模數(shù)轉(zhuǎn)換器。

在本教程中,我們將學(xué)習(xí)如何將 PCF8591 ADC/DAC 模塊與 Raspberry Pi 連接。

所需組件

樹(shù)莓派

PCF8591 ADC模塊

100K 鍋

跨接電纜

假設(shè)您安裝了最新的 Raspbian OS 的 Raspberry Pi,并且您知道如何使用 putty 等終端軟件通過(guò) SSH 連接到 Pi。如果您是 Raspberry Pi 新手,請(qǐng)按照本文 開(kāi)始使用 Raspberry Pi。盡管如此,如果您遇到任何問(wèn)題,那么有大量的 Raspberry Pi 教程 可以提供幫助。

PCF8591 ADC/DAC 模塊

PCF8591 是一個(gè) 8 位模數(shù)或 8 位數(shù)模轉(zhuǎn)換器模塊,這意味著每個(gè)引腳可以讀取高達(dá) 256 的模擬值。它還具有 LDR 和板上提供的熱敏電阻電路。該模塊有四個(gè)模擬輸入和一個(gè)模擬輸出。它適用于I 2 C 通信,因此有用于串行時(shí)鐘和串行數(shù)據(jù)地址的 SCL 和 SDA 引腳。它需要2.5-6V的電源電壓并且具有低待機(jī)電流。我們也可以通過(guò)調(diào)節(jié)模塊上電位器的旋鈕來(lái)控制輸入電壓。板上還有三個(gè)跳線。J4接選擇熱敏電阻接入電路,J5接選擇LDR/光敏電阻接入電路J6連接選擇可調(diào)電壓接入電路。板上有兩個(gè) LED D1 和 D2-D1 顯示輸出電壓強(qiáng)度,D2 顯示電源電壓強(qiáng)度。輸出或電源電壓越高,LED D1 或 D2 的強(qiáng)度越高。您還可以使用 VCC 或 AOUT 引腳上的電位器來(lái)測(cè)試這些 LED。

poYBAGMIfOCAeCLFAAKC_eziIIE366.png

Raspberry Pi 中的 I2C 引腳

為了將PCF8591與 Raspberry Pi 一起使用,首先要做的是了解 Raspberry Pi I2C 端口引腳并在 Raspberry pi 中配置 I2C 端口。

下面是樹(shù)莓派 3 Model B+ 的引腳圖, 本教程使用I2C 引腳 GPIO2 (SDA) 和 GPIO3 (SCL) 。

在樹(shù)莓派中配置 I2C

默認(rèn)情況下,I2C 在 Raspberry Pi 中是禁用的。所以首先必須啟用它。在 Raspberry Pi 中啟用 I2C

1. 轉(zhuǎn)到終端并鍵入 sudo raspi-config。

2. 現(xiàn)在樹(shù)莓派軟件配置工具出現(xiàn)了。

3. 選擇 接口選項(xiàng) ,然后啟用 I2C。

poYBAGMIfN2AUQqyAABf8k3uFr0764.png

4. 啟用 I2C 后重啟 Pi。

使用樹(shù)莓派掃描 PCF8591 的 I2C 地址

現(xiàn)在為了開(kāi)始與 PCF8591 IC 通信,Raspberry Pi 必須知道它的 I2C 地址。要找到地址,首先將 PCF8591 的 SDA 和 SCL 引腳連接到 Raspberry Pi 的 SDA 和 SCL 引腳。還要連接 +5V 和 GND 引腳。

現(xiàn)在打開(kāi)終端并輸入以下命令以了解連接的 I2C 設(shè)備的地址,

sudo i2cdetect –y 1 或 sudo i2cdetect –y 0

現(xiàn)在找到 I2C 地址后,是時(shí)候構(gòu)建電路并安裝必要的庫(kù)了,以便將 PCF8591 與 Raspberry Pi 一起使用。

將 PCF8591 ADC/DAC 模塊與 Raspberry Pi 連接

PCF8591與樹(shù)莓派接口的電路圖很簡(jiǎn)單。在這個(gè)接口示例中,我們將從任何模擬引腳讀取模擬值并將其顯示在 Raspberry Pi 終端上。我們可以使用 100K 的罐子來(lái)更改這些值。

poYBAGMIfNeAIwmLAADv9nzg8jQ340.png

poYBAGMIfNOAFfisAAWeTRBIup0871.png

將 VCC 和 GND 連接到樹(shù)莓派的 GPIO2 和 GPIO。接下來(lái),將 SDA 和 SCL 分別連接到 GPIO3 和 GPIO5。最后用AIN0連接一個(gè)100K的電位器。您還可以添加16x2 LCD來(lái)顯示 ADC 值,而不是在終端上顯示。

用于模數(shù)轉(zhuǎn)換 (ADC) 的 Python 程序

首先,導(dǎo)入用于I2 C 總線通信的smbus庫(kù)和時(shí)間庫(kù),以在打印值之間提供休眠時(shí)間。

導(dǎo)入 smbus
導(dǎo)入時(shí)間

現(xiàn)在定義一些變量。第一個(gè)變量包含 I2C 總線的地址,第二個(gè)變量包含第一個(gè)模擬輸入引腳的地址。

地址 = 0x48 
A0 = 0x40

接下來(lái),我們制作了庫(kù) smbus 的函數(shù) SMBus(1) 的對(duì)象

總線 = smbus.SMBus(1)

現(xiàn)在,第一行告訴 IC 在第一個(gè)模擬輸入引腳上進(jìn)行模擬測(cè)量。第二行將在模擬引腳讀取的地址存儲(chǔ)在變量值中。最后打印值。

while True: 
    bus.write_byte(address,A0) 
    value = bus.read_byte(address) 
    print(value) time.sleep 
    (0.1)

現(xiàn)在終于將 python 代碼保存在帶有 .py 擴(kuò)展名的文件中,并使用以下命令在樹(shù)莓派終端中運(yùn)行代碼“

蟒蛇文件名.py

現(xiàn)在終于將 python 代碼保存在帶有 .py 擴(kuò)展名的文件中,并使用以下命令在樹(shù)莓派終端中運(yùn)行代碼“

在運(yùn)行代碼之前,請(qǐng)確保您已啟用 I 2 C 通信并且所有引腳都如圖所示連接,否則會(huì)顯示錯(cuò)誤。模擬值必須開(kāi)始顯示在終端上,如下所示。調(diào)整鍋的旋鈕,你會(huì)看到數(shù)值的逐漸變化。

pYYBAGMIfM6AYQlrAABQTy37pq0375.png

import smbus

導(dǎo)入時(shí)間

地址 = 0x48

總線 = smbus.SMBus(1)


while True:

bus.write_byte(address,A0)

value = bus.read_byte(address)

print(value) time.sleep

(0.1)

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

    關(guān)注

    98

    文章

    6395

    瀏覽量

    543788
  • 模數(shù)轉(zhuǎn)換器

    關(guān)注

    26

    文章

    3100

    瀏覽量

    126699
  • PCF8591
    +關(guān)注

    關(guān)注

    3

    文章

    67

    瀏覽量

    32740
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    PCF8591 DA轉(zhuǎn)換

    想通過(guò)PCF8591芯片 進(jìn)行DA轉(zhuǎn)換 在1V開(kāi)始 隔一秒輸出加1V 應(yīng)該怎么寫(xiě)程序 沒(méi)弄懂PCF8591的工作原理還望大神賜教
    發(fā)表于 10-04 16:09

    PCF8591是什么?怎樣去設(shè)計(jì)PCF8591電路?

    PCF8591是什么?怎樣去設(shè)計(jì)PCF8591電路?如何去編寫(xiě)ADC/DAC模塊函數(shù)代碼?
    發(fā)表于 07-19 08:56

    PCF8591ADC與DAC分別是什么意思

    PCF8591ADC與DAC分別是什么意思?它們之間有何關(guān)系呢?
    發(fā)表于 02-14 07:36

    PCF8591中文數(shù)據(jù)手冊(cè)

    PCF8591是一個(gè)單片集成、單獨(dú)供電、低功耗、8-bit CMOS數(shù)據(jù)獲取器件。PCF8591具有4個(gè)模擬輸入、1個(gè)模擬輸出和1個(gè)串行IC總線接口。PCF8591的3個(gè)地址引腳A0, A1和A2可用于硬件地址編程,允許在
    發(fā)表于 03-22 15:41 ?1742次下載
    <b class='flag-5'>PCF8591</b>中文數(shù)據(jù)手冊(cè)

    PCF8591英文數(shù)據(jù)手冊(cè)

    PCF8591英文數(shù)據(jù)手冊(cè),有興趣的同學(xué)可以下載學(xué)習(xí)
    發(fā)表于 04-25 18:24 ?0次下載

    PCF8591驅(qū)動(dòng)程序

    PCF8591驅(qū)動(dòng)程序 51單片機(jī)程序
    發(fā)表于 08-31 16:11 ?30次下載

    基于8051的Proteus仿真-PCF8591模數(shù)與數(shù)模轉(zhuǎn)換

    基于8051的Proteus仿真-PCF8591模數(shù)與數(shù)模轉(zhuǎn)換實(shí)驗(yàn)
    發(fā)表于 05-12 10:18 ?204次下載

    PCF8591 AD電壓采集仿真程序 電壓表仿真設(shè)計(jì) PCF85

    PCF8591 AD電壓采集仿真程序 電壓表仿真設(shè)計(jì) PCF8591模擬量采集
    發(fā)表于 01-14 22:32 ?63次下載

    PCF8591 ADC和DAC芯片的數(shù)據(jù)手冊(cè)免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是PCF8591 ADC和DAC芯片的數(shù)據(jù)手冊(cè)免費(fèi)下載主要內(nèi)容包括了:YL-40 AD模塊使用說(shuō)明,四路采集串口顯示程序,Commix串口調(diào)試助手,YL-40模塊
    發(fā)表于 07-15 08:00 ?70次下載
    <b class='flag-5'>PCF8591</b> <b class='flag-5'>ADC</b>和DAC芯片的數(shù)據(jù)手冊(cè)免費(fèi)下載

    微雪電子ADC DAC AD DA轉(zhuǎn)換PCF8591 PCF8591T簡(jiǎn)介

    PCF8591 AD DA轉(zhuǎn)換模塊 I2C接口 8位精度 四通道AD 單通道DA 電壓輸出型 型號(hào) PCF8591 AD DA Board
    的頭像 發(fā)表于 12-30 09:59 ?3165次閱讀
    微雪電子<b class='flag-5'>ADC</b> DAC AD DA轉(zhuǎn)換<b class='flag-5'>PCF8591</b> <b class='flag-5'>PCF8591</b>T簡(jiǎn)介

    PCF8591的原理圖與電路圖解析

    PCF8591是一個(gè)單電源低功耗的8位CMOS數(shù)據(jù)采集器件,其接口電路的工作原理圖,PCF8591原理圖與PCF8591電路圖。
    的頭像 發(fā)表于 02-20 01:18 ?4.8w次閱讀
    <b class='flag-5'>PCF8591</b>的原理圖與電路圖解析

    藍(lán)橋杯單片機(jī)組IIC總線PCF8591

    一,PCF8591——ADC先上干貨//Control_byte:控制字節(jié)u8 read_pcf8591(Control_byte)//讀pcf8591,讀取轉(zhuǎn)換通道的轉(zhuǎn)換值{ u8
    發(fā)表于 12-14 19:01 ?5次下載
    藍(lán)橋杯單片機(jī)組IIC總線<b class='flag-5'>PCF8591</b>

    單片機(jī):PCF8591 應(yīng)用程序

    文章目錄PCF8591 應(yīng)用程序PCF8591 應(yīng)用程序PCF8591 的通信接口是 I2C,那么編程肯定是要符合這個(gè)協(xié)議的。單片機(jī)對(duì) PCF8591 進(jìn)行初始化,一共發(fā)送三個(gè)字節(jié)即可
    發(fā)表于 01-18 10:38 ?28次下載
    單片機(jī):<b class='flag-5'>PCF8591</b> 應(yīng)用程序

    PCF8591 ADC與Arduino連接的方法

    在本教程中,我們檢查 如何將 PCF8591 ADC/DAC 模塊與 Arduino 連接。
    發(fā)表于 08-26 15:18 ?3952次閱讀
    <b class='flag-5'>將</b><b class='flag-5'>PCF8591</b> <b class='flag-5'>ADC</b>與Arduino<b class='flag-5'>連接</b>的方法

    Linux驅(qū)動(dòng)開(kāi)發(fā)-編寫(xiě)PCF8591(ADC)芯片驅(qū)動(dòng)

    PCF8591是一個(gè)IIC總線接口的ADC/DAC轉(zhuǎn)換芯片,功能比較強(qiáng)大,這篇文章就介紹在Linux系統(tǒng)里如何編寫(xiě)一個(gè)PCF8591的驅(qū)動(dòng),完成ADC數(shù)據(jù)采集,DAC數(shù)據(jù)輸出。
    的頭像 發(fā)表于 09-17 15:16 ?2024次閱讀
    Linux驅(qū)動(dòng)開(kāi)發(fā)-編寫(xiě)<b class='flag-5'>PCF8591</b>(<b class='flag-5'>ADC</b>)芯片驅(qū)動(dòng)