前々からテイクアウトを利用しようと思っていて。
これで500円よ。
お得すぎる。
営業時間もランチタイムに臨時で対応しているので、大助かりです。
昨日はこれをつまみにオンライン飲み会に参加しました。
初めてのオンライン飲み会だったけど普段とは違ってなかなか面白かったよ。
ただ、誰がしゃべっているのか分からない・・・w
あと、お酒の飲むスピードが一人飲みよりゆっくりなので、ビール4本で2時間ぐらい過ごせた。
体重もそんなに増えてなかった。
たまにはアリね。オンライン飲み会。

こちらのサンプルプログラムを入力します。
https://github.com/raspberrypilearning/astro-pi-guide/blob/master/files/SenseHAT-Cheatsheet.pdf
8×8のLEDディスプレイにいろいろ表示させてみましょう。
from sense_hat import SenseHat
sense = SenseHat()
sense.set_pixel(0, 0, 255, 0, 0)
インターフェースは(x, y, R, G, B)。
これは(0,0)に赤を点灯します。
色を変えてみます。
sense.set_pixel(0, 0, 155, 100, 10)
表示位置を変えてみます。
sense.set_pixel(1, 1, 155, 100, 10)
from sense_hat import SenseHat
sense = SenseHat()
sense.show_letter("J", text_colour=[155, 100, 10])
このような絵を作成。
from sense_hat import SenseHat
sense = SenseHat()
sense.load_image("creeper.gif", redraw=True)
一応256階調に調整できるので、フルカラー表示できるはずなんですが、あまり細かい違いは分かりません。
from sense_hat import SenseHat
sense = SenseHat()
sense.load_image("creeper.gif", redraw=True)
sense.set_rotation(r=90, redraw=True)
from sense_hat import SenseHat
sense = SenseHat()
R = [255, 0, 0]
W = [255, 255, 255]
pixel_list = [W, W, W, R, R, W, W, W,
W, W, R, W, W, R, W, W,
W, W, W, W, W, R, W, W,
W, W, W, W, R, W, W, W,
W, W, W, R, W, W, W, W,
W, W, W, R, W, W, W, W,
W, W, W, W, W, W, W, W,
W, W, W, R, W, W, W, W]
sense.set_pixels(pixel_list)
次はセンサーを弄ってみましょう。
こちらのサンプルプログラムを入力します。
https://github.com/raspberrypilearning/astro-pi-guide/blob/master/program.md
エディターは何でも良いらしい。
from sense_hat import SenseHat
sense = SenseHat()
sense.show_message("Hello my name is Tim Peake")
言語はpythonですな。
実行に必要な物はすでに入っていました。
実行するとこうなりました。
ただ、デフォのエディターだと使いづらいので、ラズパイ用のvscodeをインストールします。
インストール方法はこのやり方で行けた。
https://note.com/yoshiteru11/n/n6521e33ca456
$ wget -qO - https://packagecloud.io/headmelted/codebuilds/gpgkey | sudo apt-key add -
$ sudo su
# . <( wget -O - https://code.headmelted.com/installers/apt.sh )
# exit
最新ソースはこちら。
https://github.com/takishita2nd/Picross
とりあえず画面を作ってみます。
クラス構成とか考えずに、
この画像を作成し、これを10×10に並べてみました。
class Program
{
[STAThread]
static void Main(string[] args)
{
PicrossUI picross = new PicrossUI();
picross.Run();
}
}
class PicrossUI
{
private const int setPositionX = 200;
private const int setPositionY = 200;
public PicrossUI()
{
}
public void Run()
{
asd.Engine.Initialize("ピクロス解析ツール", 1000, 800, new asd.EngineOption());
// 下地
var background = new asd.GeometryObject2D();
asd.Engine.AddObject2D(background);
var bgRect = new asd.RectangleShape();
bgRect.DrawingArea = new asd.RectF(0, 0, 1000, 800);
background.Shape = bgRect;
for(int row = 0; row <10; row++)
{
for(int col = 0; col <10; col++)
{
var square = new asd.TextureObject2D();
square.Texture = asd.Engine.Graphics.CreateTexture2D("square.png");
square.Position = new asd.Vector2DF(row * 32 + setPositionX, col * 32 + setPositionY);
asd.Engine.AddObject2D(square);
}
}
while (asd.Engine.DoEvents())
{
asd.Engine.Update();
}
asd.Engine.Terminate();
}
}
数独の時は9×9のマスの画像をあらかじめ作成し、表示させていましたが、
これは数独が9×9で固定だからできるためです。
今回はマスの数が可変になるため、1個のマスを並べて使用したいと思います。
中の線が太く見えますが、マスを小さくすればそんなに気にならないかと思います。
ただ、マスのサイズを小さくしすぎると、このマスの中に後々数字を入れることになるので、あまり小さくできません。
今回は32×32ピクセルで作成しましたが、これが妥当なところでしょう。
考慮すべき所は、数字が入るところと色を塗るところが分かるように中の色を変えた方が良いかもしれません。
そこら辺を考慮した上で、クラス構成を考えてみたいと思います。
まずは、マスのサイズを可変に変更できるように作成していきましょう。
これをラズパイに装着します。
これのマニュアルはgitHubにアップされています。
https://github.com/raspberrypilearning/astro-pi-guide
英語です。
チュートリアルに従って装着します。
https://github.com/raspberrypilearning/astro-pi-guide/blob/master/assemble.md
1.GPIO pin extension headerをラズパイに取り付けます。
2.六角柱のやつをラズパイに取り付けてしたからネジ止めします。
3.SENSE HATを取り付けます。
4.最後に上からネジ止めします。
電源ON!
正しくできたかどうか、本当に動くかどうか、次回はサンプルプログラムを作成してみます。
数独解析ツールはほぼ出来上がってしまったので、
今度はピクロス解析ツールを作成してみようと思います。
自信は無いです。
でもできるところまでやってみます。
数独の時はロジック→UIの順に作成しましたが、今回はUI→ロジックの順に作成していこうと思います。
まず、どんなUIにしようかまとめてみます。
ピクロスは絵のサイズが同じとは限らないので、サイズをフレキシブルに変更できるようにしなければなりません。
あと、数字入力は数独の時に適用したパレット方式が意外と使い勝手が良かったので、今回もその方式を取り入れようと思います。
問題データをセーブ/ロードできるようにした方が良いかなぁ(デバッグが楽)
まぁ、とりあえずやってみます。
さぁ、ラズパイをセットアップするぞ。
まずはマイクロSDカードにラズパイOSをインストールします。
マイクロSDカードをPCに接続して、以下のサイトからインストールツールをダウンロードします。
実行するとこんな画面が表示されるので、一番左のリストボックスから使用するOSを選びます。
今回はデフォのRASBIANで。
真ん中のリストボックスでは、インストール先のメディアを選択します。
これは当然SDカードを選択。
この二つを選択すると、一番右のWRITEボタンが有効になります。
WRITEボタンを押すとSDカードにOSが書き込まれます。
終わりました。
マイクロSDカードをラズパイに装着し、電源以外のケーブルなどを接続。
最後に電源ケーブルを接続します。
そうすれば勝手にラズパイが立ち上がります。
立ち上がりました。
初回セットアップに言語設定、Wi-Fi設定、アップデートを行って設定完了。
これで自動的に日本語も使用できます。
あと、設定を変えることろは、VNCを有効にする。
Raspberry Piの設定からVNCの項を有効にすると、他PCからVNCで接続できます。
基本的にはVNC接続で使用していきたいと思います。
さて、次回はアタッチメントをつなげてみましょうか。
まぁいろいろありましたが、数独解析ツールが完成しましたので、ご報告いたします。
ダウンロードはこちら(gitHub)
https://github.com/takishita2nd/sudokuGUI/releases/tag/1.02
zipファイルを解凍してsudokuGUI.exeを実行してください。
操作はマウスでクリックするだけなのでわかりやすくなっていると思います。
何かありましたらコメントください。
あと、ネタもください。