2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Python-LEGO MindstormsでLCDのスクリーンショットを撮る

Last updated at Posted at 2020-11-12

LEGO Mindstorms EV3(以降EV3)を使った記事など書く際に、画像を差し込むことがある。EV3をBluetooth接続する際など状況を説明するのにEV3の画面の表示を用いて説明したい時もあるだろう。今回はそうしたEV3のLCD画面のスクリーンショットの撮影方法を記していく。

EV3について

教育版 LEGO® MINDSTORMS EV3

本記事内での環境

※環境構築やVSCodeでのソース作成やEV3への転送・実行方法は以下を参照
 EV3×Pyrhon 機械学習その1 環境構築編
 スクリーンショットを撮影するにはVSCodeが必須なので注意。

無線での接続~撮影

まずはEV3とPCをBluetooth接続する。
接続方法はこちらを参照。

その後VSCodeのev3dev拡張機能よりEV3にアクセスする。
1.png
アクセスが完了すると緑の丸が表示される。
アクセスしているEV3名の上で左クリックをするとメニューが表示されるのでTake Screenshotを選択。
2.png

すると撮影結果のウィンドウがVSCode上に表示される。
ウィンドウ上部にPNG画像が格納されているフォルダーのパスが表示される。
3.png
※このフォルダーはVSCodeの一時ファイルなのでVSCodeを閉じると消えることに注意!
 VSCodeを閉じる前にPNG画像を移動するなどバックアップを取る必要がある。

実際のPNGファイルは以下のように出力される。
LCDの白黒画面とは変わって、選択している箇所は青色で表示される。
3-1.png

有線での接続~撮影

Bluetooth接続時の手順解説の際など、無線接続前の状態のLCD画面を撮影したい場合
EV3とPCをUSBケーブルで接続することで同じようにVSCodeからアクセスすことができる。

まずはEV3とPCをUSBケーブルを用いて接続する。Bluetooth接続時のような設定は特に不要。
10.png
その後、VSCodeのev3devよりEV3にアクセスする。
Bluetooth時にはBluetooth ネットワーク接続となっていた表記がUSB接続時はイーサネット 7の表記になっている。
4.png

同じようにアクセスしているEV3名の上で左クリックし、メニューからTake Screenshotを選択することでUSB接続時のLCD画面のスクリーンショットが撮影できる。
5.png

実際のPNGファイルは以下のように出力される。
5-2.png

プログラム実行時のLCD画面撮影

上記2つの手順をプログラム実行時に行えば、LCDに表示させている文字なども撮影可能である。

今回は以下のようなプログラムをVSCode上で作成し、EV3で実行した際のLCD画面の撮影を行う。
プログラムの作成方法や転送方法はこちらを参照。

display.py
from ev3dev2.display import Display
import ev3dev2.fonts as fonts
import time

screen = Display()
screen.clear()
font = fonts.load('luBS12')

def main():
    screen.draw.text((10, 10), 'Test1 Display String!', font=font)
    screen.draw.text((10, 30), 'Test2!', font=font)
    screen.update()
    time.sleep(5.0)
    screen.clear()

if __name__ == "__main__":
    main()

プログラムを作成したらVSCode上で以下のマークをクリックしてEV3にWorkspaceを転送する。
5-1.png

転送後、SSHターミナルを開き、cd ev3workspace/(cd ワークスペース名/)を実行し
python3 display.pyを実行する。
6.png
7.png

プログラムが実行されたら5秒間LCD画面に文字列が表示されるのでその間にTake Screenshotを選択する。
8.png

プログラムによってLCD画面に文字列が表示されている状態のスクリーンショットが撮影される。
9.png

実際のPNGファイルは以下のように出力される。
プログラム実行時の背景は黄色で表示される。
9-1.png

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?