Arduboy FX Mod-ChipによるArduboyのFX化

Arduboy FX Mod-Chipとは?

Arduboyというのは、皆さんご存知「クレジットカードサイズの携帯ゲーム機」です。

クラウドファンディング発祥で、オープンソース、誰でもゲームを作ることが出来るため世界中で多くの人に愛されている素敵な携帯ゲーム機です。

 

そんなArduboyですが、最近新しいバージョンである「Arduboy FX」が登場しました。

Arduboy – Buy Now

f:id:inajob:20210609125534p:plain

Arduboy FXはArduboyにFlashメモリチップを追加したものです。通常のArduboyでは、パソコンから書き込んだゲームを一度に1種類しか持ち歩けないのですが、Arduboy FXでは、このFlashメモリチップのおかげで、200種類以上のゲームを切り替えながら遊ぶことが出来るのです。

 

Arduboy FXの元となるアイデアは、Arduboyのコミュニティから生み出された「FlashCart」を基にしています。

以前、私もFlashCartを入手し、このブログでも以前紹介しています。

inajob.hatenablog.jp

Arduboy FXは、機能的にはArduboy FlashCartと同じなのですが、今までのArduboyの大きさはそのままに、この機能を実現しているというのが特徴です。

 

このArduboy FXですが、その設計は今までのArduboyに追加で「Arduboy FX Mod-Chip」をはんだ付けすることで、実現されています。おそらく基板を再設計するコストをかけないという工夫なのだと思いますが、その副作用として「Arduboy FX Mod-Chip」のみを購入することで、手元のArduboyを「Arduboy FX化」することが出来るのです。

f:id:inajob:20210609125619p:plain

という事で、私も「Arduboy FX Mod-Chip」を手に入れたので、これを使って手元のArduboyをFX化する様子を紹介していきたいと思います。

 

Arduboy FX化の手順

FX化の手順については、公式ページに非常に丁寧な解説があります。今回もこの手順に従って作業していきます。

Arduboy – Start FX

 

Arduboy FX Mod-Chipの様子

これが、Arduboy FX Mod-Chipです。フレキシブル基板で作られた、ユニークな形をした追加基板です。

f:id:inajob:20210609125736p:plain

裏面にはコミュニティで活躍するゲーム開発者の皆さんのドット絵が敷き詰められていて、コミュニティへの愛を感じます。

f:id:inajob:20210609125705p:plain

この不思議な形状ですが、既存のArduboyの部品と干渉しないような形を追求した結果、こうなったようです。 

Arduboyの分解

裏面の4隅のネジを外すことでArduboyを分解します。

このネジが小さい割に固く締まっているため、ネジ山を舐めないようにうまく外す必要があります。

精密ドライバーとラジオペンチをうまく使って、片手でドライバーを下に押しつけつつ、もう片方の手でラジオペンチを使って、ねじを緩めることで、うまくねじを緩めることが出来ました。

f:id:inajob:20210609125948p:plain

裏蓋を開けると、非常に薄いバッテリーが出てきますが、このバッテリーを持ち上げすぎると、バッテリーの端子が折れてしまうので注意が必要です。そっと覗き込むように少しだけ持ち上げるだけにしておきましょう。

一時的にスピーカーの配線を外す

Arduboy FX Mod-Chipを取り付ける際に、スピーカーの配線が邪魔なので、一度はんだごてを使い配線を外します

 

f:id:inajob:20210609130031p:plain

↑Before、 ↓After

f:id:inajob:20210609130057p:plain

パッドにはんだごてを当てることで、配線を外すことが出来ましたが、熱しすぎたのか、配線の被覆が少し溶けて中の導線が露出してしまいました。特に実害はありませんでしたが、作業する際は注意が必要です。

Arduboy FX Mod-Chipを仮配置する

バッテリーの裏に滑り込ませるようにしてArduboy FX Mod-Chipを配置します。スピーカーのケーブルは、Arduboy FX Mode-Chipの上を通すようにします。

f:id:inajob:20210609130148p:plain

パッドにはんだを盛る

説明の動画では、Arduboy FX Mod-Chipを重ねた上からはんだ付けしていますが、なんとなく、先にArduboy側の基板のパッドにはんだを盛って、Mod-Chipの上からはんだごてで熱することで、はんだ付けする方法を実施しました。

 

f:id:inajob:20210609130215p:plain

8か所のパッドをすべてはんだ付けしました。

f:id:inajob:20210609130234p:plain

スピーカーの配線を元に戻す

Arduboy FX Mod-Chipのパッドがすべてはんだ付け出来たら、スピーカの配線を再びはんだ付けします。

f:id:inajob:20210609130314p:plain

これでハードウェアの改造は完了です。

蓋をする前に、ソフトウェアについても更新します。

 

ファームウェアの更新

Arduboy FX化のためにはArduboyのブートローダーを書き換える必要があります。

普通なら、ArduboyのISCP端子から書き込むところですが、Arduboy  FX Mod-Chipにはこの機能が内蔵されています。起動中にArduboyの「リセットボタン」を5秒間押し続けることで、この機能が発動しブートローダを書き換えます。

 

しかし、この「リセットボタン」を強く押し続けるとスイッチがもげてしまう事象があるようで、そうならないように自分はジャンパワイヤを使ってRSTピンとGNDピンをショートさせることでこの「リセットボタンを5秒間押し続ける」ことを実現しました。

f:id:inajob:20210609130342p:plain

これがうまくいくとArduboy FXのブートスクリーンが出てきて、ファームウェアの更新は完了です。

f:id:inajob:20210609130415p:plain

裏蓋を戻す

裏蓋をつけて、再び4つのネジを締めます。

これにて作業完了です。

Arduboy FXを楽しむ

Arduboy FXには200以上のゲームが収録されており、PCとつなぐことなく、自由に切り替えて遊ぶことが出来ます。

これらのゲームは、コミュニティの皆さんが作ったもので、何を隠そう自分が作ったゲームもいくつか収録されています。

自分が作ったゲームが市販の製品にバンドルされているというは、何ともうれしいです。

 

また、このFlashメモリは、パソコンから中身を書き換えることが出来るので、すでに入っているゲームを削除したり、オリジナルのゲームを追加することもできます。

 

加えて、プログラムからFlashメモリにアクセスすることもできるので、通常のArduboyでは容量不足で実現できなかったようなゲームも、Arduboy FXであれば実現できるかもしれません。

f:id:inajob:20210609132227p:plain

なんとなくケースに「FX」と書いてみた。



 

Arduboy FX Mod-Chipの構成

f:id:inajob:20210610072113p:plain



このチップには2つのICが搭載されています。1つはフラッシュメモリICであるW25Q128です。これはこのチップの仕組みを考えれば当然搭載されるものです。

もう一つはATtiny85です。これはFlashCartには搭載されていないもので、このArduboy FX Mod-Chipには必須のものではなさそうです。

このATtiny85は、この前の作業で実施した「リセットボタンを5秒間押し続ける」時に起動する「Arduboy本体のブートローダーを更新する」ために存在しています。

 

Arduboy FX Mod-Chip起動時のその1回のためにだけ存在しているという、一見無駄なチップのようですが、これがあるおかげで、既存のArduboyを比較的簡単にFX化することが出来ます。

 

既製品をアップデートする際にはこういう手法が一般的なのでしょうか?とにかく面白いアイデアだと感じました。

 

まとめ

Arduboy FX Mod-Chipを使うことで、簡単に既存のArduboyをFX化することが出来ました。このArduboy FX Mod-Chipは調べてみると面白く、開発者の工夫がにじみ出ています。

 

Arduboy FXはコミュニティベースで開発が行われ、収録されているゲームもコミュニティユーザによってつくられたものです。ユーザに愛されているArduboyだからこそできる、素晴らしいアップデートだと思います。

 

Arduboyを持っている方も、まだ持っていない方も、ぜひArduboy FXを手に入れてみてください。(Mod-Chip単品でも、組みこみ済みのArduboy FXもどちらも販売しています)

arduboy.com

 

我らが千石電商でも購入できるようです!

www.sengoku.co.jp

みんなでテープカッターを作る試みの紹介 #栗原精機 #テープカッター

事の始まり

この話はとある町工場の社長さんが、切削加工のテープカッターの図面公開することから始まりました。

 

 この図面はまぁ、結構単純なものでしたが、こうやってデジタルデータとして瞬時に設計を世の中に共有できるというのは、結構面白いと感じました。

 

もちろん3Dプリンタの世界ではThingiverseなどで日常的に行われているのですが、町工場からそういう動きが出てくるというのは非常に面白いと感じました。

 

ということで、自分も一つ乗ってみることにしました。

 

データ起こしと3Dプリント

公開されているのは単なるpdfによる図面であるため、これをCADデータに起こす必要があります。折角なので最近覚えたFreeCADを使ってこの図面をデータ化しました。

f:id:inajob:20210508234206p:plain

比較的単純な図面だったので、すぐにデータ化することが出来ました。金属加工装置が家にあればここからCAMを使って加工データを作り、機械に流せばよいのですが・・

 

我が家にはそんな装置はありません。

 

しかし、我が家には3Dプリンタがあります!

inajob.hatenablog.jp

ということで、ひとまず何も考えずこのデータを3Dプリントしてみます。

データさえあればあとは簡単!

f:id:inajob:20210508234124p:plain

一応それっぽいものが作れましたが、肝心のセロハンテープの切断が出来ません。(おそらくマスキングテープのようなものであれば切断できるかもしれませんが、手元になかったので確認できず)もともと金属加工で作るためのデータであるため、プラスチックの3Dプリントで作っても、鋭利さが足りずセロハンテープが切断できないという事のようです。

3Dプリンタでテープカッターを作るための試行錯誤

ちょっと悔しいので、3Dプリンタでも作成できるテープカッターに改造できないかなと実験を始めました。

 

まずは、鋭利な形状を3Dプリンタで作る実験です。様々な向きで尖ったエッジを印刷し、テープがカットできるかを確認します。

f:id:inajob:20210508233526p:plain

予想はしていましたが、X,Y,Zのどの角度でプリントしても、まともな鋭角は得られませんでした。鋭さも問題ですが、細さゆえの脆さも大きな問題だと感じました。

 

ともかく3Dプリンタを使ってカッターナイフのような鋭利な形状を作る事は難しいようでした。

しかし、そもそもセロハンテープをカットするという目的においてカッターナイフのような薄い鋭利さが必要なのかどうか?という点が疑問になり、次に「ギザギザ」のモデルをいくつか印刷してみました。

f:id:inajob:20210508233603p:plain

うれしいことに、この形状は、セロハンテープを切断することが出来ました。

f:id:inajob:20210508233630p:plain

手元にあった市販のプラスチック製のテープカッターを観察したところ、これとよく似た形状であることに気付きました。

f:id:inajob:20210508233716p:plain

ここで気づいたのは、セロハンテープ切断に必要なのはカッターナイフのような「面」での鋭利さではなく、このギザギザの角のような「点」での鋭利さだという事です。

この「点」での鋭利さを利用してセロハンテープの一部に小さな穴をあけ、その穴から亀裂が広がることでセロハンテープを切断するのが、このカッターの仕組みのようだと発見しました。

 

まぁそんな先人の発見を追体験したところで、この「ギザギザ」を先程の図面に導入します。

f:id:inajob:20210508234355p:plain

ギザギザ部分がオーバーハングになるため、なるべく浅い角度になるようかなりギザギザの数を少なくしました。
先程の発見が正しければ、このギザギザの角が最悪1つでもあればテープは切断できるため、この程度のギザギザで十分だと考えました。

 

そしてできたものがこちら。

f:id:inajob:20210508234630p:plain

やった!この設計でテープを切断することが出来ました。

f:id:inajob:20210508234731p:plain

まぁ切断面はフニャフニャで、市販の物とは違いますが、まぁテープカッターとしては機能したのでヨシとしましょう。

 

得られた気づきとインダストリアルデザインの深い世界

 ここで、このテープカッターの元の設計のトレードオフに気付きました。

普通のテープカッターは下の写真のようにテープを張っている箇所が長くなっています。一方このテープカッターにはこのような長い箇所がありません。

f:id:inajob:20210508234929p:plain

これにより今回作成したテープカッターは小型化という利点を獲得していますが、その一方でテープを引きはがす際にちょっと苦労が必要になっていることに気付きました。

また、今回のテープカッターは(おそらく)掘削機で加工しやすいよう、背面がテープカッター本体によりふさがれている(下図の黄色い部分)ため、左利きの人にはさらに使いにくくなっていることにも気づきました。

f:id:inajob:20210508235552p:plain

この点でも一般的な市販のテープカッターはよくできており、長くテープが伸びている箇所に両方から手を入れることが出来ます。

シンプルだと思っていたテープカッターですが、デザインの細部には様々な工夫が施されていることに気付きました。

 

いやぁ、インダストリアルデザインって奥が深いなぁ・・と感じました。

 

と、まぁここまでが自分のテープカッター作成記でした。

単に図面をデータ化して3Dプリンタで出力するだけかな、と思っていましたが、思った以上に長い旅になりました。おかげでインダストリアルデザインの深い世界の一部を垣間見ることが出来ました。

 

改めて、この図面を公開してくだったことに感謝します。

 

他の方々の作例紹介

さて、ここからはこの図面を基に作られた様々なテープカッターの事例を紹介します。

 

ひろさんの作例

 やすりで鋭利にすることでテープをカットできるように改造しています。

 その後サランラップのカッターを取り付ける改造を行い、さらに使いやすくしています。

 

李丞株さんの作例

 

横浜市にある小さな町工場 高谷精密工業 さんの作例

 

独自のエンボス加工が素敵です。

 ㈲コバ 取締役副社長 さんの作例

 

独自のデザインに改造されており、なんと自分が気づいた問題点である両利き対応されています。

内田部長@水貝製作所 さんの作例

加工動画が見物です。

 Labonos_PR さんの作例

 【公式】AUTOLAB株式会社_藤原崇義 さんの作例

 眞鍋玲 さんの作例

 

 皆さんすごいですね。

育休復帰して3か月の近況

9か月の育児休業を取得し、1月に復職した私です。

無事1月、2月、3月と仕事に取り組み、なんとか4月になりました。

ということで、ここまでの近況を少し書いておこうかなと思います。

f:id:inajob:20210418171453p:plain

ここ3か月の我が家の状態

我が家は、私も妻も育児休業を取得しており、どちらも娘が誕生した2020年の4月から取得していました。

そして、私は2021年1月に復職、妻はまだ継続して育児休業という状態です。

予定としては、娘を4月に保育園に預け、妻もそのタイミングから復職するという計画です。

 

私も4月まで育児休業するという手もあったのですが、夫婦二人+娘の保育園入園とイベントが重なってしまうとバタバタしそうだな、ということで、お試し的に私から復職しようという作戦です。

ここ3か月のタイムスケジュール

1月-3月の間は、私が仕事に復帰しているため、妻のワンオペ育児となります。

当たり前ですが、これは2人で育休しているよりも大変です。

f:id:inajob:20210412202302p:plain

生後11か月時点でのスケジュール

日中の子守はほぼ妻の担当となりました。夜は私が娘と同じ部屋で寝るというのは、2人とも育休していたころと変わっていません。

幸いこのコロナ禍の影響や、会社の制度のおかげで、この3か月はほとんど私も「在宅勤務」することができているおかげで、このスケジュールにあるようにちょいちょい育児のお手伝いが出来ました。

 

私が主に担当しているのは「離乳食」です。ワンオペ育児の妻と話すと「用意した離乳食を食べてくれないととても凹む」ということで、時間当たりの効率の良さそうな離乳食を食べさせるというタスクを私ができる限り担当することにしました。

 

娘も11か月ともなると、日中の睡眠時間も減り、今までなら母子共に「お昼寝」というようなことが出来ていたのですが、それもすぐに目覚めて泣き出してしまう・・という状態となってしまい、一度歯車が狂うと結構辛そうでした。

 

幸い、私も1年分の有給がたまっている状態で1月から復帰したため、妻が辛そうな日は積極的に会社を休んで、育児を代わることが出来ました。(まぁこれはこの3月までの話で、これからはそこまで無尽蔵に休むほど有給は余っていないです・・)

 

復職してみて

9ヵ月ものブランクでの復職で、ちゃんと仕事をはじめられるか心配でしたが、思ったほどは苦労しませんでした。(一番苦労したのは会社のMacBookのキー配列くらいでした・・w)

まぁ育休前と同じメンバーの元への復職だったことや、業務内容も育休前と同じようなものだったこと、育休中も専門分野のキャッチアップを少しやっていたこと、会社の同僚が温かく迎えてくれたことなどが要因としてあるのかなと思います。

まだ「時短」扱いでの復帰ですが、しばらくは時短で働かせてもらおうと思っています。

 

保育園入園にむけて・・

この記事を書いている現在、絶賛「慣らし保育」中ですが、、ここに至るまではいろいろありました。

 

まぁ、子供を持っている人ならみんな通る道なのですが、近くの保育園を見て回りチェックして、希望を書いた紙を役所に提出し、、後は祈る・・という感じでした。

 

この希望は家庭状況から算出される「スコア」に応じて優先的に採用されるもので、我が家はごくごく一般的な「共働き」ということで、特に優先されることもなく、ほかの多くの希望者との横並びでの対決となりました。

 

結果希望した保育園のなかでも、結構下の方の小規模保育施設に決まりました。

まぁ、しかし、見て回った限り、小規模だから心配というようなことは無く、安心して預けられそうで、しかも家からも比較的近いという事で、希望順位としては低いものの、結果的には良い園に入れたなと感じています。

 

これからの予定

次のイベントは「慣らし保育の終了」「妻の復職」です。

それぞれ心配が大量にありますが、家族で力を合わせて、無理をせずに楽しく進めていきたいと思います。

自炊レベルアップの道のりと、「クラシル」が便利だよという話。

自炊してますか?

コロナ禍という事、また、私の場合は育児休業していたこともあり、ここ1年ほど自炊をする機会がぐっと増えました。

 

自分は元から「自炊」についてはそこまで苦手意識は無く、必要とあらば自炊してきましたが、ここ最近その自炊レベルがちょっと向上してきたと感じたので、記事にまとめることにしました。

 

f:id:inajob:20210307101421p:plain

f:id:inajob:20210307104155p:plain




大学に入って初めての自炊生活スタート

大学に入ったときに初めての一人暮らしをスタートしました。学生という事で例にもれず自分も自由にできるお金が少なかったという事もあり、自然と自炊を始めました。

 

始めこそ、「グラタン」「シチュー・カレー」など凝った料理に挑戦していたのですが、だんだん面倒になってきて 白米+納豆+野菜炒め、とかチャーハンといった、簡単料理に収束していきました。

 

ここで学んだことは

  • 1品の料理であればレシピを見ながら作ることが出来る
  • 野菜炒めは簡単で栄養バランスも良さそう
  • 自分はそこまで食にこだわりが無いので1品料理でも問題ない

結婚して「人にふるまう料理」を意識する

その後、長い間 簡単なメニュー生活が続きましたが、結婚して妻にも料理を食べてもらうこととなり、「人に食べてもらう」という事を少し意識するようになりました。

と言ってもメインが「野菜炒め」なのは変わらず、副菜や、盛り付けなどに気を付けるようになったかな、という感じです。

まぁ共働きなので、昼は会社で食べますし、夜も気が向いたら外食したり、妻も料理を作ったりする生活だったので、バリエーションが少ないことはそこまで気になりませんでした。

ここで学んだことは

  • 野菜炒めばっかりだと妻が飽きる
  • 気が向いたら外食するという生活習慣もアリ

コロナ禍・育休でバリエーションを意識する

そしてこのコロナ禍・育休です。

別の記事にも書きましたが、妻は妊娠してから体調がすぐれず、台所に立てない日も多くありました。また、「つわり」ということで、食べれるものも制限され自炊の難易度が上がりました。

 

育休に入り生活時間に隙間が出来てきたタイミングで、副菜を作り置きしたり、肉を下ごしらえして冷凍するなど、料理の前の工夫というのも実践するようになりました。

 

鶏肉を少し醤油・みりんに漬け込むだけでも、随分おいしくなるという事を学びました。

ただ昼・夜 毎食作るのは負担が大きいという事で、一食はヨシケイの「冷凍弁当」に頼ることにしました。

ここで学んだことは

  • 子供が生まれると外食が厳しい
  • 今までの方法で毎晩自炊するとバリエーションに乏しい
  • 冷凍弁当は便利
  • 作り置きは便利
  • 下ごしらえは有用

カットミールで「献立」を意識する

そして、今年に入ってから 私が育休を終え、仕事に戻るようになり、夜ごはんの準備する時間がタイトになってきました。

そこで、ヨシケイの「カットミール」を1か月間ほど試すことにしました。

これは主菜・副菜の2品目が作れるだけの材料を届けてくれるというサービスです。

f:id:inajob:20210307100334p:plain

yoshikei-dvlp.co.jp

うれしいのは主菜、副菜の工程をミックスしたレシピです。

今まで自分は1品をシングルタスクで作ることはできたのですが、複数の料理をマルチタスクで準備することが苦手でした。このレシピはこの自分の問題をスムーズに解決してくれました。

(そして、マルチタスクといっても、当然自分は1人なのでいわゆる時分割システムなのだなということを身をもって理解しました。)

f:id:inajob:20210307100500p:plain

(無断転載禁止らしいので、雰囲気がわかる一部画像を掲載。)

ここで学んだことは

  • 「献立」という概念
  • 並行して複数のレシピを調理するという修行

クラシルで料理レベルアップ

そして先週から、夜ごはんの準備をカットミールに頼らない「完全自炊」にしてみるという挑戦をしています。

主な理由としては、子供が大きくなるにつれて自炊スキルアップが必須であったり、カットミールは便利だが割高、というようなことが挙げられます。

 

ただ、無策に「自炊をやるぞ!」としても、また今までの「野菜炒め」のみの自炊スタイルに戻りそうだったので、いろいろと本やアプリを探してみました。

 

その結果「クラシル」が結構よさそうということで、先週はクラシルを使ってみました。

www.kurashiru.com

クラシルは今回のような用途に非常によくマッチしていて、「献立の計画」「買い物」「調理」という3つの作業をスムーズにサポートしてくれました。

 

まず、献立の計画です。主菜・副菜・汁物の3品を選びます。クラシルはメニューが豊富で、旬の食材や、冷蔵庫に余っている食材をキーワードに検索をすると様々な候補が表示され、そこから好きなものを選ぶことが出来ます。これでひとまず3日分の献立を決定します。

f:id:inajob:20210307103954p:plain

次に、買い物リストの作成です。先程決定した献立を作るために必要な材料がすでに登録されているので、その中から家にあるものを消すことでリストを完成させます。この買い物リストも地味に便利で、材料をタップすることでそれがどの料理に必要なものかをさっと確認することが出来ます。これにより、スーパーで代替の食材を選ぶのが非常に楽でした。

f:id:inajob:20210307104019p:plain

最後が調理です。献立を構成する3つの料理のレシピをスワイプで切り替えることが出来るというUIにより、並列に進行する料理の工程を比較的簡単に把握することが出来ます。(欲を言えばヨシケイのカットミールレシピのようにマージして1つの工程として表示してほしい。)

f:id:inajob:20210307104049p:plain

まぁ、こんな感じで「クラシル」に助けられながら料理をしてみました。

結果、非常にそれっぽい食卓になり、自分でもここまでちゃんとした料理ができるようになったことに驚きました。

f:id:inajob:20210307104155p:plain


ここに記載した適切なステップアップが良かったのだとは思いますが、それを差し置いても「クラシル」がよくできているなと感じました。

まとめ

今さらですが、アプリの力を借りてやっとそれっぽく料理ができるようになってきました。

モノづくりは元々好きな方ですが、毎日「おいしい!」と褒めてくれる妻の存在も大きいです。いつもありがとう。

 

ノーコード電子工作で娘のおもちゃを作った

はじめに

せっかく電子工作のスキルがあるのだから、娘のおもちゃを自分で作ってみたい!

という完全に自分の欲望駆動により我が娘(9か月)でも遊べそうなおもちゃを作る事にしてみた。

 

まずは作ったおもちゃの現物の紹介です。

↓のような感じのボタンの付いた箱です。ボタンを押すと音が鳴ります。

要件

  • 力作を作って、遊んでくれなかったり、すぐ壊してしまっても悲しいので、ひとまず非常に簡単なものとする。
  • 光る or 音が鳴る、というのがいかにもおもちゃらしいが、強い光は直視すると目に悪そうだし、この月齢のおもちゃで光るものをあまり見かけないことから、「音が鳴る」というのがよさそうだと判断。
  • 基本的には親が見ているときにしか遊ばせないが、なるべく危険が少ない作りにする。

部品探し

電子工作を嗜んでいる私の部屋には、「余り部品」がたくさん転がっている。

今回はそういった部品を組み合わせて作ってみることにする。

f:id:inajob:20210212034447p:plain

出てきた部品たち。

トグルスイッチが楽しそうだが、ちょっとサイズが小さいようで、娘にはまだ早そう。

アーケードゲーム用のスイッチが大きくて、軽く押すことが出来て、ちょうど良さそう。

音を出すためにはスピーカーも必要だが、これもたくさん部屋に転がっている。

設計という名の部品選定

設計という名の部品を並べるだけのやつ・・

f:id:inajob:20210212034711p:plain

部品はこれで全部。

詳しく見ていくと・・・

DFPlayer mini

これが今回のプロジェクトのキモです。

マイクロSDカードを差し込むことができ、その中に入っているmp3やwavファイルを再生することが出来るという、まさにこのおもちゃのために存在するようなモジュールです。1つあたり500円しない安さも魅力です。

 アーケードゲームボタン

以前千石電商から購入したものです。1個200円くらいする(電子部品にしては)高級品

 フレキシブルユニバーサル基板

普通のユニバーサル基板でも良いのですが、今回利用したのはこのタイプのはさみで切ることが出来るユニバーサル基板です。

簡単に好きな大きさに切ることができるので、そのプロジェクトにぴったりの大きさの基板を作ることが出来て便利です。

 その他

導線少々、電池ボックス、XHコネクタ、スピーカー、3Dプリンタ用フィラメントの箱

こんなもんです。

回路設計・実装

今回利用するDFPlayer MiniArduinoなどからシリアル通信で制御するほかに、スタンドアローンで動作させるモードがあります。

今回はこのスタンドアローンで動作するモードを使って、お手軽に済ませることにしました。

スピーカーを駆動するためのアンプもDFPlayer Miniに内蔵されているので、スピーカーも直結でOKです。 

動作電圧は3.3~5Vの間である必要があるので、乾電池3本を電源とします(1.5V*3本 = 4.5V)

 

スタンドアローンで動かす場合(AD KEY Mode)は、ADKEY1,ADKEY2というピンをGNDに対して抵抗を挟んでスイッチにつなぐことで最大20個のスイッチを認識させることが出来ます。(普通はこういうのはマトリクスキースキャンを使いそうなものですが、抵抗の大きさでキーを識別するというのは面白いです。)

DFPlayer_Mini_SKU_DFR0299-DFRobot より引用)

f:id:inajob:20210212044054p:plain

今回はこの機能のうち抵抗を挟まないパターン(I/O Mode)を利用して、2個のスイッチを認識させます。

 

DFPlayer_Mini_SKU_DFR0299-DFRobotより引用)

f:id:inajob:20210212043934p:plain

(この図のさらに IO1,IO2の配線を省いたものが今回の回路です)

 

この2個のスイッチに割り当てられている機能は「1番目のファイルを再生する」「5番目のファイルを再生する」です。

 

これにより2種類の音楽ファイルを2つのボタンを押すことで再生できるという機能が実現できます。

 

配線は簡単。電池ボックスのプラス極とマイナス極、スピーカー、スイッチ2つ・・以上です。

 

雑に書くとこんな感じ↓

f:id:inajob:20210212044212p:plain

清書しました↓。

f:id:inajob:20210212125530p:plain

実装しました↓。余りの導線を利用しているので、GNDが黒色以外は色は無茶苦茶です。

f:id:inajob:20210212125648p:plain

裏面はこんな感じです。部品箱に余っていた余りの針金を使いました。

f:id:inajob:20210212125726p:plain

筐体設計・実装

設計も何も、スイッチ2つを厚紙でできた箱に取り付けるだけです。

キリで穴をあけて、リーマーで広げて、適切な大きさの穴を作り、スイッチをはめ込みます。

音源を探す

それっぽいサウンドエフェクトをインターネットから探してきます。

今回はDownload Free Sound Effects for Videos - Mixkit から探してきました。

SDカード内に「01」というフォルダを作り、その中に001.wav, 002.wav, 003.wav, 004.wav, 005.wavと5つのWAVファイルを配置します。(今回はこのうちの001.wavと005.wavだけが再生対象なので、ほかのファイルは何でも良いですが、5つ必要です。)

 

というのも、今回実装した回路が、「1番を鳴らす」と「5番を鳴らす」という2つの機能のスイッチだけを搭載したものだからです。 

完成!

これだけで完成です。プログラミングが不要なのが良いですね。

中身はこんな感じ

f:id:inajob:20210212041921p:plain

実際に娘の前に差し出してみたところ、なんとなく遊んでくれました!!

ベシベシとボタンをたたき、自分から音を鳴らそうとしているように見えました!!

 

自分の娘が、自分の作ったおもちゃで遊んでくれているというのは何とも感慨深いものです。

まとめ

という事で、我が娘のためのおもちゃは無事完成し、娘にもそこそこ気に入ってもらえたのではないかと思います。

 

DFPlayer Miniを使ったプログラミング不要の電子工作は手軽なので、ちょっと音が鳴る仕組みを作りたい場合には重宝しそうです。

 

f:id:inajob:20210212192005p:plain



9か月の育休を終えて

 

f:id:inajob:20210124210638p:plain

昨年4月からまるっと9か月育休を取得するという貴重な体験をしたので、育休が終わった今、振り返り記事を書いてみました。


ここまで長い男性の育休というのはまだ珍しいと思うので、この記事が少しでも多くの方の役に立てば幸いです。

この育休体験記のフォーマットは #パパ育 を主催している シカゴリラさんから提案いただいたものです。

 

papaikuq.com

基本情報

  • 名前: inajob
  • 具体的な育休取得期間: 2020年4月(出産当日)から2020年12月(9か月)まで
  • 居住地: 関東圏
  • 職業: 会社員(1001人以上)
  • 育休取得時の家族構成: パパ(自分)35歳、ママ35歳、娘(0歳)

育休を取得した理由

頼りにできそうな親族は遠方で、出産直後の妻1人では育児をしていくのは難しいと感じたためです。
また、これから始まる長い育児をしていく中で、自分の経験値を高めておくために育休制度を使うのが金銭面でも有効だと感じたというのも理由の一つです。

育休取得プロセス

家族とのやりとり

妊娠時から、(望んだ妊娠とはいえ)妻が子育てについて不安を抱いており、自分も長く育休を取得し一緒に頑張っていこうと話し合っていました。
さらに妻はつわりも比較的ひどかったため、妊娠中の食事の用意や家事全般も自分ができるだけ対応し、役に立つアピールをしていたことも、育休取得の流れにつながりました。

会社とのやりとり

比較的大企業という事もあり、育休を取ることは会社としても推奨していると感じました。
妊娠発覚時から上司と育休については話し合っており、長期にわたる育休にもかかわらず、業務の引継ぎをスムーズに行うことが出来ました。同じ部署に子持ちの方が多かったというのもスムーズに事が進んだ一因だと思います。

 

育休中の生活

家事や育児について

家事についてはもともと妻と分担しており、またお互いが不調の時に代わりに担当家事を肩代わりすることもあったので、そこまで心配していませんでした。
しかし、育休により家での食事が増えたため、食事の準備をする家事が思いのほか増えました。

とはいえ、自分も妻も両方育休を取得していたため、自由にできる時間はそこそこあったので、この機会に「作り置き」や「下ごしらえ」などのテクニックを使い、自炊のバリエーションを増やしたり、時短調理できるようになりました。

 

育児の方は、第一子という事もあり、わからないことだらけでした。また、親戚も遠方ということで、育児本で学んだり、ママ友・パパ友から教えてもらったりしました。

出産直後、妻が非常に疲弊しており、ともかく休ませたいという事で、夜間の子守は私が担当しました。今も引き続き夜間の子守をしています。夜ミルクを欲する回数も減り、随分ラクになりました。

夜自分が子守をする代わりに、朝のルーチン家事は妻にお願いし、自分は朝7時ごろから足りない分「朝寝」をさせてもらっています。

 

育児のために必要な道具については、自分が調査をして、おすすめ品を妻に紹介して、良さそうなら購入という風にしました。例えば哺乳瓶一つとっても、様々な種類があり、それらをざっと見るだけでも結構手間がかかってしまいます。
もともと自分は「ガジェットオタク」的な気質なので、育児用品も一種の「ガジェット」ととらえ、様々なメーカーの様々な製品を調べ、利点・欠点をまとめ、今我が家に必要なものはどれか?を検討するという作業を楽しんでこなすことが出来ました。
(ただしファッション系を除く・・)

 

育休からの復帰に備えて予行演習的に「ベビーシッター」さんに子守を見ていただくというのも体験しました。これが意外とよくて、ちょっとした日常の心配事を相談したり、子育てのためのTipsを教えてもらったりと、単なる「子供を預けてその間に親が別のことをする」使い方だけでなく、「子育ての相談」という使い方もアリなんだなと感じました。(最近はコロナなどもあり、あまり利用できていませんが・・)

家事や育児以外(自己研鑽や趣味、家族旅行、住宅購入等)

もともと私はコンピュータを使ったモノづくり(ソフトウェア、ハードウェア)が趣味で、育休中も工夫しながら趣味を続けることが出来ました。これも妻と育児を分担しているおかげです。
特にソフトウェアの作業は細かい単位で変更ができるので、隙間時間でを使ってモノづくりをするには向いていると感じました。

また、ブログ記事を書くような作業も区切りをつけながら作業することで、育児と両立して行うことが出来ています。一方、全く新しいことに挑戦するような趣味は時間がどれだけかかるか見積もることが出来ず、また細切れの時間で作業すると非常に効率が悪くなってしまうので、あまり育児とは向いていないように感じています。

 

旅行はもともと年に1~2回、近場に行くくらいでした。娘が生まれてからも、うまく工夫して旅行することが出来ました。まぁ夫婦二人でのんびり旅行とはずいぶん雰囲気が違いますが、娘を連れた旅行というのも良い気分転換となりました。

inajob.hatenablog.jp

大きく変わったのは、外食やカフェでまったりするようなことが難しくなった点です。1人が娘を見ている間に、もう一人がカフェに行くというようなことはできますが、夫婦でのんびり・・というのはしばらくできないだろうなと感じています。

 

住宅は妊娠前から子育てを前提とした間取りの部屋に引っ越し済みだったので、特にこのタイミングでは何かをする必要はありませんでした。生活家電については、ドラム型洗濯機、ロボット掃除機はすでに利用中でしたが、これらは育休中も大活躍しました。

育休中に新たに購入した家電としては「食洗器」があります。これも大活躍中です。

ということで、いわゆる新・三種の神器はすべて揃えましたが、どれも育休中、大活躍しています。

育休中の大変だったエピソード(子供の病気や怪我、突発的な事故(ヒヤリハット体験)、育休中のドタバタ等)

私、妻、娘全員が風邪をひいたことがあり、全員熱は出ていないものの咳や鼻水がひどいという状態で、この時が一番大変でした。

inajob.hatenablog.jp


また、出産後の妻が疲弊している期間が思った以上に長く、育休を取っておいて本当に良かったと感じています。
(肉体面でもそうですが、精神面での疲弊も結構きつそうで、生活を共にしつつサポートすることが非常に大事だと感じました)

今のところ突発的な事故は起きていません。ドタバタは・・まぁ日々ドタバタですね・・。


育休を振り返ってみて

育休なしの自分の子育て生活は考えられないです。もし育休なしという事で進めていたとしても、妻一人では全く回らず、緊急で自分が仕事を休むことになっていただろうと思います。

 

子供の世話というのは、幼いころほど手がかかり大変というのはそうなのですが、幼いころほど単純で、その対処自体は簡単だと感じました。(その簡単な対処が非常に多いので幼いころは大変なわけですが・・)

つまり作業としての難易度ははLv1、苦労としてはそこそこ、というのが生まれたての赤ちゃんです。これが成長していくにつれて、できることが増え、自分の考えも持ち、徐々に子育ての作業としての難易度が上がってくるように感じています。

育休を取ることで、このLv1の状態から子育てに取り組めているという事が、今後の長い子育ての道のりの大きな助けになっていると感じています。娘と一緒に父親の私もレベルを1つずつ上げていくことで、無理のない楽しい子育てができています。

これが、育休を取らず、ちょいちょい手助けをするような子育てをしていると、自分のレベルが上がらず、そのギャップに苦労していただろうなと思います。

 

次に子供が産まれたら育休を取得したいか

取得したいですが・・今のところ2人目は考えられないくらい日々がバタバタです。(よく皆さん2人以上子育てできてますね・・)

これから育休を取得する人へのメッセージ

女性みんながそうなのかは、わかりませんが、少なくとも我が家の場合は、出産後の妻は非常に疲弊しており、子育てできるコンディションではない状態が数か月続きました。

そうなってからバタバタするより、あらかじめ育休を取得し、余裕をもって育児をするほうが絶対に良いです。最悪の場合、産後クライシスと呼ばれるような夫婦の仲に亀裂を生じさせるような事態にもなりかねません。

また、育児というのは非常に長く続きますが、その第一歩をうまく進めるためにも早い段階から育児にかかわっておくことがうまく進める秘訣なのでは?と感じています。

子育てというのは余裕があると、子供はかわいいし、周りのみんなにも愛でてもらえるし、良いことずくめですが、ギアがくるって、疲れが先行してしまうと、ギャン泣きに苦しみ、寝不足になり、妻とは喧嘩する毎日・・という裏返しの状況になってしまうものです。

育休に限らずですが、家族に無理が無いように調整しつつ子育てしていく工夫というのが大切だと感じています。

 

(こういうことが出来る余裕が大切です↓)

 

 

その他(言い残したことがあれば是非)

育児は夫婦で挑む孤独な戦いという側面もあります。

そんな中でも頼りになるのは、同じ経験をしているママ友・パパ友です。
私の経験上、ママ友というのは比較的多くコミュニティがあり、地域の子育てサークルなどを通じてつながりを持つことが出来ますが、パパ友というのは意外と見つけにくいものです。

私の場合、仕事がインターネット関係という事もあり、育休中も職場の先輩パパにチャットで近況報告や、相談をさせてもらったり、Twitterの #パパ育 のハッシュタグで、同じく子育てに奔走するパパの皆さんとつながりを持ったりして、この孤独な闘いを少しでも楽しく、有意義に過ごせるように工夫しています。

このブログで子育て記事を発信しているのもそうした活動の1つです。

私の体験が少しでも多くの方の助けになれば幸いです。加えて、今後もこのブログやTwitterを通して子育ての近況や、悩みを発信していきますので、今後ともどうぞよろしくお願いします。

 

育休中に書いた子育てに関する記事リンク集

inajob.hatenablog.jp

inajob.hatenablog.jp

inajob.hatenablog.jp

inajob.hatenablog.jp

inajob.hatenablog.jp

inajob.hatenablog.jp

inajob.hatenablog.jp

inajob.hatenablog.jp

GamePi20を「物理”TIC-80”ゲーム機」にする

2020まとめも書いてしまった後ですが、ちょっと記事を書きたくなっちゃいました。

 

縁あってレビューした、下記記事のGamePi20というゲーム機ですが、これを使って Fantasy Computerである「TIC-80」のゲームを動かす方法が分かったので、紹介していこうと思います。

inajob.github.io

 

TIC-80って?

実はTIC-80については、ずいぶん前に記事を書いたことがありました。

inajob.hatenablog.jp

要は、レトロ風ゲーム実行環境です。実際のレトロゲームは「専用ハード」があり、そこで動くゲームでしたが、TIC-80などのFantasy Computerと呼ばれる仮想のゲーム機は、本体を持たず、PCなどで遊ぶことが前提とされています。

 

この手の仮想ゲーム機で最も有名なものは PICO-8 Fantasy Consoleです。ブラウザでゲームを遊ぶのは無料でできますが、ゲーム開発や、ネイティブアプリでの実行に関しては有料のソフトウェアです。

f:id:inajob:20201229164543p:plain

一方、TIC-80 tiny computerオープンソースで開発されており、特にお金を払うことなく開発・実行ができます。

 

GamePi20って?

こちらは自分が書いた下記レビュー記事を見て欲しいのですが、ざっくりいうとRaspberry Pi Zeroを内蔵したポータブルゲーム機です。

inajob.github.io

もともと、このゲーム機はファミコンや、メガドライブなど、レトロゲームエミュレータを動作させるためのものですが、この記事では、仮想ゲーム機であるTIC-80のゲームを動かす方法を紹介していきます。

 

ゲームエミュレータ用OS 「Recalbox」とは?

f:id:inajob:20201229164140p:plain

GamePi20のようなLinuxを基にしたゲームエミュレータ専用機というのは、ほかにもたくさん存在し、世界中に愛好者がいます。

そのため、このようなLinuxマシンを簡単にセットアップするためのLinuxディストリビューションも存在しています。この手のOSでは、メニューなどの操作をすべてゲーム用コントローラで操作できたり、簡単にROMファイルをゲーム機に転送するための仕組みが用意してあったりと、ゲームエミュレータ利用者が欲しい機能が一通り実装されています。

 

そのようなOSとしてメジャーなものとしてRetroPieRecalboxがあります。

実はこのRecalboxのバージョン6.1から TIC-80のゲームが実行できるようになったのです。

 

ということで、この記事では最新のRecalboxをGamePi20に導入する方法を紹介していきます。

 

GamePi20とRecalbox

GamePi20には公式で提供されるRecalboxと RetroPieのOSイメージが存在します。

しかし、Recalboxのバージョンが6.0と古く、前述したTIC-80には未対応のものとなっています。

という事でGamePi20の公式イメージに頼らず、Recalboxの最新版(Version 7.1.1-Reloaded)をセットアップする必要があります。

 

大まかな流れはGamePi20のWikiに書いてあるので、それに従っていきます。

GamePi20 - Waveshare Wiki

必要なもの

これからの作業を実施するにあたり必要なものは下記です。(リンクは参考です、自分の環境では家に合ったテキトーな機材を使っています。)

 (上記はAmazonですが、Banggoodだともっと安いですよ!)

  • mini-HDMI - HDMI ケーブル(またはアダプタとケーブル)
  • USB-OTGアダプタ
iBUFFALO USB(microB to A)変換アダプター ブラック BSMPC11C01BK

iBUFFALO USB(microB to A)変換アダプター ブラック BSMPC11C01BK

  • 発売日: 2011/11/01
  • メディア: エレクトロニクス
 
  • USB接続のキーボード

SDカードへのイメージの書き込み

ここではWindowsを使ってセットアップを行う方法を紹介していきます。

まずは16GB程度のSDカードを用意します。

下記からRaspberry Pi Imagerをダウンロードします。

Raspberry Pi OS – Raspberry Pi

Raspberry Pi Imagerをセットアップしたら、SDカードにRecalboxをインストールします。

f:id:inajob:20201229165806p:plain
OS一覧にRecalboxがあるので、選択して、SDカードへの書き込みボタンを押すだけで、後は勝手にやってくれます。

f:id:inajob:20201229165819p:plain



HDMIの出力を一番安心なものにする

このSDカードをGamePi20に挿入して起動!と行きたいところなのですが、HDMIの出力設定を変更しておきます。

もしかしたらこの手順無しでもうまく動くかもしれませんが、モニタとの相性などでうまく映らないことがあるので、設定することを勧めます。

 

前節で書き込んだSDカードをPCに挿入すると/bootの内容にアクセスすることが出来るので、そこに存在するconfig.txtを編集し

hdmi_safe=1

という行を有効にします(もともとコメントアウトされているはずです)

これで一番コンサバな設定でHDMI信号が出力されるようになります。

SDカードを挿入

GamePi20のねじを外して、分解します。

f:id:inajob:20201229165917p:plain

メイン基板からピンヘッダで接続されているRaspberry Pi Zeroを分離します。この際、基板を傷つけないように気を付けてください。(結構外しづらいです。)

f:id:inajob:20201229165939p:plain

分離したRaspberry Pi Zeroに元々挿入されているSDカードを抜いて、先ほどセットアップしたSDカードに差し換え、GamePi20を再び組み立てます。

 

(ここで横着して、ケースに入れず続きの作業を行うのは推奨しません。基板が金属に触れて故障したり、HDMI端子やUSB端子に斜めに力がはいって「もげる」こともあります)

初回ブート

初回ブート前に、必要な配線を行います。

初期ブート時は内蔵の液晶モニタや、キーパッドが利用できないので、下記のようにモニタとキーボードを接続します。

  • HDMIケーブル(HDMI Mini - HDMI)でモニタと接続
  • USB-OTGアダプタ経由でキーボードを接続

電源を入れるとHDMIケーブルで接続されたモニタにスプラッシュ画面が表示されます。電源を入れてからしばらく(2分くらい?)時間がかかるので気長に待ってください。その後ローディング画面でまた3分ほど待ちます。

 

WiFiの設定

次にWiFiの設定を行います。これにより以降、sshで接続したり、Samba経由でファイルを編集したりできるようになります。

 

まずEnterキーでメニューを表示します。上下キーで「NETWORK SETTINGS」を選択し「A」キーで決定します。

次に「ENABLE WIFI」で「A」キーを押します。「Connecting to WIFI...」と表示されるのでしばらく待ちます。

そして「WIFI SSID」で接続したいAPを選択して「A」キーで決定します。

最後に「WIFI KEY」で接続パスワードを入力します。(ここはキーボードでパスワードを入力します。

 

接続ができると「IP ADDRESS」の欄にIPアドレスが表示されるので、内容を控えておいてください。

SSH接続して続きの設定を行う

下記のようにしてログインします。ユーザ名は"root"、パスワードは"recalboxroot"です。

$ ssh root@192.168.X.X  # 上記で確認したIPアドレス

Recalboxではシステムファイルは編集できないようにReadOnlyでマウントされているため、編集できるようにマウントしなおします。

# mount -o remount, rw /boot
# mount -o remount, rw /

/etc/modules.conf にフレームバッファ関係のカーネルモジュールの設定を追記します。

# vim /etc/modules.conf

以下の内容を追記します(もともと書かれている内容はそのままにしておいてください)

flexfb
fbtft_device

次にSPIを有効にするために/boot/config.txtを編集します。

# vim /boot/config.txt

以下の内容を追記します(もともと書かれている内容はそのままにしておいてください)

 dtparam=spi=on

続いて、/etc/modprobe.d/fbtft.confというファイルを作成し、液晶画面の初期化方法などの設定を行います。

# vim /etc/modprobe.d/fbtft.conf

内容は下記です。(この部分、公式Wikiの値が間違っています。下記が正しいです。)

options fbtft_device name=flexfb gpios=reset:27,dc:25,cs:8,led:24 speed=96000000 bgr=1 fps=60 custom=1 height=240 width=320
options flexfb setaddrwin=0 width=320 height=240 init=-1,0x11,-2,120,-1,0x36,0xA0,-1,0x3A,0x05,-1,0x21,-1,0x2A,0x00,0x01,0x00,0x3F,-1,0x2B,0x00,0x00,0x00,0xEF,-1,0xB2,0x0C,0x0C,0x00,0x33,0x33,-1,0xB7,0x35,-1,0xBB,0x1F,-1,0xC0,0x2C,-1,0xC2,0x01,-1,0xC3,0x12,-1,0xC4,0x20,-1,0xC6,0x0F,-1,0xD0,0xA4,0xA1,-1,0xE0,0xD0,0x08,0x11,0x08,0x0C,0x15,0x39,0x33,0x50,0x36,0x13,0x14,0x29,0x2D,-1,0xE1,0xD0,0x08,0x10,0x08,0x06,0x06,0x39,0x44,0x51,0x0B,0x16,0x14,0x2F,0x31,-1,0x29,-3

ここまで出来たらリブートします。

# reboot

しばらく待って、再びSSHで接続します。

/dev/fb1が存在することを確認します。

# ls /dev/fb*
/dev/fb0  /dev/fb1

このfb1が内蔵液晶用のフレームバッファです。(fb0はHDMI接続されたモニタのためのフレームバッファです)

 

再び設定ファイルを編集するので、マウントしなおします。

# mount -o remount, rw /boot
# mount -o remount, rw /

/etc/init.d/rcSに下記を追記します。

fbcp &

このfbcpというツールはfb0の内容をfb1にコピーするというもので、これにより次回に起動したときは、内蔵液晶モニタにもHDMI接続されたモニタと同じものが表示されるようになります。(Recalboxにもfbcpの設定があるようなのですが、正しく設定する方法がわからず、ここでは強引にブート時にfbcpが起動するように設定しています。)

 

次にrecalbox.confを編集します。

# vim recalbox.conf

ディスプレイの設定を下記のように設定します。(該当部分の設定を下記のように変更します。ほかの部分はそのままにしておいてください。)

global.videomode=default
global.ratio=4/3

次にコントローラの設定を行います。

GamePi20はコントローラの各ボタンがRaspberr Pi ZeroのGPIOに接続されているので、そのピンを列挙する形で設定します。

controllers.gpio.enabled=1
# controllers.gpio.args=map=1,2  # この行はこのようにコメントアウトする
controllers.gpio.args=map=5 gpio=12,20,21,13,26,16,23,4,6,17,22,5,16

最後にconfig.txtでtftディスプレイとスピーカの設定を行います

# vi /boot/config.txt

下記を追記します。

hdmi_force_hotplug=1
hdmi_cvt=640 480 60 1 0 0 0
hdmi_group=2
hdmi_mode=1
hdmi_mode=87
dtoverlay=pwm

ここまで設定出来たら、再びrebootします。

# reboot

BGMがスピーカーから鳴り、液晶とキーパッドが正しく動くことを確認します。

 

ここまでで普通にRecalboxが動くようになりました。HDMIを抜いても普通に遊ぶことができます。

f:id:inajob:20201229163543p:plain

プラスアルファの設定 - ゲーム一覧の文字サイズを大きくする

ここまでの状態だと、ゲーム一覧の文字が小さすぎて、液晶だと読めないです。

# mount -o remount, rw /
# vim /etc/emulationstation/themes/recalbox-next/theme.xml

設定のうちの下記部分のfontSizeを0.05に変更します。

 <textlist name="gamelist">
<fontPath>./data/arts/Exo2-BoldCondensed.otf</fontPath>
<fontSize>0.025</fontSize>
<forceUppercase>1</forceUppercase>
</textlist>

 プラスアルファの設定 - 不要なサービスを停止する

Recalboxのデフォルトで起動している仮想ゲームパッドと、Web経由での設定変更をするためのマネージャは利用しないので停止しておきます。

# vim recalbox.conf
system.virtual-gamepads.enabled=0
system.manager.enabled=0

ゲームを転送する

ゲームを転送するためには、Samba経由でアクセスするのが簡単です。

Windowsの場合はエクスプローラに、「\\192.168.X.Y\share\roms\」と入力することで、GamePi20のファイルにアクセスすることが出来ます。

TIC-80のゲームの場合は拡張子がticのファイルを入れればOKです。

 

転送後は STARTボタンメニューの「UPDATE GAMELISTS」を実行しないとゲームが表示されないので注意が必要です。

 

ゲーム中にRecalboxのメニューに戻る

HotKey + START を押すことで、Recalboxのメニューに戻ります。

このHotKeyはここまでの設定で「SELECT」ボタンに割り当ててあります。

他にもこのHotKeyを使うことでスクリーンショットを撮ったりもできますので、説明書で確認してください。

 

During the game - Documentation

 

TIC-80のゲーム

TIC-80 tiny computer から選び放題です。ブラウザでも遊べますが、各ページの「download cartridge」からticファイルをダウンロードすることができ、これをGamePi20に転送することで、GamePi20でも遊ぶことが出来ます。

ただし、TIC-80のゲームの中にはCPUパワー要求するものもあるため、GamePi20では処理落ちしてしまうものも多いです。

 

手元でちょっと調べた中だと、下記の「STELE」などはGamePi20でもキビキビ動いていい感じでした。

tic80.com

まとめと宣伝

ということで、GamePi20に最新のRecalboxをインストールして、TIC-80のゲームが遊べるようになりました!

 

GamePi20は本来レトロゲームエミュレータを遊ぶためのガジェットとして作られたものですが、仮想ゲーム端末である「TIC-80の物理端末」としても活用法も面白いと感じました。

 

GamePi20は汎用Linuxマシンなので、TIC-80はもちろんですが、Webサーバやファイルサーバ、プレゼンテーションなど様々なソフトウェアを持ち歩くことが出来ます。

ポケットからさっと取り出したマシンから直接プレゼンテーションをするなどは、なかなか面白い使い方だと感じます。

 

皆さんもこのGamePi20の使い道を考えてみてはどうでしょう?

 

そんなGamePi20ですが、Banggoodで購入する方にはクーポンがあるので、ぜひ下記ページを参照してクーポンコードをゲットして購入してください。

クーポンの有効期限は2021/01/31までなので、欲しいと思ったら即ポチることをお勧めします!

 

inajob.github.io