TinyArcade/PCとUSB接続で通信
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[戻る>TinyArcade]]
*PCとUSB接続で通信 [#b2d62639]
PC側でターミナルソフトを9600bpsの設定で起動してTinyArcade...
今回はRloginというターミナルソフトを使用した。~
http://nanno.dip.jp/ ~
設定は以下の通り。私の環境ではSocketPortはCOM6だったが環...
#ref(Rlogin1.jpg,,,100%)
プログラム側ではUSBDeviceを初期化してSerialUSBを9600bpsに...
SerialUSB.read()でPCからデータを受け取りSerialUSB.writeで...
。~
ちょっと試してみた結果115200bps、912600bpsに設定しても通...
大量に送って文字化けするかなど検証していない。~
*サンプルプログラム [#c4035a50]
#include <stdlib.h>
#include <TinyScreen.h>
static const int BUTTON_LEFT_PIN = 45;
static const int BUTTON_RIGHT_PIN = 44;
TinyScreen tiny_screen = TinyScreen(TinyScreenPlus);
void setup()
{
// Initialize serial
USBDevice.init();
USBDevice.attach();
SerialUSB.begin(9600);
// Initialize screen
tiny_screen.begin();
tiny_screen.setBitDepth(TSBitDepth8);
tiny_screen.setBrightness(8);
tiny_screen.setFont(liberationSansNarrow_12ptFontInfo);
tiny_screen.fontColor(TS_8b_White, TS_8b_Black);
// Initialize button
pinMode(BUTTON_LEFT_PIN, INPUT_PULLUP);
pinMode(BUTTON_RIGHT_PIN, INPUT_PULLUP);
}
void loop()
{
String cmd = "";
while(SerialUSB.available() > 0)
{
cmd += static_cast<char>(SerialUSB.read());
}
if(!digitalRead(BUTTON_LEFT_PIN))
{
SerialUSB.write("push 1 button.");
}
if(!digitalRead(BUTTON_RIGHT_PIN))
{
SerialUSB.write("push 2 button.");
}
tiny_screen.setCursor(0,0);
tiny_screen.print(cmd);
}
*実行結果 [#t1e812b3]
#ref(SerialSample.jpg,,,100%)
PCで押した文字が表示される。画面はPC側でdを押した画面。~
#ref(Rlogin2.jpg,,,100%)
TinyArcadeでボタン2を押した時のPC側のターミナルソフトの画...
*サンプルプログラムのダウンロード [#iaada83e]
#ref(SerialSample.zip)~
終了行:
[[戻る>TinyArcade]]
*PCとUSB接続で通信 [#b2d62639]
PC側でターミナルソフトを9600bpsの設定で起動してTinyArcade...
今回はRloginというターミナルソフトを使用した。~
http://nanno.dip.jp/ ~
設定は以下の通り。私の環境ではSocketPortはCOM6だったが環...
#ref(Rlogin1.jpg,,,100%)
プログラム側ではUSBDeviceを初期化してSerialUSBを9600bpsに...
SerialUSB.read()でPCからデータを受け取りSerialUSB.writeで...
。~
ちょっと試してみた結果115200bps、912600bpsに設定しても通...
大量に送って文字化けするかなど検証していない。~
*サンプルプログラム [#c4035a50]
#include <stdlib.h>
#include <TinyScreen.h>
static const int BUTTON_LEFT_PIN = 45;
static const int BUTTON_RIGHT_PIN = 44;
TinyScreen tiny_screen = TinyScreen(TinyScreenPlus);
void setup()
{
// Initialize serial
USBDevice.init();
USBDevice.attach();
SerialUSB.begin(9600);
// Initialize screen
tiny_screen.begin();
tiny_screen.setBitDepth(TSBitDepth8);
tiny_screen.setBrightness(8);
tiny_screen.setFont(liberationSansNarrow_12ptFontInfo);
tiny_screen.fontColor(TS_8b_White, TS_8b_Black);
// Initialize button
pinMode(BUTTON_LEFT_PIN, INPUT_PULLUP);
pinMode(BUTTON_RIGHT_PIN, INPUT_PULLUP);
}
void loop()
{
String cmd = "";
while(SerialUSB.available() > 0)
{
cmd += static_cast<char>(SerialUSB.read());
}
if(!digitalRead(BUTTON_LEFT_PIN))
{
SerialUSB.write("push 1 button.");
}
if(!digitalRead(BUTTON_RIGHT_PIN))
{
SerialUSB.write("push 2 button.");
}
tiny_screen.setCursor(0,0);
tiny_screen.print(cmd);
}
*実行結果 [#t1e812b3]
#ref(SerialSample.jpg,,,100%)
PCで押した文字が表示される。画面はPC側でdを押した画面。~
#ref(Rlogin2.jpg,,,100%)
TinyArcadeでボタン2を押した時のPC側のターミナルソフトの画...
*サンプルプログラムのダウンロード [#iaada83e]
#ref(SerialSample.zip)~
ページ名: