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

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

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

室內(nèi)播種機(jī)的制作

454398 ? 來源:wv ? 2019-09-20 08:53 ? 次閱讀

第1步:傳感器芯片 - RPi配置

我們將在該項(xiàng)目中使用SGP30 CO2和VOC(揮發(fā)性有機(jī)化合物)傳感器。它講的是I2C,它在Raspberry Pi上相對(duì)容易使用。 Adafruit的Arduino和CircuitPython板已有預(yù)先存在的庫,但我找不到Pi的庫,所以我自己寫了。

將傳感器連接到Pi

首先,我們讓Pi設(shè)置為I2C。

在本指南中,我引用 物理Pi引腳數(shù) ,不 Broadcom或GPIO號(hào)碼。在本PDF中,我使用的是中間的(白色背景,在鍵中標(biāo)記為“位置”)。

在你的Pi上,運(yùn)行 sudo raspi-config 。在“接口選項(xiàng)”下,找到并啟用“I2C”。

在Raspbian的最新版本中,我們需要的軟件已經(jīng)安裝,但為了以防萬一,使用 apt-get 來安裝 python-smbus 和 i2c-tools:

$ sudo apt-get update

$ sudo apt-get install python-smbus i2c-tools

關(guān)閉pi并連接SGP30突破端的引腳,如下所示:

SCL →Pi pin 5

SDA →Pi pin 3

Vin →Pi 5v(任何會(huì)做)

Gnd →Pi接地(任何會(huì)做)

1v8 未連接

打開Pi電源并檢查是否檢測到SGP30。運(yùn)行 i2cdetect -y 1 并查找地址為0x58的設(shè)備。 (注意,在其他一些Pis上,你想要 i2cdetect -y 0 ,顯然)。

就是這樣!讓我們?cè)囍務(wù)勥@件事。

第2步:傳感器芯片 - 腳本

現(xiàn)在連接并檢測到傳感器芯片,讓我們測試一下。

從Github下拉SGP30 RPi庫:

$ git clone https://github.com/misterfifths/sgp30.git

將目錄更改為克隆的倉庫:

$ cd sgp30

運(yùn)行演示腳本:

$ python demo.py

SGP30需要大約15秒才能預(yù)熱,所以希望看到“熱身。..。..“一會(huì)兒。最終你應(yīng)該看到如上圖所示的輸出。

疑難解答

IOError :檢查與突破的連接板。這通常意味著I2C連接出現(xiàn)問題。

使用SMBus的

ImportError :未安裝SMBus。運(yùn)行 apt-get install python-smbus。

第3步:演講者

Raspberry Pi Zero沒有專用音頻輸出,因此我們將使用PWM引腳來模擬它。我們將遵循Adafruit的本指南中的一些內(nèi)容,不幸的是,這些內(nèi)容已經(jīng)過時(shí)了。還有一些小的調(diào)整,主要是因?yàn)槭褂脝温暤酪纛l。

Raspberry Pi設(shè)置

啟用PWM音頻的設(shè)備樹覆蓋,記錄在這里。在您喜歡的編輯器中以root身份打開/boot/config.txt ,并在最后添加此行:

dtoverlay=pwm

您可以跳過此步驟Adafruit將PWM引腳設(shè)置為Alt-5模式的指南;對(duì)于設(shè)備樹覆蓋,這似乎是不必要的。

您也可以跳過Adafruit指南中的低通濾波器,除非您有冒險(xiǎn)精神。沒有它我們從Pi得到了不錯(cuò)的音頻。

運(yùn)行`sudo raspi-config`,在“Audio”下,強(qiáng)制輸出超過3.5mm(耳機(jī))插孔。這將確保即使連接HDMI電纜,揚(yáng)聲器仍然可以工作。

重新啟動(dòng)Pi。

連接放大器

現(xiàn)在已將Pi設(shè)置為PWM音頻,我們需要連接放大器。規(guī)格表說如果我們沒有差分輸出(我們沒有),我們應(yīng)該接地音頻。所以布線是這樣的:

放大器A + →Pi引腳12(這是 pwm 疊加使用的PWM音頻引腳默認(rèn))

放大器A - →Pi接地(任何會(huì)做)

放大器輸入→Pi 5v(任何會(huì)做)

Amp Gnd →Pi接地(任何會(huì)做)

Amp SD 未連接(這是關(guān)機(jī)引腳 - 可以很有趣,但不是必需的)

將放大器輸出端子連接到揚(yáng)聲器,然后重新啟動(dòng)Pi。

測試音頻并最大限度地減少靜電

由于我們使用PWM偽裝音頻輸出,因此波形非常嘈雜。以下是我們?nèi)绾螐腜i獲得合適的音頻:

運(yùn)行 alsamixer 并將音量調(diào)高。

使用 aplay 播放聲音。你應(yīng)該聽到聲音,之后可能會(huì)聽到很多靜電。

使用小螺絲刀調(diào)節(jié)放大器板上的電位計(jì)。如果您聽到靜電,請(qǐng)將其關(guān)閉只是,直到您不再使用它為止。如果您什么也聽不到,請(qǐng)將其翻轉(zhuǎn)直至聽到靜電,然后再向下聽。

再次運(yùn)行 aplay ,看看它是如何發(fā)聲的。即使低于靜態(tài)限制,我們也會(huì)在音頻文件的響亮點(diǎn)上發(fā)出嘶啞的聲音。根據(jù)需要調(diào)整電位計(jì)。

請(qǐng)記住,揚(yáng)聲器最終會(huì)放在一個(gè)盒子里,所以你可能希望它盡可能大。

故障排除

如果您無法讓揚(yáng)聲器播放任何內(nèi)容,請(qǐng)檢查接線,并確保在調(diào)整 config.txt 后重新啟動(dòng)。還要檢查 gpio readall 的輸出:您應(yīng)該看到物理引腳12處于模式ALT5。如果沒有,請(qǐng)嘗試運(yùn)行 gpio -g mode 18 alt5 。這應(yīng)該是設(shè)備覆蓋的默認(rèn)設(shè)置,但值得一試。

步驟4:燈光

用于呼吸和咳嗽動(dòng)畫,我們需要一些燈!我碰巧有一個(gè)Pimoroni Blinkt!方便,但你可以很容易地使用一條NeoPixels。

Blinkt被設(shè)計(jì)為盾牌,但這對(duì)我們沒有好處;我們想要很多這些針腳。事實(shí)證明,從檢查引腳排列,Blinkt實(shí)際上只使用了4個(gè)引腳。因此,我們只需將這些內(nèi)容直接連接到Pi,這樣我們就可以使用Python庫而無需更改。

連接Blinkt

連接以下引腳:

Blinkt pin 2 →Pi 5v(任何會(huì)做)

Blinkt pin 4 →Pi ground(任何人都會(huì)這樣做)

Blinkt pin 16 →Pi pin 16

Blinkt pin 18 →Pi pin 18

所有其他Blinkt引腳可以不連接

測試

啟動(dòng)Pi并安裝Blinkt帶有 sudo的Python庫apt-get install python-blinkt

運(yùn)行 python 并嘗試一個(gè)簡單的燈光演示,也許是這樣的:

import blinkt

blinkt.set_clear_on_exit()

blinkt.set_all(128, 50, 50)

blinkt.show()

# admire for a few seconds

# hit ctrl+d to exit

疑難解答

男人,Blinkt pinout實(shí)在令人困惑。確保你的方向正確(注意圓角)。在我們的模型中,如果您將Pimoroni盜版徽標(biāo)放在頂部,則需要在標(biāo)題的左側(cè)放置引腳(參見照片)。

第5步:軟件 - Google表格設(shè)置

每隔幾秒鐘,代碼會(huì)將空氣質(zhì)量讀數(shù)記錄到Google電子表格中。我們正在使用gspread庫。授予對(duì)Google表格的gspread訪問權(quán)限有點(diǎn)復(fù)雜,他們的指南有點(diǎn)過時(shí)了。請(qǐng)按照以下步驟操作:

轉(zhuǎn)到Google Cloud Resource Manager。您可能必須注冊(cè)Google開發(fā)人員計(jì)劃才能訪問此計(jì)劃。

點(diǎn)擊頂部的“創(chuàng)建項(xiàng)目”按鈕,隨意填寫詳細(xì)信息。

在下一頁的“API”面板中,選擇“轉(zhuǎn)到API概述”。

在該頁面上,點(diǎn)擊頂部的“啟用API和服務(wù)”。

搜索并啟用Google Drive API和Google表格API。不要擔(dān)心有關(guān)憑據(jù)的警告;我們接下來會(huì)處理。

返回API Dashboard并從左側(cè)列表中選擇“Credentials”。

下拉“創(chuàng)建憑據(jù)”按鈕并選擇“服務(wù)帳戶密鑰”。當(dāng)需要對(duì)Sheet進(jìn)行更改時(shí),這將創(chuàng)建一個(gè)“用戶”,我們的腳本將充當(dāng)該用戶。

在下一頁上,為帳戶指定一個(gè)名稱(任何將要執(zhí)行的操作),并從“角色”下拉列表的“服務(wù)帳戶”部分為其指定“服務(wù)帳戶用戶”角色。

確保在“密鑰類型”部分中選擇“JSON”并點(diǎn)擊“創(chuàng)建”。 JSON憑證文件將自動(dòng)下載。保持安全,不要在任何地方發(fā)布!它等同于密碼(雖然它只能訪問您授予它訪問權(quán)限的密碼,但它仍然是最安全的)。

最后,我們需要找到服務(wù)帳戶用戶的完整用戶名。選擇左上方的漢堡菜單,然后選擇“IAM&admin”,然后選擇“IAM”,轉(zhuǎn)到“IAM”儀表板。記下服務(wù)用戶帳戶的電子郵件地址。它應(yīng)該是“username@appname.12345.iam.gserviceaccount.com”形式的東西。 (請(qǐng)注意,這也在我們之前下載的JSON文件中,如果您只是想從那里抓取它。)

好的,這很令人筋疲力盡。最后一步是為數(shù)據(jù)記錄制作電子表格并授予對(duì)服務(wù)用戶的訪問權(quán)限。我們會(huì)這樣做:

制作新的Google表格。不需要任何特別的東西。您可能想要制作一個(gè)列標(biāo)題(將有三個(gè):時(shí)間戳,CO2(ppm)和VOCs(ppb))。

授予我們之前制作的服務(wù)帳戶用戶的編輯權(quán)限。在右上角,選擇“共享”,粘貼服務(wù)用戶的電子郵件地址,下拉鉛筆按鈕并選擇“可以編輯”。點(diǎn)擊“發(fā)送”,你應(yīng)該好好去!

記下電子表格網(wǎng)址中非常長的ID部分(/spreadsheets/d/和/edit 之間的部分)。我們需要在下一步配置gspread。

第6步:軟件 - 現(xiàn)在全部在一起

好吧,讓我們下拉并配置完全可以使用的軟件!

安裝一些依賴項(xiàng):

$ sudo apt-get install python-pip python-pyaudio

$ pip install pydub oauth2client gspread

克隆存儲(chǔ)庫:

$ git clone https://github.com/misterfifths/planter.git

轉(zhuǎn)換到新的 planter 目錄:

$ cd planter

將SGP30驅(qū)動(dòng)程序復(fù)制到 planter 目錄。如果您以前克隆過它,那應(yīng)該類似于。..。..

$ cp 。./sgp30/sgp30.py 。

將Google表格JSON憑證文件從上一步復(fù)制到種植者目錄,并將其命名為“gsheets-creds.json”。

查找或記錄您喜歡的咳嗽聲(嘗試freesound.org?。┎⑵浞湃?planter 目錄中。

在您喜歡的編輯器中,打開“planter.py”文件。

在初始化GoogleSheetsLogger的第22行附近,將長串?dāng)?shù)字和字母替換為您在上一步中創(chuàng)建的工作表的ID。

在第143行附近,更改設(shè)置 cough_filename 的行中的文件名,以匹配您在步驟6中選擇的咳嗽的文件名。

就是這樣!運(yùn)行 。/planter.py 以完成整個(gè)過程。如果空氣質(zhì)量良好,前幾秒鐘前LED將以輕松的藍(lán)色“呼吸”。如果不好,揚(yáng)聲器會(huì)發(fā)出咳嗽聲,燈光會(huì)同步發(fā)出紅色脈沖。

在代碼中逛逛并改變一些東西 - 時(shí)間,“好”和“壞”的空氣質(zhì)量閾值,顏色等

第7步:案例

我們用激光切割機(jī)制作外殼為種植者。我們?cè)O(shè)計(jì)了兩個(gè)部件:木制外箱,帶電子設(shè)備的隱藏隔間和傳感器伸出的孔,以及用于工廠的防水丙烯酸套管。

兩件式的PDF均可在這里找到。盒子的骨架是使用激光切割器Ruby Gem構(gòu)建的(如果你用Illustrator打開PDF,你可以看到我們?cè)诋嫲逯馐褂玫脑O(shè)置)。我們使用了1/8“厚的木材;如果你使用不同的厚度,或者如果你的激光切割機(jī)的切口與我們的切口明顯不同,你將需要調(diào)整盒子.PDF包括3個(gè)面板選項(xiàng) - 兩個(gè)帶有非常大的格柵用于燈的小孔和第三個(gè)帶有較大圓圈的孔,Blinkt上每個(gè)LED一個(gè)。

為了防水丙烯酸,我們用硅膠粘合劑密封它,我們讓它在一夜之間固化。徹底測試密封用水填充套管,讓它靜置一段時(shí)間,然后在外面尋找水滴。根據(jù)需要重新開始直到你滿意為止。

切割后,我們?nèi)玖四绢^并涂上了巴西棕櫚樹基于蠟的輕質(zhì)防水。盒子應(yīng)以相當(dāng)明顯的方式裝配在一起。后面有四個(gè)孔的面,下面的孔是SGP30芯片穿過(上下顛倒)。兩個(gè)小塊在上面PDF的右側(cè)是芯片頂部的小蓋子。沒有孔的部分是“架子”帽子安裝在盒子三面的插槽中,為播種機(jī)套筒和電子設(shè)備的分離提供支撐。

步驟8:將所有內(nèi)容和后續(xù)步驟拼湊起來

現(xiàn)在一切都在運(yùn)行,現(xiàn)在是時(shí)候把它全部塞進(jìn)去了。我們這里沒有任何好的建議。我們確實(shí)使用半尺寸面包板的電源導(dǎo)軌為所有組件提供了一個(gè)電源和接地源,但是我們只是把東西塞進(jìn)去并用一點(diǎn)熱膠和膠帶固定。

關(guān)于從哪里開始的想法:

添加土壤濕度傳感器,或植物健康的其他傳感器(根電容,葉子顏色等)

在你的推文上

添加溫度和濕度傳感器以提高SGP30的準(zhǔn)確度

添加輪子和光電傳感器以使工廠停留在空氣質(zhì)量不佳的情況下老板或城市或EPA

盡可能多的陽光。

聲明:本文內(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)投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2546

    文章

    50491

    瀏覽量

    751189
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6461

    瀏覽量

    186524
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    土豆播種機(jī)電控系統(tǒng) #播種機(jī)控制器 #播種機(jī)顯示屏

    電控系統(tǒng)
    長沙碩博電子科技股份有限公司
    發(fā)布于 :2024年10月14日 13:40:42

    如何實(shí)現(xiàn)室內(nèi)精準(zhǔn)定位?分享室內(nèi)精準(zhǔn)定位技術(shù)及方法

    室內(nèi)精準(zhǔn)定位在現(xiàn)代社會(huì)中具有重要的意義和應(yīng)用價(jià)值,它能夠精確確定人或物體在封閉的空間內(nèi)的位置。在過去,只有在室外才能實(shí)現(xiàn)精確的定位,但隨著技術(shù)的發(fā)展,室內(nèi)定位已經(jīng)成為可能。在本文中,我們將探討實(shí)現(xiàn)
    的頭像 發(fā)表于 09-24 11:21 ?382次閱讀
    如何實(shí)現(xiàn)<b class='flag-5'>室內(nèi)</b>精準(zhǔn)定位?分享<b class='flag-5'>室內(nèi)</b>精準(zhǔn)定位技術(shù)及方法

    室內(nèi)精準(zhǔn)定位是什么?室內(nèi)精準(zhǔn)定位的方式有哪些?

    說到室內(nèi)精準(zhǔn)定位很多人可能會(huì)比較陌生,因?yàn)檫@一說法并沒有大范圍推廣,又或者說只是很多相關(guān)行業(yè)的人才知道這樣的說法。但是定位這一問題大家都知道吧?尤其是要到一個(gè)地方去,都會(huì)進(jìn)行定位導(dǎo)航。那么這一般都是
    的頭像 發(fā)表于 07-09 16:30 ?443次閱讀

    單片機(jī)POV LED流水燈制作

    電子發(fā)燒友網(wǎng)站提供《單片機(jī)POV LED流水燈制作.docx》資料免費(fèi)下載
    發(fā)表于 05-28 14:34 ?3次下載

    MCY-02種子摩擦系數(shù)測試儀

    的摩擦系數(shù)是非常重要的,這主要是因?yàn)槟Σ料禂?shù)直接影響種子處理、儲(chǔ)存、運(yùn)輸以及播種過程中的效率和效果。1、播種機(jī)設(shè)計(jì)與優(yōu)化:了解種子與播種機(jī)內(nèi)部零件(如輸送帶、管路等)之間
    的頭像 發(fā)表于 05-11 16:31 ?312次閱讀
    MCY-02種子摩擦系數(shù)測試儀

    室內(nèi)定位技術(shù)

    室內(nèi)定位技術(shù)
    的頭像 發(fā)表于 05-07 11:27 ?590次閱讀

    應(yīng)用單片機(jī)開發(fā)的ST LINK調(diào)試器設(shè)計(jì)制作

    在調(diào)試ST單片機(jī)的過程中,ST-LINK是一個(gè)很好使用的調(diào)試工具。今天,我們就根據(jù)網(wǎng)絡(luò)上的設(shè)計(jì)方案進(jìn)行簡化,設(shè)計(jì)制作一個(gè)ST LINK調(diào)試器,用于之后的單片機(jī)開發(fā)。
    發(fā)表于 03-06 10:26 ?994次閱讀
    應(yīng)用單片<b class='flag-5'>機(jī)</b>開發(fā)的ST LINK調(diào)試器設(shè)計(jì)<b class='flag-5'>制作</b>

    51單片機(jī)流水燈制作

    ?流水燈是學(xué)習(xí)51單片機(jī)的一個(gè)基本項(xiàng)目,是我們對(duì)單片機(jī)IO口輸出認(rèn)識(shí)的基本項(xiàng)目。當(dāng)然學(xué)會(huì)了花樣流水燈也很好玩。 下面就分享一種51單片機(jī)流水燈制作的方法。 一、流水燈原理圖 二、相關(guān)知
    的頭像 發(fā)表于 02-26 10:06 ?1456次閱讀
    51單片<b class='flag-5'>機(jī)</b>流水燈<b class='flag-5'>制作</b>

    松下NPM貼片機(jī)使用DGS制作bad mark教程

    松下NPM貼片機(jī)使用DGS制作bad mark教程
    的頭像 發(fā)表于 01-23 09:48 ?6699次閱讀
    松下NPM貼片<b class='flag-5'>機(jī)</b>使用DGS<b class='flag-5'>制作</b>bad mark教程

    基于51單片機(jī)的紅外報(bào)警器的設(shè)計(jì)與制作

    電子發(fā)燒友網(wǎng)站提供《基于51單片機(jī)的紅外報(bào)警器的設(shè)計(jì)與制作.rar》資料免費(fèi)下載
    發(fā)表于 01-12 09:18 ?23次下載

    基于51單片機(jī)室內(nèi)溫濕度自動(dòng)控制系統(tǒng)設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于51單片機(jī)室內(nèi)溫濕度自動(dòng)控制系統(tǒng)設(shè)計(jì).rar》資料免費(fèi)下載
    發(fā)表于 01-12 09:15 ?13次下載

    基于51單片機(jī)室內(nèi)溫濕度自動(dòng)控制系統(tǒng)設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于51單片機(jī)室內(nèi)溫濕度自動(dòng)控制系統(tǒng)設(shè)計(jì).rar》資料免費(fèi)下載
    發(fā)表于 01-03 11:45 ?7次下載

    基于51單片機(jī)的紅外報(bào)警器的設(shè)計(jì)與制作

    電子發(fā)燒友網(wǎng)站提供《基于51單片機(jī)的紅外報(bào)警器的設(shè)計(jì)與制作.rar》資料免費(fèi)下載
    發(fā)表于 01-03 11:32 ?11次下載

    目前的室內(nèi)定位算法有什么優(yōu)勢(shì)

    隨著智能手機(jī)、物聯(lián)網(wǎng)和無人駕駛等技術(shù)的迅猛發(fā)展,室內(nèi)定位技術(shù)成為了人們關(guān)注的熱點(diǎn)。由于GPS在室內(nèi)定位中受限,研究者們不斷在室內(nèi)定位算法上進(jìn)行探索和創(chuàng)新。本文詳盡、詳實(shí)、細(xì)致地回顧了目前的室內(nèi)
    的頭像 發(fā)表于 12-25 17:00 ?651次閱讀

    單片機(jī)USB-ISP下載線制作

    電子發(fā)燒友網(wǎng)站提供《單片機(jī)USB-ISP下載線制作.doc》資料免費(fèi)下載
    發(fā)表于 11-16 15:37 ?3次下載
    單片<b class='flag-5'>機(jī)</b>USB-ISP下載線<b class='flag-5'>制作</b>