如果單純玩遊戲的話,上一章裝嵌好 Picade 之後就已經夠了。不過對於街機來說,投幣也是風味的一部分,加上也希望回收一下利是錢,所以就索性為迷你街機加入投幣增加 Credit 的功能。學會使用之後,其他電子習作也可以加入投幣功能啊。
介紹之前都要講一句:在香港遊戲機中心是受過時的遊戲機中心條例監管,你不能隨便拿部迷你街機去做生意啊⋯⋯以上!
認識投幣器
今次我們使用的 JY-924 是屬於多幣種比較型,可以儲存 4 種硬幣的資料,就是比較投入的硬幣大小和厚度等。投幣器上的感測器既用來收集硬幣的樣本資料(取樣),也用來檢查投入的貨幣是否跟取樣得來的資料吻合。如果吻合的話,活門電磁鐵就會開放活門,讓硬幣掉到下面的出幣口。否則硬幣就會被活門截住,流到退幣口去。
當投幣器收到吻合的硬幣時,會按照該種硬幣的設定,透過投幣訊號線發出指定數量的脈衝訊號,就像是按下一般電子習作常用的輕觸按鈕一樣。
明白了投幣器就是輕觸按鈕之後,想在其他電子習作使用投幣器時,只要將投幣機的白線與 GPIO 和 10K Ohms 的上拉電阻連接起來,就可以當作輕觸按鈕來使用。而我們今次使用的 Picade X HAT ,或者 Raspberry Pi (RPi) 、 Arduino 由於已經備有上拉電阻,所以安裝時只要將白線直接連接 GPIO 就可以。
設定投幣器
NO/NC 工作模式
投幣器發出訊號的方式有兩種,一種是預設的 NC 模式,即是平常是處於低電平,當有硬幣投入時就會發出高電平的脈衝訊號;而 NO 模式就剛好相反,平時是處於高電平,但在投幣時電平就會降低。今次我們將設為 NC 工作模式。
訊號寬度
投幣器上有個「快、中、慢」的選擇掣,它所代表的,其實是指訊號的「寬度」,以 NC 訊號來說,就是指每一個訊號處於高電平的時間,大家可以把它看作按掣按多久。不同型號投幣器的訊號寬度都有所不同,但原理都一樣。今次我們將它設為「慢」,每個訊號大約長 60 毫秒。
幣種設定
JY-924 投幣器可以辨識 4 種硬幣,每種硬幣要設定三項資料:
- H:取樣次數,即是用多少個硬幣來學習,預設值是 20 個;
- P:訊號次數,由於投幣器運作起來就像是輕觸按鈕,大家可以設定例如投入 1 元發出 1 個訊號(=按 1 下掣/得 1 個 Credit ),而投入 5 元就發出 5 個訊號;
- F:精確度,設定為 1 的話就要求很準確,一般來說設定 5-10 就可以。
- 同時按著「加數」和「減數」約 3 秒後放開,會顯示 A 字;
- 按一下「設定」會顯示 E 字,按「加數」或「減數」來決定接受多少種硬幣。例如只接受 1 元和 2 元兩種硬幣就設定為 2 。再按一下「設定」來確定;
- 顯示「 H1 」表示設定第一種硬幣的取樣次數,設定為 20 後按一下「設定」來確定;
- 顯示「 P1 」表示設定第一種硬幣的訊號次數,每一個訊號會令遊戲增加一個 Credit 。設定數值後按一下「設定」來確定;
- 顯示「 F1 」表示設定第一種硬幣的精確度,設定為 5 後按一下「設定」來確定,這就完成第一種硬幣的設定;
- 重覆 3. 至 5. 項以設定其他幣種直至再次出現 A 字;
- 按一下「設定」會顯示 E 字,這時拔掉電源再插上就會將設定值儲存下來。
硬幣取樣
投幣器要經過取樣才能知道要檢測的硬幣是甚麼樣子的。剛才我們設定取樣次數為 20 ,所以大家要為每個幣種準備 20 個硬幣。
- 按下「設定」鍵約 3 秒後放開,會顯示 A 字;
- 按一下「設定」會顯示 A1 ,代表開始為第一種硬幣取樣。逐一投入硬幣, LED 顯示屏會顯示你已投入的硬幣次數,投入 20 個硬幣後就會再顯示 A1 ;
- 再按一下「設定」會顯示 A2 ,繼續完成餘下硬幣的取樣;
- 完成所有幣種取樣之後拔掉電源接插上就會將設定值儲存下來。
就這樣,投幣器就可以使用。投入正確的硬幣時,硬幣會從下方的出幣口跌出,而且 LED 顯示屏會顯示發出的訊號數量。投入不正確的硬幣的話,硬幣就會在退幣口吐出來。
如果你發覺辨識硬幣不太準確,或者訊號數量不對,可以重新設定精確度和再次取樣。不過我們發覺港幣 2 元似乎不太好辨識,需要設定較大的精確度。
連接迷你街機
就這樣,投幣機就取代了 Picade 原來的 coin 掣,投入不同的硬幣,就會得到相應的 credit 。
明天最後一章將會為大家介紹如何像真的遊戲機中心一樣,透過網絡連接多部 RetroPie 進行對戰。