使用感測器來創造出有趣的作品

本文最初發佈在deviceplus.jp網站上,而後被翻譯成英語。

本系列文章將專注於透過使用Raspberry Pi製作的簡單作品來學習製作電子設計的原理和基礎知識。此次的分享嘉賓是伊藤尚未先生,一位媒體藝術家和作家,以講解“更深層次的原理”而聞名。在本文中,我們將運用迄今為止所學到的所有原理和工作機制,來介紹創建新作品的技術和過程。

[目錄]

  1. 前言
  2. 使用光反射器的設計
  3. 關於電路板設計
  4. 結論

1. 前言

很高興再次見到大家,我是伊藤尚未。最近,我在不同的地方舉辦了幾場電子設計研討會,包括一些作品的展覽。我從這些經歷中學到了很多。從本系列文章整體上看,今天這篇文章是第四篇。我們將使用我在第三篇文章中介紹的感測器來構建一些簡單的作品,讓我們開始吧!

2. 使用光反射器的設計

光反射器RPR-220是紅外LED和光電電晶體的組合,可透過將光反射到物體上來檢測物體存在與否。如果您閱讀技術規格書,可以看到其中寫著適用於影印機或辦公自動化設備等應用,因此,這種產品可用來檢測紙張、齒輪和凸輪等機械物體的運動和位置。

Raspberry Pi and sensors

可透過非接觸方式檢測齒輪轉動

那麼,可以用光反射器和Raspberry Pi做什麼呢?上次我嘗試了一個簡單的實驗,也就是使用一個LED,只要手指靠近它就會亮起。當我嘗試各種其他實驗時,我發現即使物件物體是透明的塑膠,在某些條件下也會發生反應。但如果調整角度,比如使之傾斜,它可能就不反應了。我想可能是因為紅外光會在塑膠表面被反射回來,有一部分光進入了光接收單元。可以說,即使是透明物體,也並不意味著感測器不起作用,而是感測器的使用在不同的條件和環境下有其局限性。

所以您一定在想,“我能用這個做什麼?”或“我能用這個做什麼有趣的項目?”由於光反射器是用來檢測物體的,毫無疑問它的作用是檢測運動的物體。現在,讓我們先來嘗試連接4個光反射器。

Raspberry Pi motion detectors

我們來看看將它們水準排列,是否可以檢測運動。我在腦海中試著模擬了一下……結果差強人意!一定是天氣太熱了!但責怪天氣炎熱並不能解決任何問題。

無論如何,關鍵在於如何讓專案變得“有趣”。

如果手指或物體的運動是主要運動,最好將其更改為次要運動,然後檢測到這種運動並根據檢測結果進行某些控制,這個想法怎麼樣?也就是說,讓開關並不是直接按下按鈕就可以打開,而是可以透過更困難的動作來打開。在這樣做的過程中,手和手指的運動會產生意想不到的動作。

基於上述想法,我嘗試佈局4個感測器,但不是直線的,而是十字形的。把它們固定到電路板上,但不是麵包板上。這個電路板用於連接元元件,但我認為它還有另外一個功能,就是起到固定元元件的作用。為了減少搖晃,並使之能夠承受外部衝擊,這次我們將使用電路板(儘管如此,也還是有些限制的)。當然,也有人採取的是將元元件插入麵包板並用熱熔膠槍固定的“實力行動”,但說實話與其這樣,還不如採用焊接的方式。

3. 關於電路板設計

電路板設計實際上比想像的要難。在本文中,我使用了通用電路板。但從另外的角度看,印刷電路板的設計非常靈活,因而設計本身是非常有趣的。儘管如此,由於涉及蝕刻和鑽孔等許多麻煩的工作,哪種方式更好真的取決於個人判斷。

這一次,我們使用了15 x 15孔的通用電路板。由於4條電路呈十字形排列,因此每個單元採用相同的排列就可以了。 這裡所說的“單元”其實只是一個光反射器和一個電阻器。
現在,由於我想讓GND通用,所以我採用回轉的佈局方式,將連接到Raspberry Pi的 GPIO的引腳部分儘量都配置在一個位置。電源等也是與GPIO輸入/輸出分開佈局的。

GPIO on Raspberry Pi

這部分經常有人會看錯。上圖是從元元件側觀看的電路板視圖。而焊接面(也就是實際連接線路的那面)則如下圖所示:

GPIO on Raspberry Pi solder side

接下來我們進入焊接部分。由於這次我們使用的是通用電路板,因此將使用元件引腳和鍍錫線等進行焊接。既然說到了焊接,我想借此機會複習一下焊接的基礎知識。

GPIO on Raspberry Pi solder how-to

實際上,焊接效果取決於所用電烙鐵的性能,而且在很大程度上取決於烙鐵頭的狀況。如果能使用可調節溫度的昂貴焊接工具當然很好,但就我而言,由於我經常教孩子,所以我用的是孩子們可以用自己的零花錢買得到的相對便宜的電烙鐵。

關鍵點是要適度加熱需要焊接的點,直到焊料能薄薄地均勻地熔化在烙鐵頭上。這個“適度”部分是最難把握的,但“熟”能生巧。由於焊接也是一種技術,因此,您可以透過認真地練習來掌握這門技術。

焊接完成後,電路板就製作完成了。

GPIO on Raspberry Pi circuit board

我的焊接技術並不是很高,所以在此獻醜了,背面(焊接面)是下面這樣的感覺:

GPIO on Raspberry Pi circuit board soldered

然後,我將完成的電路板放入下面這樣一個盒子裡。做一個十字形的切口,把光反射器嵌在裡面。將一顆彈珠放在這個切口中並傾斜盒子使之滾動。這裡的機理是當彈珠滾動時光反射器會做出反應。我們暫且稱之為“傾斜控制器”吧。

Katamuki Controller

然後,我們將它插入到Raspberry Pi的GPIO介面,讓它能夠工作起來。您可以使用這款傾斜控制器來讓電機運轉,不過我先嘗試了一種最簡單、最基本的項目——讓小貓動起來【這裡的“小貓”是指兒童程式設計軟體Scratch的吉祥物Scratch貓-譯注】。我嘗試在Scratch上創建了下麵的程式:

Controller

GPIO使用 4、17、22和27,並使它們保持在Pullup狀態。由於是Pullup狀態,所以正常感測器的值為1。如果光反射器有反應,感測器值就會變成0。小貓會根據變為0的GPIO值來改變移動方向。

可以看到,貓會沿著傾斜方向行走。

結論

我的一些熟人是優秀的工程師,但他們當中有些人從未焊接過。其實焊接本身出乎意料地有趣,所以希望大家務必嘗試一下。

焊接似乎成了本文的主題,但我認為更重要的是“有趣的創意和實現創意的技術”。 下一篇文章中,我想談談使用監視器螢幕作為介面能實現什麼。