樹莓皮幾乎可以用來做任何事。從家庭媒體中心到定製復古遊戲設置,可以肯定地說,Pi和類似的單板電腦正在變得無處不在。
當您開始在Raspberry Pi上嘗試GPIO引腳時,事情變得更加有趣。我們已經介紹了所有這些管腳的功能,現在讓我們看看如何在Pi上啟用SPI和I2C協議,以及為什麼要啟用。
在開始之前,讓我們簡要介紹一下這兩個協議的作用。
SPI(或串行外圍接口)允許微控制器(如Pi)一次與100多個外圍組件通信。微控制器充當所有“從”部件的“主”部件,並能與它們高速通信。此圖概述了一個簡單的SPI連接:
如果這是你第一次讀到關於SPI的文章,它可能看起來很嚇人,但是要堅持下去!SCLK是主設備設置的時鐘速度,它決定了設備之間共享信息的速度。
在時鐘的每個週期(或“嘀嗒聲”)中,主設備和從設備都發送和接收一位信息。這就是MOSI(Master-Out-Slave-In)和MISO(Master-In-Slave-Out)引腳的用途。
SS或Slave Select pin(在Pi上標記為CE0或CE1)用於通知從設備在任何給定時間與主設備通信或不通信。在大多數情況下,每個從設備都需要自己的SS引腳,但可以共享SCLK、MOSI和MISO引腳。
一些設備可以“菊花鏈”共享一個SS引腳,使總引腳使用減少到四個,加上兩個電源和接地。SPI以其驚人的速度而聞名,通常用於移位寄存器或adc(模數轉換器)中,以便在設備之間傳遞數據。
增強型初創公司YouTube頻道有一個簡單易懂的SPI入門,進一步解釋協議:
要在Raspberry Pi上啟用SPI,請通過輸入以下命令從終端打開raspi配置:
sudo raspi-config導航到Interfacing Opti***,並在以下菜單上選擇P4 SPI Enable/Disable automatic loading of SPI kernel module(P4 SPI啟用/禁用SPI內核模塊的自動加載)。在窗口提示下選擇“是”。SPI現在已啟用!
或者,您可以從/boot啟用SPI/配置.txt文件。打開終端窗口並輸入:
sudo nano /boot/config.txt查找讀取#dtparam=spi=on的行並刪除#符號。無論以何種方式啟用SPI,重新啟動Pi和SPI都將啟用。
雖然有數百個不同的項目使用許多不同的SPI外圍設備,一個好的入門項目是編程自己的RFID閱讀器。
我們使用MFRC-522閱讀器在我們的DIY智能鎖與Arduino和RFID教程。對於一個覆盆子皮風味的RFID介紹,檢查piddlerintheroot的深入說明。
這種設置也不僅僅是為了愛好電子產品。在我們收集的最佳Raspberry Pi項目中,作為歐洲大型工廠運營的一部分,我們採用了使用Raspberry Pi和RFID運行的全尺寸MES系統。
I2C是由Phillips Electronics創建的通信協議,在基於微控制器的業餘愛好項目中得到了大量應用。原因很明顯——它只使用兩根電線,而不是SPI的最小四根。它也得到了用戶**的庫的良好支持。在Raspberry Pi上有許多設計用於I2C的組件。雖然它比SPI慢,但對於大多數日常使用來說,它的工作速度仍然足夠快。
與SPI非常相似,該協議有一個主設備(如Pi)和一個從設備(如屏幕、移位寄存器或電機驅動器)。
設備之間的第一個連接是SCL(串行時鐘),它由主機設置以同步數據傳輸。第二行是SDA(串行數據),它在I2C總線上的所有設備之間來回傳輸數據。
主設備以起始位和七位十六進制地址開始通信。這必須與從屬設備匹配,以便它們通信。這就是為什麼這麼多的設備可以只用兩根電線。
然後,主設備在接收到應答或ACK back之前指定它是要讀還是寫(R/W)從設備。
YouTube增強型初創公司再次提供了對I2C的易於理解和深入瞭解:
I2C也通過raspi配置菜單在Pi上啟用。打開終端並輸入:
sudo raspi-config使用箭頭鍵選擇接口選項,然後選擇P5I2C啟用/禁用I2C內核模塊的自動加載。確認您要啟用協議,您將看到一個確認屏幕。
與SPI一樣,還可以通過修改配置.txt文件。打開終端並輸入:
sudo nano /boot/config.txt修改#dtparam=i2c#u arm=on,刪除#符號。
重新啟動Pi,I2C就可以啟動了!
I2C非常適合任何需要大量輸出的項目。一個典型的用途是液晶屏幕,它需要多達16引腳使用。I2C將此功能降低到只有兩個用於通信,兩個用於電源和接地。
許多LCD屏幕都附帶了I2C“揹包”,使它們的設置更加簡單,併為其他傳感器和外圍設備釋放了剩餘的Pi引腳。
TheRaspberryPiGuy有一個詳細的YouTube教程,介紹如何在Raspberry Pi上設置和使用I2C液晶屏
覆盆子Pi上的SPI和I2C當然不適合完全愛好電子產品的初學者,但它們也沒什麼好怕的。
在潛水之前,按照我們的樹莓皮初學者指南學習基礎知識是個好主意。
通過一些範例項目學習是最好的方法,我們期待著看到你的想法!誰知道你會做出什麼奇怪而美妙的覆盆子皮呢?
你很高興用你的樹莓皮。也許是遊戲中心,或者是媒體中心。希望你已經嘗試了一些其他用途,這個難以置信的多功能的小電腦。但它安全嗎? ...
所以,你有一個Arduino。你已經學會了一些基礎知識,也許你已經按照初學者指南開始了。接下來呢? ...
This guide is available to download as a free PDF. Download this file now. Feel free to copy and share this with your friends and family. ...
想**一個網路連線的doodad,它會閃爍LED嗎?你可以用樹莓皮!畢竟,當你的工具箱裡只有一把錘子的時候,你很容易把一切都看成釘子。但你不應該,這就是原因。 ...
虛擬專用網(VPN)是網路隱私和安全的重要組成部分。簡言之,如果你還沒有執行一個與你常用的安全工具,你應該。VPN可用於Windows、Linux和macOS,以及Android和iOS。 ...
與其將Raspberry Pi**電視,或透過SSH連線(或透過VNC或RDP進行遠端桌面連線),您可能會選擇購買Raspberry Pi觸控式螢幕顯示器。 ...
不管你用什麼樣的樹莓圓周率,總有一天你會找到一個簡單的方法來複制資料到計算機和從計算機。它可以執行網路伺服器,媒體伺服器,復古遊戲機等等。 ...
有沒有想過要花多少功夫才能寫出自己的復古遊戲?Pong為Arduino編寫程式碼有多容易?加入我,我告訴你如何建立一個Arduino供電的迷你復古遊戲控制檯,以及如何從頭開始編碼乒乓球。最終結果如下: ...