2016年7月14日木曜日

Nextionタッチパネル - IchigoJam偏

  NextionタッチパネルをIchigoJamで使用する方法を紹介します。

 

○新規プロジェクトの作成
 Nexion Editor新規プロジェクトを作成します。
①[New]をクリックします。
②保存先のフォルダを選択し、ファイル名を入力して[保存(S)]ボタンをクリックします。
③デバイスと画面の向きを選択し、[OK]ボタンをクリックします。

○フォントの作成
 次のように操作して、フォントを作成します。
①[Tools]→[Font Generator]を選択します。
②フォントの種類を選択し、フォント名を入力して、[Generate font]をクリックします。
 
※ここでは「Arial」を選択することとします。なお、他の設定項目は規定値のままとします。

②保存先のフォルダを選択し、ファイル名を入力して[保存(S)]ボタンをクリックします。
③[OK]ボタンをクリックします。
④「Font Creator」ウィンドウの[×]をクリックします。
⑤[Yes]ボタンをクリックします。

○GUIの作成
 次のように操作して、ボタンを2つ配置します。
①[Button]コンポーネントを2つ配置します。
 
②ボタン「b0」をクリックして選択状態にします。
③「Attribute」の「txt」(表示テキスト)を、「ON」に変更します。
 
④②~③の手順でボタン「b1」の表示テキストを「OFF」に変更します。

○イベントの設定
 ボタンがリリースされたときに、ボタンのIDが送信されるように設定します。
①ボタン「b0」をクリックして選択状態にします。
②「Event」ウィンドウの「Touch Release Event」をクリックし、「Send Component ID」のチェックをオンにします。
 
③ボタン「b1」も②③の手順で「Touch Release Event」の「Send Component ID」のチェックをオンにします。

※「Touch Press Event」の「Send Component ID」のチェックをオンにすると、ボタンが押されたときにIDが送信されるようになります。


○デバッグとコンパイル
 次のように操作して、デバッグし、コンパイルします。
①[Debug]ボタンをクリックします。
②各ボタンをクリックし、「Simulator Return Data」を確認します。

・ON
 0x65 0x00 0x01 0x00 0xff 0xff 0xff

・OFF
 0x65 0x00 0x02 0x00 0xff 0xff 0xff

③[×]ボタンをクリックし、デバックのウィンドウを閉じます。
④[Compile]をクリックします。

○「.tft」ファイルのアップロード
 シリアル通信、またはSDカードを使用し、作成した「.tft」ファイルをタッチパネルにアップロードします。
※アップロード方法は、「Nextionタッチパネル - 導入偏」を参照してください。

○配線
 IchigoJamとタッチパネルを次のように接続します。
タッチパネル
IchigoJam
RX
TXD
TX
RXD
VCC
CN5の1ピン
GND
CN5の5ピン


○BASICプログラムの入力と実行
 IichigoJamに次のプログラムを入力し、実行します。

10 bps 9600
20 I=INKEY()
30 IF I=1 LED1
40 IF I=2 LED0
50 GOTO 20

 タッチパネルの[ON]ボタンをタッチ(正確には、タッチからのリリース時)するとLEDが点灯、[OFF]ボタンをタッチするとLEDが消灯します。

Nextionタッチパネル - Raspberry Pi偏

 Raspberry PiでNextionタッチパネルを使用する方法です。

 対応するRaspberry Piは以下の2モデルです。
 ・Raspberry Pi Rv2
 ・Raspberry Pi Model B+

 Raspberry Pi 2、3では動作しません。

Segnixのインストール
 ターミナルから、次のようにコマンドを入力して、Segnixをインストールします。

①python2.7-devのインストール
sudo apt-get install python2.7-dev
②Segnixのインストール
git clone https://github.com/itead/Segnix.git
cd Segnix
③ボードの設定

・Raspberry Pi Rv2

make Raspberry_Pi_Rv2
・Raspberry Pi Model B+
make Raspberry_Pi_Model_BPlus
④コンパイルとインストールの実行
make
sudo make install
⑤Python SDKのインストール
sudo make SDK_Python_install


○シリアルコンソールの無効化
 次のように操作して、シリアルコンソールを無効に設定します。

①[Menu]→[設定]→[Raspberry Piの設定]を選択します。
②「インターフェイス」タブを選択し、シリアルを無効に設定し、[OK]をクリックします。


○動作テスト
 サンプルの「CompNumber」で動作を確認します。

①Raspberry Piとタッチパネルを、次のように接続します。

Raspberry Pi
タッチパネル
RXD0
TX
TXD0
RX
5V
VCC
GND
GND

②CompNumberの「.tft」ファイルをタッチパネルにアップロードします。

※保存先ディレクトリは以下になります。
/home/pi/Segnix/libraries/itead_Nextion/examples/CompNumber

※サンプルは4.3インチ(NX4827T043_011R)用になっています。他のインチサイズで使用する場合、Nexion Editorを使用して、コンポーネントが画面内に収まるように修正する必要があります。

※アップロード方法は、前記事参照

③ ターミナルから次のコマンドを入力し、プログラムを実行します。
cd Segnix/libraries/itead_Nextion/examples/CompNumber
sudo ./CompButton

2016年7月13日水曜日

Nextionタッチパネル - 導入偏

 Nextionのタッチパネルで軽く遊んだ際のメモ書きです。
 
 ・公式サイト 

 購入は、Aliexpressなどで。英語版と中国語版があるようなので、購入の際には注意してください。

○GUIの作成
 タッチパネルのGUIは、 Nexion Editorで作成します。
 

 基本的な作業の流れは、次のようになります。

Nexion EditorでGUIを作成します。
②PC上(シミュレータ)でデバッグし、問題なければコンパイル([Compile]ボタンをクリック)します。
③作成したGUIを、次のいずれかの方法でアップロードします。

・シリアル通信
 作成したGUIのプロジェクトをシリアル通信でアップロードするには、次のように操作します。

①PCとタッチパネルをUSB-シリアル変換ケーブルで、次のように接続します。
 
ケーブル
タッチパネル
RXD(白)
TX
TXD(緑)
RX
VCC(赤)
VCC
GND(黒)
GND

②[Upload]とクリックし、COMポートを選択し、[Go]ボタンをクリックします。

・SDカード
  作成したGUIのプロジェクトをSDカードでアップロード(アップデート)するには、次のように操作します。

①[File]→[Open build folder]を選択します。
②拡張子「.tft」のファイルをSDカードにコピーします。
タッチパネルのSDカードスロットに、SDカードを挿入し、タッチパネルの電源をオンにします。
アップデートが完了したら、電源をオフにし、SDカードの抜き、再度、電源をオンにします。
 


○Arduinoでの動作テスト
 「ITEADLIB_Arduino_Nextion」ライブラリの「CompNumber」で動作を確認する方法を紹介します。

 

・GUIのアップロード
「ITEADLIB_Arduino_Nextion」ライブラリをダウンロードして、インストールします。
Nexion Editorの[Open]をクリックし、「CompNumber(CompNumber.hmi)」を選択します。
※ライブラリの「examples」フォルダ内の各サンプルのフォルダにHMIとTFTファイルがあります。

③[OK]ボタンをクリックし、デバイスと画面の向きを選択し、[OK]ボタンをクリックします。
 
※サンプルは4.3インチ(NX4827T043_011R)用になっています。他のインチサイズでコンポーネントが画面からはみだすような場合、メッセージが表示されます。この場合、コンポーネントが画面内に収まるように修正します。

④PC上(シミュレータ)でデバッグし、問題なければコンパイル([Compile]ボタンをクリック)します。
⑤作成したGUIを、シリアル通信、またはSDカードでアップロードします。

・ライブラリ・コードの修正
 「ITEADLIB_Arduino_Nextion」ライブラリは、そのままだと、シリアル通信を2つ必要とするため、「SoftwareSerial」で使えるように修正します。

①NexConfig.hの37行目を次のように変更します。

#define nexSerial Serial2
  ↓
#include <SoftwareSerial.h>
extern SoftwareSerial nexSerial;

②「CompNumber」のコードを開いて、冒頭に次のコードを追加します。

#include <SoftwareSerial.h>
SoftwareSerial nexSerial(2, 3);


・配線
 Arduinoとタッチパネルは、次のように接続します。

Arduino
タッチパネル
2
TX
3
RX
5V
VCC
GND
GND