方法1:
1. 0と1でドット絵を描く
//例)三角形 (幅11, 高さ6) 00000100000 00001010000 00010001000 00100000100 01000000010 11111111111
2. 8桁(1byte)ごとにコンマで区切って、頭にBと付ける。余ったら0で埋める
↓↓0で埋める B00000100, B00000000, B00001010, B00000000, B00010001, B00000000, B00100000, B10000000, B01000000, B01000000, B11111111, B11100000,
3. 各byteごとに、数字の順番を逆にする
//例)B00010111 → B11101000
<------> <------> //逆にする B00100000, B00000000, B01010000, B00000000, B10001000, B00000000, B00000100, B00000001, B00000010, B00000010, B11111111, B00000111,
4. お好みでソースをかけて完成です
(※#includeとかloop()は省略) //幅と高さ #define TRIANGLE_W 11 #define TRIANGLE_H 6 //PROGMEMはFlashメモリにデータを格納するための修飾子 const unsigned char PROGMEM XBM_triangle[] = { B00100000, B00000000, B01010000, B00000000, B10001000, B00000000, B00000100, B00000001, B00000010, B00000010, B11111111, B00000111 }; void setup(){ M5.begin(); //座標(x, y)に赤い三角形を描く(画像の左上角が(x, y)になる) M5.Lcd.drawXBitmap(x, y, XBM_triangle, TRIANGLE_W, TRIANGLE_H, TFT_RED); }
方法2:
ピクチャとか使ってドット絵描いて、jpg→xbm変換サイトに投げる
∧_∧
⊂(#・д・)
/ ノ∪
し―-J |l| |
人ペシッ!!
__
\ \
 ̄ ̄
 ̄ ̄
まず前半はキーマトリクスを用いて、認識できるキーを増やした(今回は2x2)。
各スイッチにダイオードを繋げておくのがポイントで、これがないとスイッチを3つ同時に押した際に電流が逆流して、残りの押してないキーが押された判定になってしまう。
後半は、seeeduino内のプルアップ抵抗を利用することで、上図の2つの抵抗を省略できるようにした。
とりあえずここまで出来た。 次はキーマトリックスでスイッチを増やす。
DirectInputとかXInputとかは一旦置いといて、とりあえずキーボードをなぞる方式で実装する予定。
・オリジナルキーボードを作ってみる まとめ
・mhama/M5StackHIDCtrlAltDel
春休みに遊んでたWS2812B等について。
・FastLEDライブラリの入手先
・解説スライド
http://cms.db.tokushima-u.ac.jp/DAV/person/S10723/ロボットをつくろう/春夏講座ー前編/Lecture05/slide05appendix.pdf
・64個のLEDでレインボーカラー。シリアルLEDのWS2812BとArduinoで簡単に実現
○seeeduinoの場合...
ボード: "Seeeduino V4(Atmega328P)"
書込装置: "AVRISP mkII"
一度開けば共有されるはず...
merl_shareにOffice等の最新版が置いてあるので更新したい人はどうぞ、とのこと
"cd C:\temp\platform-tools"でドライバのあるフォルダに移動(場所は任意の場所でおk)。
"adb devices"で接続状況の確認。
"adb install C:\...\AppName.apk"でapkファイルの場所を指定してインストール。
Android向けにアプリをビルドしようとすると、
"Unable to list target platforms. Please make sure the android sdk path is correct. See the Console for more details. See the Console for details."
というエラーが出てビルドに失敗した。
Unityのバージョンを2018.1.3f1、JDKを1.8.0_66、SDKのtoolsフォルダを22.0.5にしたら通った。
ネット曰く『myObj.renderer.material.color = myColor;』で可能とのことだが失敗。
『myObj.GetComponent<Renderer>().material.color = myColor;』で成功した。
要領は前回とほぼ同じ。
スコア計算に必要な値はシリアルモニタで適宜確認する。
自主課題研究で誰かが実装途中までやってたテトリスを、自分も作ってみた。
入出力先をTFT液晶&付属していたジョイスティック用に整えるだけで完成。
・使用したパーツ: Adafruit 1.8インチTFTシールド
・コードの参考: 【プログラミング】テトリスを1時間強で作ってみた【実況解説】
たった1時間(開発環境のインストール時間込み)で作るとは...
・ライブラリAdafruit_ST7735の説明: Adafruit 1.8" SPI display のライブラリを読む
・カラーコードの参考: 16bit Color Picker & Color List
Adafruit_ST7735では16ビットカラーで色を指定できる。
・被験者のVR経験や年齢は?
・年齢によるVRへの体質差があるか?
・車酔いとも関係がありそう
・HMDの解像度の低さ→酔いに
・実験の順番をランダムにするとなお良い