DesignSpark Electrical Logolinkedin
菜单 搜寻
提问问题

介紹 Raspberry Pi B+

文章來自 herbison 

如果你想通過連接感應器或控制發光二極管和馬達把Raspberry Pi 與現實世界連接起來,那你應該有很多次想有更多的GPIO輸入和輸出,或者更多的USB插口來連接外圍設備。好消息是, Raspberry Pi 基金會的人顯然聆聽到Raspberry Pi日益增長的社區用戶的意見,並且開發了一個增強版的Raspberry Pi ,叫型號B +。

Raspberry Pi B+ 的第一印象

title

第一眼看上去,新的Raspberry Pi 型號 B+與先前的型號看起來很不同,事實上幾乎B+所有引入的新特性和增强功能都關於連接性和物理(相對於電子)的設計。

title

新增的兩個USB插口已取代了大部分應用中使用外部USB集線器的需要。我經常都想同時連接鍵盤、滑鼠和WiFi適配器到Raspberry Pi,現在新的Raspberry Pi B+讓我不需USB集線器也能這樣做, 而且還有一個USB插口多出來。

title

現在共有40個GPIO針, 其中26針可以用作數位輸入或輸出。更重要的是,14個新的GPIO針裡有9針是專用的輸入/輸出(即是沒有特定功能的針腳),所以如果你想使用機載UART、I2C或SPI總線的話,現在你可以這樣做之餘還然有很多空閒的GPIO輸入和輸出。新的擴展GPIO針腳排列如下圖所示:

title

Pins 3和Pin 5(GPIO 2和GPIO 3)都有1.8 歐姆的上拉電阻安裝在上面(和他們也同是I2C的接口針腳)。 Pins 27和28(ID_SD和ID_SC) 是專門為ID EEPROM保留使用, 並不能用作輸入/輸出針腳。 GPIO針腳的佈局是向後兼容以前的Raspberry Pi型號–Pins 1到Pins 26是直接兼容以前的Raspberry Pi GPIO 口,雖然應該要注意整個GPIO已移離電路板的角落,讓安裝孔有一個額外的空間, 所以任何以前Raspberry Pi型號的擴展板有可能兼容,但不會​​在Raspberry Pi B+的正上方,因為GPIO已經被重新定位。

title

至於其他電路板上的連接器,3.5毫米的音頻輸出插座和RCA複合影片輸出插座(在之前的Raspberry pi型號上) 會被一個3.5毫米4級A / V插座取代,它位於HDMI插座的旁邊(HDMI插座本身也在電路板上有小幅移動) 。而在新的Raspberry Pi型號 B+上的電源連接器已經移到HDMI插座的旁邊。這意味著現在所有音頻視頻和電源連接器也在電路板的同一邊,這會保持所有連接電纜更整潔。

title

至於Raspberry Pi型號B+的其他變化,新的Micro SD卡插槽已取代了之前使用的SD卡插槽, LED狀態燈已經搬到電路板的另一端, 而且現在只包含一個紅色的“PWR” LED和一個綠色的“ACT” LED。電路板現在有4個安裝孔,擁有矩形的佈局, 讓電路板的固定變得更加安全和容易。

但請注意Raspberry Pi型號B+使用的CPU和GPU結構與型號B相同,也是擁有512 MB的機載SDRAM,所以如果你是期望性能和計算能力有所增強的話,恐怕你會覺得失望。唯一在板上重大的電子方面的變化是以前Raspberry Pi用的線性功率電路已替換為更有效的交換式設計。

給新的Raspberry Pi型號B+一點點考驗……

我真的很喜歡七段LED顯示屏, 因為它的簡單性和它們的“復古” 外觀,所以我決定使用擴展的GPIO直接控制幾個七段LED顯示屏,而不需要額外的驅動器IC(或重複用各個元件或字符)。而令人困惑的是,每個“七段”LED顯示屏其實有8個接線端加上一個共同的接線端。其中七個接線端是控制顯示屏的七個段,而第八個是連接到小數點的顯示。我使用共陰極七段顯示屏(RS庫存編號588-639), 讓我直接把Raspberry Pi的GPIO 連接到輸入接線端和通過一個47歐姆限流電阻把每個顯示屏的共陰極接線端接地。下圖是我使用的七段顯示屏的針腳排列:

title

 

 

 

 

 

 

 

 

 

 

 

 

 

 

每一個pin也連接到一個顯示屏的段,並用相應的字母來表示。例如Pin 1連接段“e”。Pin 3和8是共陰極針,可以使用任何一個。我想用七段顯示屏來顯示一些有用的信息,所以我想連接一個1線溫度感應器(DS18B20,RS庫存編號540 - 2805) 到Raspberry Pi B+去測量環境溫度應該會很有趣。

建立電路

DS18B201線溫度感應器會(默認情況下)使用GPIO 4作為輸​​入。我決定不使用GPIO 2或GPIO 3因為它們連接到上拉電阻,也決定不使用GPIO 14和15 GPIO因為它們也是UART接口(這是默認啟用) 。使用串行接口以控制台模式連接Raspberry Pi通常也很有用。這讓我有21個空餘的GPIO 針——剛好足夠連接三個七段LED顯示模組(忽略小數點用的“段”)。下圖是用一個小型面包板完成的電路,所有連接到Raspberry Pi B+的GPIO也有標示。

title

左邊的三個47歐姆電阻是每個七段LED顯示屏用的限流電阻,而右邊的47歐姆電阻讓七段LED顯示屏中間的小數點是永久打開。 DS18B20 1線溫度感應器顯示在面包板的頂部, 並只需一個4.7 k歐姆電阻就能正常運作。

設置Raspberry Pi

要啟用內核對DS18B201溫度應感器的支持,打開文件“/etc/modules”,並在文件最後的地方添加以下兩行:

w1-gpio
w1-therm

有多種方法可以這樣做,但最簡單的方法是在命令行視窗中輸入以下命令:

sudo nano /etc/modules

這將打開在nano的文件,您可以添加額外的行,然後保存文件並按Ctrl + X,Y和Enter鍵以退出

你需要重新啟動你的Raspberry Pi B+讓更改生效。你可以通過輸入以下命令來重新啟動:

sudo reboot

當你的Raspberry Pi B +重啟後,登入,然後輸入以下命令:

cd /sys/bus/w1/devices

現在在命令行視窗輸入“ls”。您應該會看到類似於下面的東西:

28-000004d0963d w1_bus_master1

記下這一串數字和字母——這是DS18B20溫度感應器的序號,你需要從感應器檢索數據(你的序列號將與上面顯示的不同)

編寫軟體

我寫了一個Python3程序來每秒測量溫度 (攝氏度)和在連接到GPIO的三個七段LED模組以”# #.#”的格式顯示測量的溫度。這個程序是設計來顯示測量溫度在-9.9攝氏度到99.9攝氏度,這個範圍以外溫度的將會在LED顯示屏上顯示“EEE”。

程序的完整清單可以從GitHub下載:https://github.com/mi0iou/RPi_Thermometer

合併在一起

輸入以下命令(“xx-xxxxxxxxxxxx”是DS18B20溫度感應器的序號) ,從命令行視窗運行這個程序

sudo python3 rpi_thermometer.py xx-xxxxxxxxxxxx

等一段時間後,溫度將顯示在LED顯示模組。按Ctrl + C來停止程序。

整個設置可以實現更多的便攜式操作(如下圖所示),通過連接一個WiFi適配器到Raspberry Pi B+,然後使用SSH從另一部電腦連接訪問Raspberry Pi和運行軟體。

title

總結

新的Raspberry Pi B+與之前的型號一樣容易使用, 新增的GPIO 和USB插口肯定會為愛好者和黑客打開一扇新的大門。連接器的新設計和佈局是一個符合邏輯的進程,我相信會讓新的Raspberry Pi B+有更好的適應性和易於集成到各種各樣的專案當中。

我相信會有人哀嘆這個新型號沒有更快的處理器,或更多的內存,但我認為目前的架構仍然足夠的,和以前型號一樣使用相同的基本架構可以保持向後兼容性,這是很重要的。我不懷疑,從長遠來看,新的Raspberry Pi B+將成為主流的型號,但是它不會立即讓以前的型號過時。

Raspberry Pi強大的地方永遠是它的易用性(相比微控制器),結合GPIO編程和與現實世界連接的易用性。新的Raspberry Pi B+對Raspberry Pi系列來說是一個邏輯和吸引性的設計,並將得到更廣泛的愛好者,教育家和專業人士的喜愛

 

Website: www.asliceofraspberrypi.blogspot.co.uk

Twitter: @TomHerbison

Blogger, DesignSpark Team since 2011

14 Jul 2014, 8:13