色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

如何將柔性傳感器與樹莓派連接并在LCD屏幕上顯示其值

科技觀察員 ? 來源:circuitdigest ? 作者:阿斯文斯·拉吉 ? 2022-12-31 09:33 ? 次閱讀

Raspberry Pi是一款基于ARM架構(gòu)處理器的主板,專為電子工程師和業(yè)余愛好者設(shè)計(jì)。PI是目前最值得信賴的項(xiàng)目開發(fā)平臺(tái)之一。憑借更高的處理器速度和 1 GB RAM,PI 可用于許多備受矚目的項(xiàng)目,如圖像處理和物聯(lián)網(wǎng)。PI可以做很多很酷的事情,但一個(gè)可悲的功能是它沒有內(nèi)置的ADC模塊。

在這個(gè)項(xiàng)目中,我們將學(xué)習(xí)如何將柔性傳感器樹莓派連接并在LCD屏幕上顯示其值。

所需材料:

樹莓派(任何型號(hào))

ADC0804 集成電路

16*2液晶顯示屏

柔性傳感器

電阻器電容器

面包板或性能板。

ADC0804 單通道 8 位 ADC 模塊:

在繼續(xù)之前,讓我們了解一下這款A(yù)DC0804 IC,以及如何將其與樹莓派配合使用。ADC0804是一款單通道8位IC,這意味著它可以讀取單個(gè)ADC值并將其映射到8位數(shù)字?jǐn)?shù)據(jù)。這些 8 位數(shù)字?jǐn)?shù)據(jù)可以被樹莓派讀取,因此值將是 0-255,因?yàn)?2^8 是 256。如下面IC的引腳排列所示,引腳DB0至DB7用于讀取這些數(shù)字值。

poYBAGOs7n-ATRdCAABJc5HV-08457.gif

現(xiàn)在,另一個(gè)重要的事情是,ADC0804工作在5V,因此它提供5V邏輯信號(hào)輸出。在8引腳輸出(代表8位)中,每個(gè)引腳提供+5V輸出以表示邏輯“1”。所以問題是PI邏輯是+3.3V,所以你不能給PI的+3.3VGPIO引腳提供+5V邏輯。如果為PI的任何GPIO引腳提供+5V,電路板就會(huì)損壞。

因此,為了從+5V降壓邏輯電平,我們將使用分壓器電路。我們之前已經(jīng)討論了分壓器電路,以進(jìn)一步澄清。我們要做的是,我們使用兩個(gè)電阻將+5V邏輯分頻為2*2.5V邏輯。因此,除法后,我們將為樹莓派提供+2.5v邏輯。因此,每當(dāng)ADC0804提供邏輯“1”時(shí),PI GPIO引腳上都會(huì)看到+2.5V,而不是+5V。在此處了解有關(guān)ADC的更多信息:ADC0804簡介。

以下是我們在Perf板上構(gòu)建的采用ADC0804的ADC模塊的圖片:

pYYBAGOs7oGADuDWAACRJl3jwEU281.jpg

電路圖及說明:

柔性傳感器與樹莓派接口的完整電路圖如下所示。解釋如下。

poYBAGOs7oOAckluAACwAYLFjKs909.png

這個(gè)樹莓派柔性傳感器電路可能看起來有點(diǎn)復(fù)雜,有很多電線,但如果你仔細(xì)觀察,大多數(shù)電線都直接從LCD和8位數(shù)據(jù)引腳連接到樹莓派。下表將幫助您建立和驗(yàn)證連接。

引腳名稱 覆盆子別針編號(hào) 樹莓派 GPIO 名稱
液晶屏與液晶屏 引腳 4
液晶顯示器 Vdd 引腳 6 伏直流 (+5V)
液晶 V 形 引腳 4
液晶顯示器 Rs 引腳 38 GPIO 20
液晶顯示器 RW 引腳 39
液晶顯示器 E 引腳 40 GPIO 21
液晶屏 D4 引腳 3 GPIO 2
液晶屏 D5 引腳 5 GPIO 3
液晶屏 D6 引腳 7 GPIO 4
液晶屏 D7 引腳 11 GPIO 17
ADC0804 虛擬交流系統(tǒng) 引腳 2 伏直流 (+5V)
ADC0804 B0 引腳 19(至 5.1K) GPIO 10
ADC0804 B1 引腳 21(至 5.1K) GPIO 9
ADC0804 B2 引腳 23(至 5.1K) GPIO 11
ADC0804 B3 引腳 29(至 5.1K) GPIO 5
ADC0804 B4 引腳 31(至 5.1K) GPIO 6
ADC0804 B5 引腳 33(至 5.1K) GPIO 13
ADC0804 B6 引腳 35(至 5.1K) GPIO 19
ADC0804 B7 引腳 37(至 5.1K) GPIO 26
ADC0804 WR/INTR 引腳 15 GPIO 22

您可以使用下圖來確定樹莓上的引腳編號(hào)。

pYYBAGOs7oaABZ7xAAA8Mxok4OY526.png

與所有ADC模塊一樣,ADC0804 IC也需要時(shí)鐘信號(hào)才能工作,幸運(yùn)的是該IC具有內(nèi)部時(shí)鐘源,因此我們只需將RC電路添加到CLK輸入和CLK R引腳,如圖所示。我們使用了 10K 和 105pf 的值,但我們可以使用任何接近的值,例如 1uf、0.1uf、0.01uf 也應(yīng)該有效。

然后,為了連接Flex傳感器,我們使用了一個(gè)使用100K電阻的分壓器電路。當(dāng) Flex 傳感器彎曲時(shí),其兩端的電阻會(huì)發(fā)生變化,電阻兩端的電位降也會(huì)發(fā)生變化。該壓降由ADC0804 IC測量,并相應(yīng)地生成8位數(shù)據(jù)。

poYBAGOs7omAXHUGAADfq3ODGmU491.jpg

對(duì)樹莓派進(jìn)行編程

完成連接后,我們應(yīng)該使用 Raspberry Pi 讀取這些 8 位的狀態(tài)并將它們轉(zhuǎn)換為十進(jìn)制,以便我們可以使用它們。本頁末尾給出了用于執(zhí)行相同操作并在LCD屏幕上顯示結(jié)果值的程序。此外,代碼在下面解釋為小垃圾。

我們需要一個(gè) LCD庫來將 LCD 與 Pi 連接。為此,我們使用 shubham 開發(fā)的庫,它將幫助我們在四線模式下將 16*2 LCD 顯示器與 Pi 連接。此外,我們還需要庫來利用時(shí)間和 Pi GPIO 引腳。

注意:lcd.py 應(yīng)從此處下載,并放置在保存此程序的同一目錄中。只有這樣,代碼才會(huì)編譯。

import lcd #Import the LCD library by shubham@electro-passion.com
import time #Import time
import RPi.GPIO as GPIO #GPIO will be reffered as GPIO only

LCD引腳定義分配給變量,如下所示。請注意,這些數(shù)字是 GPIO 引腳編號(hào),而不是實(shí)際引腳編號(hào)。可以使用上表將 GPIO 編號(hào)與引腳編號(hào)進(jìn)行比較。數(shù)組二進(jìn)制文件將包括所有數(shù)據(jù)引腳編號(hào),數(shù)組位將存儲(chǔ)所有 GPIO 引腳的結(jié)果值。

#LCD pin definitions
D4=2
D5=3
D6=4
D7=17
RS=20
EN=21

binarys = (10,9,11,5,6,13,19,26) #Array of pin numbers connect to DB0-DB7

bits = [0,0,0,0,0,0,0,0] #resulting values of 8-bit data
現(xiàn)在,我們必須定義輸入和輸出引腳。七個(gè)數(shù)據(jù)引腳將是輸入引腳,觸發(fā)引腳(RST 和 INTR)將是輸出引腳。只有當(dāng)我們根據(jù)數(shù)據(jù)表觸發(fā)輸出引腳在特定時(shí)間內(nèi)為高電平時(shí),我們才能從輸入引腳讀取 8 位數(shù)據(jù)值。由于我們已經(jīng)在二進(jìn)制數(shù)組中聲明了二進(jìn)制引腳,因此可以使用 for 循環(huán)進(jìn)行聲明,如下所示。

for binary in binarys:
GPIO.setup(binary, GPIO.IN) #All binary pins are input pins

#Trigger pin
GPIO.setup(22, GPIO.OUT) #WR and INTR pins are output
現(xiàn)在使用 LCD 庫命令,我們可以初始化 LCD 模塊并顯示一條小的介紹消息,如下所示。

mylcd=lcd.lcd()
mylcd.begin(D4,D5,D6,D7,RS,EN)

#Intro Message
mylcd.Print("Flex Sensor with")
mylcd.setCursor(2,1)
mylcd.Print("Raspberry Pi")
time.sleep(2)
mylcd.clear()
在無限 while 循環(huán)中,我們開始讀取二進(jìn)制值將它們轉(zhuǎn)換為十進(jìn)制并在 LCD 上更新結(jié)果。如前所述,在讀取ADC值之前,我們應(yīng)該使觸發(fā)引腳在特定時(shí)間內(nèi)保持高電平,以激活A(yù)DC轉(zhuǎn)換。這是使用以下行完成的。

GPIO.output(22, 1) #Turn ON Trigger
time.sleep(0.1)
GPIO.output(22, 0) #Turn OFF Trigger
現(xiàn)在,我們應(yīng)該讀取 8 個(gè)數(shù)據(jù)引腳并更新 bit 數(shù)組中的結(jié)果。為此,我們使用 for 循環(huán)將每個(gè)輸入引腳與 True 和 False 進(jìn)行比較。如果為 true,則相應(yīng)的位數(shù)組將設(shè)為 1,否則將設(shè)為 0。這是所有8位數(shù)據(jù)將被分別讀取的0和1值。

#Read the input pins and update result in bit array
for i in range(8):
if(GPIO.input(binarys[i]) == True):
bits[i] = 1
if(GPIO.input(binarys[i]) == False):
bits[i] = 0
更新 bits 數(shù)組后,我們應(yīng)該將此數(shù)組轉(zhuǎn)換為十進(jìn)制值。這只不過是二進(jìn)制到十進(jìn)制的轉(zhuǎn)換。對(duì)于 8 位二進(jìn)制數(shù)據(jù),2^8 為 256。因此,我們將獲得從 0 到 255 的十進(jìn)制數(shù)據(jù)。在python中,運(yùn)算符“**”用于查找任何值的冪。由于位[0]以MSB開頭,我們將其乘以2^(7位)。這樣,我們可以將所有二進(jìn)制值轉(zhuǎn)換為十進(jìn)制數(shù)據(jù),然后將其顯示在LCD上

#calculate the decimal value using bit array
for i in range(8):
decimal = decimal + (bits[i] * (2**(7-i)))
一旦我們知道十進(jìn)制值,就很容易計(jì)算電壓值。我們只需要將其乘以 19.63。因?yàn)閷?duì)于 8 位 5VADC,每個(gè)位都是 19.3 毫伏的類比。得到的電壓值是ADC0804 IC引腳Vin+和Vin-兩端出現(xiàn)的電壓值。

#calculate voltage value
Voltage = decimal * 19.63 *0.001 #one unit is 19.3mV

使用電壓值,我們可以確定柔性傳感器是如何彎曲的,以及它是如何彎曲的。在下面的幾行中,我剛剛將讀取的電壓值與預(yù)定的電壓值進(jìn)行了比較,以指示Flex傳感器在LCD屏幕上的位置。

#compare voltage and display status of sensor
mylcd.setCursor(1,1)
if (Voltage>3.8):
mylcd.Print("Bent Forward")
elif (Voltage<3.5):
mylcd.Print("Bent Backward")
else:
mylcd.Print("Stable")

同樣,您可以使用電壓值來執(zhí)行您希望樹莓派執(zhí)行的任何任務(wù)。

使用樹莓派在液晶屏上顯示柔性傳感器值:

該項(xiàng)目的工作非常簡單。但請確保您已下載 lcd.py頭文件并將其放置在當(dāng)前程序所在的同一目錄中。然后使用面包板或性能板在電路圖中顯示連接,并在Pi上運(yùn)行以下程序,您應(yīng)該開始工作。您的設(shè)置應(yīng)如下所示。

pYYBAGOs7ouAW36iAADHYAvDKiA833.jpg

如圖所示,LCD將顯示十進(jìn)制值,電壓值和傳感器位置。只需向前或向后彎曲傳感器,您應(yīng)該能夠看到電壓和十進(jìn)制值發(fā)生變化,還會(huì)顯示狀態(tài)文本。您可以連接任何傳感器,并注意到其兩端的電壓發(fā)生變化。

import lcd #Import the LCD library by electro-passionindia

import time #Import time

import RPi.GPIO as GPIO #GPIO will be referred as GPIO only



GPIO.setmode(GPIO.BCM)

GPIO.setwarnings(False)



#LCD pin definitions

D4=2

D5=3

D6=4

D7=17

RS=20

EN=21



binarys = (10,9,11,5,6,13,19,26) #Array of pin numbers connect to DB0-DB7





bits = [0,0,0,0,0,0,0,0] #resulting values of 8-bit data





for binary in binarys:

GPIO.setup(binary, GPIO.IN) #All binary pins are input pins



#Trigger pin

GPIO.setup(22, GPIO.OUT) #WR and INTR pins are output





mylcd=lcd.lcd()

mylcd.begin(D4,D5,D6,D7,RS,EN)



#Intro Message

mylcd.Print("Flex Sensor with")

mylcd.setCursor(2,1)

mylcd.Print("Raspberry Pi")

time.sleep(2)

mylcd.clear()



while 1:



decimal = Voltage = 0 #intitialize to zero



GPIO.output(22, 1) #Turn ON Trigger

time.sleep(0.1)

GPIO.output(22, 0) #Turn OFF Trigger

mylcd.clear()



#Read the input pins and update result in bit array

for i in range(8):

if(GPIO.input(binarys[i]) == True):

bits[i] = 1

if(GPIO.input(binarys[i]) == False):

bits[i] = 0



#print binary values if required for debugging

## mylcd.Print("Binary= ")

## mylcd.setCursor(1,8)

## for i in range(8):

## mylcd.Print(bits[i])



#calculate the decimal value using bit array

for i in range(8):

decimal = decimal + (bits[i] * (2**(7-i)))



#Display decimal value

mylcd.setCursor(2,1)

mylcd.Print("D=")

mylcd.setCursor(2,3)

mylcd.Print(decimal)



#calculate voltage value

Voltage = decimal * 19.63 *0.001 #one unit is 19.3mV



#compare voltage and display status of sensor

mylcd.setCursor(1,1)

if (Voltage>3.8):

mylcd.Print("Bent Forward")

elif (Voltage<3.5):

mylcd.Print("Bent Backward")

else:

mylcd.Print("Stable")



Voltage = str(round(Voltage,2)) #limit to two digit after decimal



#display voltage

mylcd.setCursor(2,8)

mylcd.Print("V=")

mylcd.setCursor(2,10)

mylcd.Print(Voltage)


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

    關(guān)注

    2550

    文章

    51035

    瀏覽量

    753070
  • lcd
    lcd
    +關(guān)注

    關(guān)注

    34

    文章

    4424

    瀏覽量

    167400
  • 樹莓派
    +關(guān)注

    關(guān)注

    116

    文章

    1706

    瀏覽量

    105607
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何將溫度傳感器DS18B20與樹莓連接

    在本教程中,我們學(xué)習(xí)溫度傳感器DS18B20與樹莓連接
    的頭像 發(fā)表于 11-08 16:44 ?9059次閱讀
    <b class='flag-5'>如何將</b>溫度<b class='flag-5'>傳感器</b>DS18B20與<b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>連接</b>

    如何將DHT11與樹莓連接在16x2 LCD屏幕顯示溫度和濕度的

    在本教程中,我們學(xué)習(xí)如何將流行的DHT11傳感器與Raspberry Pi連接并在16x2 LCD
    的頭像 發(fā)表于 11-14 16:53 ?4267次閱讀
    <b class='flag-5'>如何將</b>DHT11與<b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>連接</b>在16x2 <b class='flag-5'>LCD</b><b class='flag-5'>屏幕</b><b class='flag-5'>上</b><b class='flag-5'>顯示</b>溫度和濕度的<b class='flag-5'>值</b>

    樹莓3通過串口連接溫度傳感器求助!!!

    實(shí)驗(yàn):溫度傳感器VCCGND RXD TXD連接樹莓派上面的VCCGND TXD RXD, 通過Python編寫的程序無法讀取溫度,讀取的數(shù)值都是空,請大俠幫幫忙????impor
    發(fā)表于 10-03 22:07

    樹莓使用3.5寸屏幕教程

    連接到電腦,打開Win32DiskImager.exe軟件,選擇第1步準(zhǔn)備的.img文件,點(diǎn)擊write燒寫鏡像。3) 燒寫完成后,樹莓LCD
    發(fā)表于 02-12 23:12

    如何將樹莓網(wǎng)關(guān)與外網(wǎng)連接——手把手教你如何將樹莓網(wǎng)關(guān)連接到服務(wù)之第三篇

    本文為系列文章——手把手教你如何將樹莓網(wǎng)關(guān)連接到服務(wù)之第三篇,涉及最后一個(gè)步驟,即步驟三:如何將
    發(fā)表于 05-20 07:00

    樹莓DIY:無線感應(yīng)報(bào)警

    LCD1602,蜂鳴器,單路徑循跡傳感器模塊。其主要作用如下:  樹莓:主控芯片,根據(jù)外部輸入控制輸出。主要利用樹莓
    發(fā)表于 05-23 08:00

    樹莓傳感器教程

    樹莓傳感器教程
    發(fā)表于 10-07 07:13

    樹莓土壤濕度傳感器

    本文詳細(xì)的介紹了樹莓采集土壤濕度傳感器數(shù)據(jù),其次介紹了傳感器的選擇和連接以及PYTHON采集土壤傳感器
    發(fā)表于 01-22 09:49 ?2.5w次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>土壤濕度<b class='flag-5'>傳感器</b>

    樹莓傳感器教程資料下載

    樹莓傳感器
    發(fā)表于 05-07 15:20 ?32次下載

    如何將LCD與ArduinoUno連接并在顯示一些單詞

    一旦你編寫并上傳到Arduino的代碼,你會(huì)看到LCD顯示你的消息。 你也可以在屏幕發(fā)揮創(chuàng)意,并在屏幕
    的頭像 發(fā)表于 08-30 11:10 ?9803次閱讀

    手把手教你如何將樹莓網(wǎng)關(guān)鏈接到服務(wù)之第二篇

    本文為系列文章手把手教你如何將樹莓網(wǎng)關(guān)連接到服務(wù)之第二篇,涉及圖1所示步驟二:如何在電腦上操作,配置
    發(fā)表于 04-15 13:48 ?1643次閱讀
    手把手教你<b class='flag-5'>如何將</b><b class='flag-5'>樹莓</b><b class='flag-5'>派</b>網(wǎng)關(guān)鏈接到服務(wù)<b class='flag-5'>器</b>之第二篇

    如何將樹莓網(wǎng)關(guān)與外網(wǎng)連接——手把手教你如何將樹莓網(wǎng)關(guān)連接到服務(wù)之第三篇

    樹莓網(wǎng)關(guān),并借助電腦的顯示器界面,來配置樹莓網(wǎng)關(guān)的密碼、頻段、并選擇服務(wù)。 在此基礎(chǔ)
    發(fā)表于 04-16 14:57 ?2458次閱讀

    如何將樹莓網(wǎng)關(guān)連接到TTN——手把手教你如何將樹莓網(wǎng)關(guān)連接到服務(wù)之第四篇

    接下來,我們用實(shí)際應(yīng)用實(shí)踐的例子,來告訴大家如何將樹莓網(wǎng)關(guān)連接到TTN服務(wù)。 1、
    發(fā)表于 04-17 17:15 ?1535次閱讀

    連接到STM32的LCD屏幕顯示BLE傳感器讀數(shù)

    電子發(fā)燒友網(wǎng)站提供《在連接到STM32的LCD屏幕顯示BLE傳感器讀數(shù).zip》資料免費(fèi)下載
    發(fā)表于 06-14 11:29 ?16次下載
    在<b class='flag-5'>連接</b>到STM32的<b class='flag-5'>LCD</b><b class='flag-5'>屏幕</b><b class='flag-5'>上</b><b class='flag-5'>顯示</b>BLE<b class='flag-5'>傳感器</b>讀數(shù)

    樹莓傳感器使用方法 樹莓 Raspberry Pi 4優(yōu)缺點(diǎn)

    開發(fā)和物聯(lián)網(wǎng)應(yīng)用。以下是一些基本的樹莓傳感器使用方法: 1. 連接傳感器 GPIO引腳 :樹莓
    的頭像 發(fā)表于 12-06 10:35 ?342次閱讀
    主站蜘蛛池模板: 狠日狠干日曰射| 微福利92合集| 67194成在线观看免费| 精品无码久久久久久久动漫| 少妇被躁爽到高潮无码久久| a级老头和老太xxxx| 老熟风间由美AV在线一区二区| 亚洲日本乱码中文论理在线电影| 高清午夜福利电影在线| 日本国产成人精品无码区在线网站| 99re10久久热| 免费看国产曰批40分钟| 最近最新中文字幕MV高清在线| 黄色亚洲片| 亚洲色婷婷久久精品AV蜜桃| 国产在线精彩亚洲| 亚洲国产精品嫩草影院久久| 国产麻豆福利AV在线观看| 四川老师边上网课边被啪视频| 姑娘日本大全免费观看版中文翻译| 日本乱hd高清videos| 大肥婆丰满大肥奶bbw肥| 日本阿v片在线播放免费| 超嫩校花被灌醉在线观看| 欧美亚洲日本日韩在线| 24小时日本在线电影| 国产欧美亚洲综合第一页| 无码骚夜夜精品| 国产亚洲精品久久精品6| 亚洲精品国产第一区第二区| 含羞草完整视频在线播放免费| 亚洲精品久久国产高清| 精品久久中文字幕有码| 一边亲着一面膜下奶韩剧免费 | 免费看大黄高清网站视频在线| 中文字幕无码一区二区免费| 久久免费精品视频| 24小时日本免费看| 热久久国产欧美一区二区精品| MD传媒MD0021在线观看| 日本19xxxx撤尿|