Mira&Luna's nursery lab

旅乙女と発明娘の子供部屋

手作り🍎 Arduboyを自作します。その2.ゲームを書き込むための準備💻

Mira
手作りArduboyの作り方(∂. ∂🎀/
そのPC内環境 準備編
(ソフトウェア面の準備)


◆ 手作りArduboy
f:id:miraluna:20201109211431j:plain
<目次>
その1.【パーツ準備編
その2.【PC内環境 準備編】 (この記事)
その3.【配線&動作確認編
その4.【実装編
その5.【"Arduventure" クリア動画
その6.【ポート認識トラブル解決編
その7.【"SIRÈNE" プレイ動画
その8.【"CastleBoy" プレイ動画


ちっちゃいゲーム機「Arduboy」の互換機を自作します。
Arduboy公式≫ ←リンク
以前に「Tiny Joypad」という同じサイズのゲーム機を作ったんだけど、それはATtiny85(ちびやっこ)というマイコンを使ったもの。今回作るArduboyはATtiny85の4倍のメモリ容量をもつATmega32u4というマイコンが使われているの。つまりゲームの内容も、より情報量の多いものになっています。

🍎TinyJoypad自作の記事は ↓ こちら
miraluna.hatenablog.com

2回目の今回は、これから自作するArduboyにプログラムを書き込むため、PC内の下準備を行っていきます。


🍇この記事内の目次🍇

     f:id:miraluna:20200516143652j:plain:w250

Arduino IDE をダウンロードする。

これから作るArduboyはArduinoというプロジェクトから派生したものなの。だからプログラムを書いたり、書いたプログラムをマイコンボードに書き込んだりするのは、Arduinoの開発環境「Arduino IDE」を使います。
  Mira on Arduinof:id:miraluna:20190511195022p:plain:w200
まだ Arduino IDE をPCに入れていない方は、下の「Arduino公式ページ」へのリンクからArduino IDEをダウンロードしましょう。オープンソースなので無料でダウンロードできます。
https://www.arduino.cc/ ←Arduino公式ページ
ダウンロードの方法を知りたい方は ↓ こちらから。
miraluna.hatenablog.com

デスクトップ上での Arduino IDE はこんな姿 ↓ をしています。
f:id:miraluna:20201112180325p:plain:w400
これはサーボモータを動かすために私が書いたスケッチ(プログラム)ね。

Arduino IDE がインストールできたら、これで好きなプログラムを書くことができるし、実際にArduinoマイコンボードに書き込むことができるようになります。

.Arduboyのボードをインストールする。

次に Arduino IDE にArduboyを認識させるため「ボード」にArduboyを加えます。Arduinoには Arduino Uno とか Arduino Leonardo とか Arduino Nano とかいろんな種類があって、それらのことを「ボード」といいます。Arduino IDE には Arduboy のボードがないので(今のバージョンはあるのかな?)、それを加えたいと思います。

まずArduino IDE を開いて、「ファイル」→「環境設定」と進みます。するとそこに「追加のボードマネージャのURL」と書かれたボックスがありますね。
そのボックスに下のURLをコピーして貼り付けましょう。

https://arduboy.github.io/board-support/package_arduboy_index.json

次に Arduino IDE の「ツール」→「ボード」→「ボードマネージャ」と進みます。するとインストールできるボードがたくさん出てくると思うので、その中から「Arduboy by Arduboy Team」というものを選んで、"インストール" ボックスを押しましょう。
これで一度 Arduino IDE を閉じてからまた開けば、「ツール」→「ボード」の中に「Arduboy」が加わっているはずです。

※今回は Arduino Pro Micro というマイコンボードを Arduino Leonardo として認識させて作ります。Arduino Leonardo のボードは初めからIDEに用意されているので、Arduboy のプログラム例を使わなければボードのインストールはしなくてもいいかも。

.必要なArduboy用ライブラリをインストールする。

今度は Arduboy用のライブラリのインストールです。
ライブラリとは、プログラムを実行する上でのルールブックのようなものです。
(参考)手作りGPSロガー プラスαの2回目 「Arduinoでライブラリを使うための準備」 - Mira&Luna's nursery lab

まず Arduboy公式のArduboyコミュニティというページを開き、ロケットの絵のアイコンをクリックします。
リンクはこちら→ Arduboy クイックスタートガイド

そこからページの下へとスクロールすると青い文字が9行あるところに辿り着きます。下の画像の黄色い〇で囲まれたところですね。
f:id:miraluna:20201112192415p:plain
これがライブラリなので、9つともダウンロードします。
青い文字がリンクになっているのでクリックして......
f:id:miraluna:20201112192423p:plain
こんなページに移動したら緑色の「Code」と書かれたボックス(黄緑色の〇)を押して、オレンジの〇で囲んだ部分からダウンロード方法を選びます。私はzipファイルをダウンロードして、解凍しました。
ダウンロードしたファイルは「ドキュメント」→「Arduino」→「libraries」の中に入れましょう。そうしないとArduino(Arduboy)がライブラリを見つけることができません。

さあ、これで正規の準備は整いました。
でも今回はもうひと手間必要です。

.プログラムに手を加える。

ここまでくれば「ATmega32u4」というマイコンを載せた Arduino Leonardo に配線をすれば Arduboy 互換機のできあがり。でも Leonardo は大きすぎるし高価なので、そのちっちゃい版 Arduino Pro Micro を使います。ちっちゃくても同じATmega32u4を載せているので書き込みや動作には問題ありません。でも、小さいのでピンが少ない。Arduboy のライブラリでは、12番ピンが必要なんだけど、Pro Micro には12番ピンがないの。そこでどうするかというと、ライブラリのプログラムを書き換えちゃいます。

書き換えるライブラリは「ドキュメント」→「Arduino」→「libraries」の中にある「Arduboy」と「Arduboy2」です。ゲームによってこの2つのライブラリのどちらかが使われています。新しいものは Arduboy2 を使っていると思います。有名な「Team arg」というプロジェクトチームのゲームなんかは、古いものもArduboy2 バージョンに移行されたみたい。
これからゲームをダウンロードしていくのなら、「Arduboy2」ライブラリだけの書き換えでもいいかも。

書き換えの必要なファイルは「Arduboy」→「src」→「core」の中に入っている「core」というHファイル。または「Arduboy2」→「src」の中に入っている「Arduboy2Core」というHファイル。同じ名前でCPPファイルとHファイルというのがありますが、Hファイルの方です。

Pro Micro に足りないピンは、
①「CS」の12ピン。
②「緑LED」の11ピン。
③「スピーカー」の13ピン。   です。
でも私は緑のLEDは実装しないつもりだし、スピーカーは5ピンにつなぐものと13ピンにつなぐものの2つあるけど、1つで十分だから13ピンはつながない。
そうすると書き換え箇所は「(ディスプレイ用)CS(チップセレクト)」の12ピンのところの1箇所だけね。

◆ 修正箇所
f:id:miraluna:20201113190621p:plain
・「PIN CS 12」の「12」を「2」などに修正。
・(緑LEDを付けるなら)「GREEN LED 11」の「11」を「3」などに修正。

f:id:miraluna:20201113190626p:plain
・(スピーカを正規のつなぎかたにするなら)「PIN_SPEAKER_2 13」の「13」を「6」などに修正。

「などに」と書いたのは、空いている出力可能なピンなら他のピンでもいいからなの(GNDピンとかではだめ)。配線をするときに指定したピンにつなげれば、O.K.よ。


<お買い物コーナー>
 ☆Pro Micro☆  ☆SPI接続OLED☆     ☆Arduino Leonardo☆
 ←6ピン版 


さあ、これでプログラムの書き込み準備は万端🍄
次回はブレッドボード上でパーツを配線して、動作の確認をしていきます。

<目次>
その1.【パーツ準備編
その2.【PC内環境 準備編】 (この記事)
その3.【配線&動作確認編
その4.【実装編
その5.【"Arduventure" クリア動画
その6.【ポート認識トラブル解決編
その7.【"SIRÈNE" プレイ動画
その8.【"CastleBoy" プレイ動画


作製・紹介はミラでした。

手作りArduboy🎮 その1.電子部品(パーツ)の準備と紹介🍎

Mira
Arduboyを自作しよう(∂。∂🎀/
そのパーツ準備編
(ハードウェア面の準備)

みなさん。Arduboyって知っていますか?

      ← これ。なんですけど。

今回はこれを自作していきます。

<目次>
その1.【パーツ準備編】 (この記事)
その2.【PC内環境 準備編
その3.【配線&動作確認編
その4.【実装編
その5.【"Arduventure" クリア動画
その6.【ポート認識トラブル解決編
その7.【"SIRÈNE" プレイ動画
その8.【"CastleBoy" プレイ動画

Arduboyはゲーム機です。とっても薄くて小さいの。なんとクレジットカードサイズ。
どんなゲームがあるのか、ここから少しだけ見られるのでのぞいてみてくださいね。
 ここ → https://arduboy.com/
見ました? 本格的なアクションRPGなんかもあるでしょ?

でも小さなゲーム機ならSonyやNintendoからもいろいろ出てますよね。このArduboyのすごいところは......

. 無料でゲームをインストールできる🍎
 Arduboyにインストールできるゲームは世界中にたっくさんある。それをみんな自由にダウンロードしてきて遊べるの。
でも、どうしてそれほどメジャーじゃないゲーム機用のゲームが世界中にたっくさんあるかって? それはね......

. 自分でゲームをプログラムして作れちゃう🍇
ArduboyはArduinoというオープンソースハードウェアをベースに作られたものなの。自由に使える無料のプログラム開発環境ね。
この開発環境(Arduino IDE)を使ってゲームを作ることができちゃう。そしてそれをネット上で世界中の人と共有できちゃう。だから世界中にたっくさんゲームがあって、誰かが作ったゲームで遊べちゃうというわけなの。それがこのArduboyの面白いところね。

そうはいっても私はプログラムに関してはまったくの素人。ブックオフで100円で買った本を一冊練習しただけ。だからゲームを作ることは難しくてできません。
そこでっ。私が作るのはゲームではなく、ゲーム機本体のほう。
(自称)ジャンクハッカーの腕の見せどころね。まかせといて(∂_∂🎀y

🍐準備する物🍐

まず作製環境として
・インターネット環境
Arduino IDE (Arduino 開発環境) ←無料でダウンロードできます。方法は🌳こちら🌳
・はんだづけ環境
が、必要です。

【電子部品(パーツ)】
パーツは私が使ったものであって、同じものである必要はありません。
 Arduino Pro Micro
Arduboyの互換機を作るには、Arduino Leonardというボードを使うのが簡単なんだけど、高いし大きいの。私はLeonardoのちっちゃい版、「Pro Micro」を使いました。「Pro Mini」や「Nano」といった、Microとそっくりなものもありますが、LeonardoとMicroのコンピュータ(マイコン)は「ATmega32u4」というもので、MiniやNanoのコンピュータは「ATmega328(みつは)」というものなので、別のものです。MiniやNanoでArduboyの互換機を作っている人もいますが、プログラムの書き換えが必要なのでちょっと難しい。今回作っていくやり方より、1つ上級のステップね。

 ディスプレイ(SPI接続OLED 0.96インチ)
「SPI」という通信方法をとるOLED(有機ELディスプレイ)です。接続端子が少なくて済む 「I²C」という通信方法のOLEDもありますが、ArduboyはSPI通信を前提にプログラムされているようなのでSPI接続のものを使いました。技術の高い人の中にはI²CディスプレイとArduino Nanoの組み合わせで自作する人も多いみたい。
純正に従って、SSD1306というドライバを使っているディスプレイを使います。でも純正は1.3インチなんだけど、高価なので汎用的な0.96インチのものにしました。
※ 普通SPIディスプレイは7つの端子があると思うんだけど、私が買ったのは6つしか端子がなかったの。でもバグ対策にちょっと苦労はしたけれど、今は安定して動作しています。

 基板(7cm x 5cm 片面 x 2枚)
パーツを実装する基板は1枚だけでいいんだけど、私は2枚の基板をねじでとめて筐体(box)にしました。

 タクトスイッチ
押したときだけ通電するタイプ。カラフルだと楽しい。

 ブザー
極性のない圧電ブザーを使いました。

 スイッチ
電源用。

 リチウムイオンバッテリバッテリー充電モジュール
リチウムイオンバッテリーは以前にジャンク品からとったものを使いました。リチウムバッテリーは危険物なので、必ず保護回路のついた充電用モジュール(組込み型充電器)などを使って安全に充電しましょう。
失敗するとこうなるかも→ 大変! パーツから火がぁぁ。& リチウムバッテリ部品取り

 電解コンデンサ
ディスプレイの動作が安定しなかったので付けました。動作が安定していれば使わなくてもいいです。私は47μFと、100μFの2つを使いました。

 LED
赤と青を付けたんだけど、あんまり眩しいから断線させちゃった。

 ピンヘッダ
ピンヘッダとピンソケットを使って、電源用コネクタにしました。あと、ピンヘッダでバッテリーを固定してあります。

 導線
下の写真のポリウレタン銅線を主に使ったので、ビニル導線はちょっとだけ。

 ポリウレタン銅線
とっても便利なツール、ポリウレタン銅線。今回も活躍しました。
  おすすめです。🍎紹介記事🍎


<お買い物コーナー>
     


【手作りArduboy 完成品】

完成したものがこちらです。

次回は Arduino Pro Micro を Arduboy としてプログラムを書き込むための準備をします。

<目次>
その1.【パーツ準備編】 (この記事)
その2.【PC内環境 準備編
その3.【配線&動作確認編
その4.【実装編
その5.【"Arduventure" クリア動画
その6.【ポート認識トラブル解決編
その7.【"SIRÈNE" プレイ動画
その8.【"CastleBoy" プレイ動画


 作製・紹介はミラです。

鉱石探しのトレジャーハント ピクニック🥪🎒  💎トパーズや蛍石が見つかるかな?

f:id:miraluna:20200916184404j:plain:w200 Luna  f:id:miraluna:20201102183513j:plain:w300

高取山再び💎鉱石トレジャーハント🔨に行ってきました。

☆ 拾ってきた水晶・石英・水晶ポイント(単結晶)
f:id:miraluna:20201102182040j:plain

すっかり秋めいてきました。涼やかで、空の高い休日などには、山に紅葉を見に行ったり、静かな散策をしたくなったりします。
そこで、また連れていってもらいました。茨城県にある高取山。
高取山はかつてタングステンなどを採っていた高取鉱山のある山で、鉱山の近辺はジュラ紀の海底にあった堆積物が層になった珪質頁岩(けいしつけつがん)や花崗岩が多く分布しています。そのような地質には、様々な鉱石が結晶するんです。
この山にはあちらこちらに石だらけの「ズリ」と呼ばれる石捨て場の名残があります。主に採取されていたのは鉄マンガン重石(タングステン鉱石)なので、その他の石は大きな結晶などを除いて捨てられていたのでしょう。つまりそのズリ場には、掘り出された様々な結晶鉱石が残されているというわけなんです。
よく見つかるらしい鉱石は、蛍石(フローライト)、水晶、トパーズ、リチア雲母、ロードクロサイト、錫石、鉄マンガン重石、黄鉄鉱(パイライト)などです。まさに宝の山ですね。
私たちは天気のいい秋の日に、ピクニックと山のお散歩を兼ねて、宝石探し(トレジャーハント)に出かけました。

💎宝石探し(トレジャーハンティング)の冒険旅行(ピクニック)👢のはじまりはじまり

☆ 宝石探索路入口「仏国寺」さん
f:id:miraluna:20201102183007j:plain
高取山は茨城県の中心より少し北にあります。栃木県茂木市と茨城県水戸市の間くらい。都心からだと少し遠いです。私たちは長い時間をかけて、車で行きました。
車での行き方と駐車場については、こちらのページ ↓ にまとめました。
miraluna.hatenablog.com
今回私たちが向かったのは前回と同じ、仏国寺からの「鉱石採集ルート」です。仏国寺さんの駐車場に車を停めさせて頂くので、ここがトレジャーハントの冒険路「始まりの地」です。

☆ 高取山入口
f:id:miraluna:20201102183114j:plain
お地蔵様の見守るこの細道が、冒険路への入口です。
なんだかわくわくしますね。素敵な石が見つかるかしら。

☆ 奥の院
f:id:miraluna:20201102183236j:plain
ここは仏国寺さんの奥の院です。
大きな岩山と洞窟があって、高名なお坊さんが修行をしたそうです。
辺りには石仏がたくさんあって、なんとも幽玄な雰囲気です。

☆ 宝石を求めて山道を行く
f:id:miraluna:20201102183405j:plain
奥の院を過ぎて、さらに山道を進みます。日常のせわしい世界から遠く離れて、静寂に包まれています。

☆ 林道へ続く
f:id:miraluna:20201102183513j:plain
しばらく森の中の山道を歩いて行くと、急に辺りが開けて下り道になります。ここからは林業の方の林道が続くので、とても歩きやすいです。

☆ 珪質の石たち
f:id:miraluna:20201102183624j:plain
足元にはガラス質の石英の仲間の石がたくさん転がっています。ところどころに割られた石が見つかるのは、きっと石好きの誰かが金槌で割って中を調べたのでしょう。
しばらく林道を下っていくと、やがて右手に石だらけの山が現れます。これは大きなズリ(石捨て場)の跡で、ここでも宝石を探すことができます。でも今回はもっと奥まで進みます。
そのズリを頂上まで登ると、左側に細道が続いています。その道をずんずん進んでいくと、かつての坑道の入口へと辿り着きます。今では立ち入り禁止ですが、ここから岩山へと潜って鉱石を掘り出していたかと思うと、心が躍ります。

☆ 坑道入口跡地
f:id:miraluna:20201102183746j:plain
坑道からは谷になった枯沢が、ここまで歩いてきた林道まで続いています。この枯沢にはところどころズリがあって、今回はこのズリで宝石探しをします。

☆ 枯沢のズリ
f:id:miraluna:20201102183913j:plain
この日は雨の後のお天気の日だったので、ズリ山の石にかかった土が洗われて、今まで埋もれていた石たちがきれいな姿で現れていました。こんな日は良い宝石が見つかるチャンス。トレジャーハント日和です。
私たちはその日一日、お弁当と、山歩きと、鉱石探しを満喫しました。何時間も高取山にいたのですが、結局その日は山で誰かと出会うことはありませんでした。

☆ 帰り道
f:id:miraluna:20201102184026j:plain
静かな静かな山でのピクニック。
私は石をたくさん拾うことができたし、久しぶりにカタリとミラと一緒にゆっくりとした時間を過ごせました。

☆ 夕焼け小焼け
f:id:miraluna:20201102184249j:plain
さあ、お家へ帰りましょう。
帰り道、後ろの席の私とミラは、ちょっと歌って、おやつを食べて、ちょっと寝ちゃいました。
とっても楽しい一日でした。

獲得鉱石~拾った鉱石たち~💎

☆ 水晶・石英
f:id:miraluna:20201102181853j:plain

☆ 水晶の単結晶に光が透けてきれい
f:id:miraluna:20201102182040j:plain

☆ 石英の中の鉄マンガン重石
f:id:miraluna:20201102181725j:plain

☆ 金属光沢の部分は黄鉄鉱
f:id:miraluna:20201102181550j:plain

☆ 石英と黄鉄鉱(小さくて写真では見えないけれど)
f:id:miraluna:20201102181446j:plain

☆ トパーズ(だったらいいな)
f:id:miraluna:20201102182228j:plain

☆ 瓶に入れてみました
f:id:miraluna:20201102182415j:plain


おまけ 💎水晶とトパーズの見分け方💎
トパーズと水晶はどちらもガラス質で透明。そっくりな姿をしているので見分けるのは簡単ではありません。そこで、トパーズと水晶を見分けるためのポイントを紹介します。

1つ.「条線の方向」
条線とは、結晶面に入っている線のことで、肉眼で見ることができます。水晶にもトパーズにも条線があるのですが、方向が違うんです。
トパーズは結晶の先端に向かって縦(柱に平行)に条線が入っています。
水晶は結晶の先端に対して横(柱に垂直)に条線が入っています。

2つ.「結晶の形」
トパーズも水晶もきれいな柱状に結晶します。そのときの柱の断面の形がそれぞれ異なります。
トパーズの結晶の断面はひし形や平行四辺形です。
水晶の結晶の断面は六角形です。

他にもいくつもの違いがあるのですが、この2つが実用的な見分け方かなと思います。



miraluna.hatenablog.com
miraluna.hatenablog.com



🎒トレジャーハントに便利な道具🔨