Scratch(1)-動作確認

Scratchは、MITメディアラボで開発されたプログラミング言語です。プログラミング言語というより、プログラミングブロックという感じでしょうか。プログラミングをする時のロジックを学べると思います。前回、Pythonを使用してビンゴマシーンを作成しましたが、プログラミング言語に取り組んだことのない小学生には、取り組みにくいと思いましたので、別のプログラミング言語にすることにしました。Scratchは以前から気になってはいたものの、言語というよりブロックの感覚があったので、使わずじまいでした。実際に試してみると、これはこれでおもしろいです。また、ブロックというところが小学生にも取り組みやすそうです。Scratchは下記よりダウンロードできます。

https://scratch.mit.edu/download

Scratchは、オフライン環境だけでなく、WEB上にも用意されているので、お好きな方を選んでいただけばと思います。私はオフライン環境で試そうと思います。ダウロードして、インストールした後に、Scratchを実行すると下記の画面が表示されます。

Scratchキャット(スプライト)が表示されているので、このスプライトをクリックするとコメントをする動作を作成してみます。イベントより「このスプライトが押されたとき」をドラック&ドロップで真ん中の作業スペースに配置します。その後、見た目より「こんにちは!と2秒言う」をドラック&ドロップで真ん中の作業スペースに配置します。この時、「このスプライトが押されたとき」の下につなげるように「こんにちは!と2秒言う」を配置します。試しに、2秒の部分を5秒に変更しておきます。それでは、スプライトをクリックします。スプライトが5秒間「こんにちは!」と吹き出しでコメントします。

このブロックを真ん中の作業スペースを配置することで、プログラミングを行っていきます。アルファベットを使用せず、日本語だけでもプログラミングできるのは、小さなお子さんにも取り組みやすくて良いですね。もう少し動作確認したのちに、「ビンゴマシーン」を作成していこうと思います。

2019年10月27日 | カテゴリー : Scratch | タグ : | 投稿者 : prog

Python(3)-ビンゴマシーン

前回、ビンゴマシーンを作成するために、GUIのベース作成を行いました。GUIのベース作成に関しては、下記のページを参照して下さい。

Python(2)-GUI作成

上記のページでGUIの画面の定義、ラベルの作成、ボタンの作成を行いましたが、ボタンを押したときの動作を記述していなかったので、記述しようと思います。まずは、下記のようにButtonを作成する際にcommadオプションを追加します。オプションとして、command=Start、command=Clearを追加しました。このオプションを追加することで、ボタンを押したときに、指定した関数にジャンプします。

#スタートボタン
btn_start = tkinter.Button(frame, text='スタート', command=Start, width=15)
btn_start.pack(padx=20,  side = 'left')

#クリアボタン
btn_clear = tkinter.Button(frame, text='クリア', command=Clear, width=15)
btn_clear.pack(padx=20,  side = 'left')

Python(2)-GUI作成

Pythonにて、GUIを作成したい場合は、tkinterパッケージでGUIを作成して、PythonからGUIを呼び出します。次回、簡易的なビンゴマシーンを作りたいと思いますので、そのGUIを作成しようと思います。とりあえず下記のようなGUIを作成してみます。

まずは、下記のように、tkinterパッケージをインポートします。

import tkinter

次に、下記のようにtkinterオブジェクトを取得します。これが、GUIを作成するベースのオブジェクトとなるので、rootという変数に保存しておきます。titleメソッドに文字列を入力すると、GUIのタイトルに入力した文字が表示されます。geometryメソッドがGUIの画面サイズです。

root = tkinter.Tk()
root.title("BINGO")
root.geometry("400x300")

GUIの画面にラベルを追加してみようと思います。thinkerオブジェクトには、任意の値を渡せないようです。その為、下記のような、コードを記述するとエラーになります。それでは、どうしたらよいでしょうか?

label_past = tkinter.Label(root, textvariable = "過去の数値", font=("",15))

Python(1)-動作確認

2020年より小学校でもプログラミング教育が始まるということで、何か良い言語はないかなと思い、探していたところ、Pythonを試してみることにしました。Raspberry piでも動作するので、PCを用意しなくてもよいので、便利です。まずは、Windows PCでPythonを試していこうと思います。Pythonは下記のサイトからダウンロードできます。

https://www.python.org/

ダウンロードして、インストールが完了したら、まずは、動作確認をしようと思います。下記のように環境変数にPathを追加しておくと、どのフォルダ階層からもPythonコマンドを実行できるので、Pathを追加しておきます。

それでは、コマンドプロンプトを実行して、下記のコマンドを入力してみます。インストールしたPythonのバージョンを確認できます。

python --version

次は、テキストファイルにPythonのコードを記述して実行してみます。下記のようにコードを記述して、.py拡張子で保存します。test-print.pyというファイル名にしました。

print("Hello world.")

ファイルの保存先フォルダにて、下記のコードを実行します。

python test-print.py

下記のように、Hello world.と表示されました。

動作確認はできたので、次回はダイアログを作成しようと思います。

2019年8月14日 | カテゴリー : Python | タグ : | 投稿者 : prog

GR-ROSE(4)-e2studio schetch

今回はe2studioで作成したファームウェアをGR-ROSEに書き込んでみたいと思います。出荷時はGR-ROSEのRXマイコンにUSBファームウェアが書き込まれています。リセットボタンを押すことでストレージとなり、binファイルをコピーするとユーザーアプリケーションとして実行されるようになっています。このbinファイルがArduinoライクなスケッチで作成したファイルになります。今回は、このUSBファームウェアをイレースして、別のファームウェアを書き込みたいと思います。

まずは、書き込みファームウェアを作成します。Timerを使用して、LEDを点滅するファームウェアを作成しようと思います。

それでは、新規プロジェクトの作成を行います。新規プロジェクトの作成は下記のページを参考にしてください。

RX(3)-RS232通信

上記のページでは、ターゲット・デバイスを「R5F565NEHDFC」に設定しています。今回使用するマイコンは、「R5F565NEHDFP」なので、「R5F565NEHxFP」に設定してください。

プロジェクト・エクスプローラーに新規プロジェクトが追加されました。中央には、スマート・コンフィグレータが開かれると思いますので、入出力ポートのコンポーネントとタイマーのコンポーネントを追加・設定していきます。追加、設定の方法は下記のページを参考にしてください。

RX(2)-タイマーLED点滅

コンポーネントの追加・設定ができましたら、コード生成ボタンを押します。プロジェクトツリーの中に、コードが生成されました。それでは、main関数、r_Config_TMR0_TMR1_cmia0_interrupt関数にコーディングしていきます。コーディングの内容は、下記のページを参考にしてください。

RX(2)-タイマーLED点滅

コーディングが完了しましたら、書き込みを行います。書き込みは、Renesas Flash Programmerを使用して行います。Renesas Flash Programmerは下記のページよりダウンロードできます。

http:// https://www.renesas.com/jp/ja/products/software-tools/tools/programmer/renesas-flash-programmer-programming-gui.html

GR-ROSE(3)-RS485

今回はGR-ROSEを使用して、RS485通信機能を作成しようと思います。前回(下記のサイト)でも述べましたが、GR-ROSEはさまざまなインターフェイスを搭載しております。

GR-ROSE(1)-動作確認

RS485を搭載している基板を探している時に、GR-ROSEを見つけました。今回は、RS485通信機能を使用して、LEDのON_OFFを実現します。

それでは、IDE for GRの実行して、USBケーブルでPCとGR-ROSEを接続しておきます。

GR-ROSEのスケッチでは、Serial7クラスを使用して、RS485通信を行います。まずは、シリアル通信のボーレート、ポートの設定を行います。シリアル通信のボーレート、ポートの設定は下記のように、beginメソッドを使用します。

GR-ROSE(2)-Timer

今回はGR-ROSEを使用して、TimerによるLEDの点滅を作成しようと思います。前回(下記のサイト)では、LEDの点滅をSLEEP関数を使用して実現しました。

GR-ROSE(1)-動作確認

今回は、Timer機能を使用してLEDの点滅を実現します。

それでは、IDE for GRの実行して、USBケーブルでPCとGR-ROSEを接続しておきます。

GR-ROSE(1)-動作確認

今回はGR-ROSEを入手することができたので、動作確認をしたいと思います。GR-ROSEには、RX65N マイコンが搭載されています。GR-ROSEは小型の基板でありながら、WiFi、Ethernet、USB、RS485などさまざまなインターフェイスを搭載しており、応用が利きそうです。今回は、RS485を使用したかった為、入手しました。GR-ROSEの開発は、オンラインのIDEとオフラインのIDEが用意されています。オンラインのIDEはブラウザ上で動作します。オンラインのIDEでも開発は可能ですが、今回はオフラインのIDEを使用しようと思います。オフラインのIDEには、e2studioやIDE for GRがあります。今回は、Arduinoライクなスケッチを使用して、IDE for GRで開発を行おうと思います。

IDE for GRのインストールは下記のページを参照してください。

GR-COTTON(1)-動作確認

IDE for GRがインストールが完了しました、実行します。IDE for GRの実行が完了しましたら、USBケーブルでPCとGR-ROSEを接続しておきます。それでは、IDE for GRを使用していきます。まずは、マイコンボードを選択します。[ツール]→[マイコンボード]→[GR-ROSE]を選択します。

今回はスケッチの例を使用して、LEDを点滅させてみたいと思います。[ファイル]→[スケッチの例]→[01.Basics]→[Blink]を選択すると、LEDを点滅させるサンプルコードが表示されます。

それでは、コンパイルして書き込みます。GR-ROSEはRSTボタンを押すと書き込みモードになります。RSTボタンを押したら、[ファイル]→[マイコンボードに書き込む]を選択します。マイコンボードに書き込むを実行すると、検証・コンパイルもマイコンボードに書き込む前に実施してくれます。

書き込みが完了すると緑色のLEDが点滅と思いましたが、点滅しませんでした。LED1は23番ピンではなかったようです。

int led = 23;

下記のように修正します。

int led = PIN_LED1;

それでは、再度書き込みを行います。書き込みが完了すると緑色のLEDが点滅します。

GR-COTTON(1)-動作確認

今回はGR-COTTONを入手することができたので、動作確認をしたいと思います。GR-COTTONには、RL78/G13 マイコンが搭載されています。裏面にはCR2032を装着できるホルダーも実装されています。GR-COTTONの開発は、Arduinoライクなスケッチを使用します。IDE(統合開発環境)は、オンラインのIDEとオフラインのIDEが用意されています。オンラインのIDEはブラウザ上で動作します。オンラインのIDEでも開発は可能ですが、今回はオフラインのIDEを使用しようと思います。オフラインのIDEは、IDE for GRを使用します。

それでは、まずは、IDE for GRのインストールを行いたいと思います。IDE for GRは下記のリンクからダウンロードできます。

http://gadget.renesas.com/ja/product/ide4gr.html

ダウンロードが完了したら、圧縮ファイルを解凍します。圧縮ファイルを解凍して、インストールは完了です。ide4gr-1.05フォルダの中の「ide4gr.exe」を実行すると、下記のようにIDE for GRが起動します。

それでは、LEDを点滅させてみたいと思います。[ファイル]→[スケッチの例]→[01.Basics]→[Blink]を選択します。

下記のようなLEDを点滅させるソースコードが表示されます。

マイコンボードを選択します。[ツール]→[マイコンボード]→[GR-COTTON]を選択します。

ポートを選択します。[ツール]→[シリアルポート]→[COM15]を選択します。※GR-COTTONが接続されているポートを選択してください。私の場合は、COM15でした。

コンパイルして書き込みます。[ファイル]→[マイコンボードに書き込む]を選択します。マイコンボードに書き込むを実行すると、検証・コンパイルもマイコンボードに書き込む前に実施してくれます。

書き込みが完了すると緑色のLEDが点滅します。多くのスケッチの例があるので、便利です。まだ試してはいないですが、TPを使用すれば、CS+などで構築したファームウェアも書き込みるかもしれません。ただし、FT231XQと回路が繋がっているので、正しく動作するかも不明です。GR-COTTONは、ArduinoライクなスケッチでF/Wを作成したほうがよいかもしれません。

GR-KURUMI(1)-動作確認

今回はGR-KURUMIを入手することができたので、動作確認をしたいと思います。GR-KURUMIには、RL78/G13 マイコンが搭載されています。GR-KURUMIはサイズが小さい基板となっています。また実装されているICも少ないので、自分好みのボードにすることができます。GR-KURUMIの開発は、CS+やArduinoライクなスケッチを使用します。今回は、CS+を使用して動作確認を行います。

CS+のダウンロードとインストールは下記のページを参考にして下さい。

RL78G13(1)-SWによるLED点灯

今回はエミュレータはE2 Liteを使用します。GR-KURUMIとE2 Liteの接続回路は下記のページを参考にして下さい。

https://japan.renesasrulz.com/gr_user_forum_japanese/f/gr-kurumi/2052/gr-kurumi-e1

今回、LEDを点滅するファームウェアを作成しようと思います。LEDを点滅するファームウェアの作成方法は下記のページを参考にして下さい。

RL78G13(2)-タイマを使用したLEDの点滅

LEDを点灯消灯するポートが上記ページとは違うので注意してください。上記ページでは、P52を出力に設定することで、LEDを点滅させています。GR-KURUMIは、P17(赤)、P51(緑)、P50(青)となっているので、いずれかを出力に設定します。今回は私はP50(青)を出力としました。タイマー割り込み関数のソースコードの変更も忘れずに行ってください。

それでは、ビルドしてデバッグしてみます。LED1が点滅していると思います。

LEDを点滅するファームウェアを作成した後に、スイッチでLEDを点灯するファームウェアも作成しましたが、回路の部分で、失敗しました。入力ピンが不定の状態となっていたため、正しく動作しませんでした。ポートにHighが入力されていれば問題ないのですが、Lowの時に不定になっていました。スイッチ入力の回路を構築する時は、OFFの場合、しっかりとグラウンドに落としてLowにしておく必要があります。