Re: Arduinoでの文字列送受信

投稿者:ゆうと 投稿日:2019/09/26(Thu) 03:04:51 No.2493

こんにちは。

> Arduinoのシリアル通信で、プロデル側から文字列をそのまま送信し、Arduino側でも文字列として取得・判別できる方法はありませんか?

近日中にブログを掲載しますのでご覧下さい。

> たとえば、プロデルから「プロデル」という文字列をArduinoへ送信し、Arduino側では「プロデルという文字列が送られてきたらLEDを光らせる というようなイメージです。

基本的にはすでにブログで紹介している方法で、.inoファイルに手を加えれば実現できます。
https://wp.utopiat.net/2019/02/869/
なお、ino言語では文字列にASCII文字だけしか使えないので、Arduinoとのシリアル通信では送受信に日本語は使えません。

「子部品一覧」設定項目を追加しました

投稿者:ゆうと 投稿日:2019/09/26(Thu) 02:57:15 No.2492

こんにちは ゆうとです。

1.6.974で「子部品一覧」設定項目を追加しました。
通り道さま、フォロー感謝致します。

---------------
メイン画面を表示する
待機する

メイン画面とは
  ウィンドウを継承する
  はじめの手順
    初期化する
    ーー貼り付けた部品に対する操作をここに書きます
  終わり
  初期化する手順
  ーー自動生成された手順です。ここにプログラムを書き加えても消える場合があります
  この実質大きさを{562,331}に変える
  この内容を「メイン画面」に変える
  初期化開始する
  ボタン3というボタンを作る
    その位置と大きさを{131,247,75,23}に変える
    その内容を「ボタン3」に変える
    その移動順を2に変える
  ボタン2というボタンを作る
    その位置と大きさを{128,144,75,23}に変える
    その内容を「ボタン2」に変える
    その移動順を1に変える
  ボタン1というボタンを作る
    その位置と大きさを{134,64,75,23}に変える
    その内容を「ボタン1」に変える
    その移動順を3に変える
  メニュー1というメニューを作る
    その位置と大きさを{0,0,562,33}に変える
    その内容を「メニュー1」に変える
    その移動順を4に変える
    AAAToolStripMenuItemというメニュー項目をメニュー1へ追加する
      その表示を○に変える
      その内容を「AAA」に変える
      BBBBToolStripMenuItemというメニュー項目をメニュー1のAAAToolStripMenuItemへ追加する
        その内容を「BBBB」に変える
      CCCToolStripMenuItemというメニュー項目をメニュー1のAAAToolStripMenuItemへ追加する
        その内容を「CCC」に変える
      DDDToolStripMenuItemというメニュー項目をメニュー1のAAAToolStripMenuItemへ追加する
        その内容を「DDD」に変える
  初期化終了する
  メイン画面の設計スケール比率を{144,144}に変える
終わり

ボタン1がクリックされた時の手順
AAAToolStripMenuItemの子部品一覧すべての内容を報告する
終わり
終わり
---------------

メニュー項目の追加時に変数を使いたい

投稿者:アーク <info.nds.laboratry あっとまーくgmail.com> 投稿日:2019/09/25(Wed) 16:43:21 No.2491

通り道さん、こんばんは。アークです。

メニュー項目一覧の取得では大変お世話になりました。
お陰様でメニュー項目一覧の取得は可能になったのですが、
新たな問題が起きています。

通常、メニューを作成する時には変数が使えません。
作成した後で名前の変更もできません。
…なので決め打ちで作成しています。

従ってどれも同じ名前なのですがエラーにはなっていません。
しかし、教えて頂いた方法で取得すると全て同じ名前が帰って来ます。
当然では有りますが…。

そこでメニュー項目の追加時に変数の使用を可能にする裏ワザとか、
または追加した後で名前を変更する裏ワザとかは有りますでしょうか。
よろしくお願いいたします。

ありがとうございました

投稿者:アーク <info.nds.laboratry あっとまーくgmail.com> 投稿日:2019/09/24(Tue) 23:52:41 No.2490

通り道さん、こんばんは。アークです。

早速、書いて頂いたサンプルを実行して、
希望通りにメニュー項目が取得できる事を確認しました。
いつも乍ら凄いですね。

また、要所要所にコメント入りの親切なサンプルになっているので分かり易いです。
この手法が自在に使えるようになれば鬼に金棒的に便利そうなのですが、
C#(.NET)の知識や経験が殆ど無いのでそうなるには時間が掛かりそうです。

私なりに少し消化してから実際に組み込んでみたいと思います。
お陰様で先に進む事ができそうです。

貴重な情報とサンプルをありがとうございました。
今後ともよろしくお願いいたします。

Re^3: 通り道さん

投稿者:通り道 投稿日:2019/09/24(Tue) 21:22:43 No.2489

こんばんは。

プロデルでは・・というより、Windows.Formsでは、以下のような感じで辿れそうです。
基本的には、プロデル自体に、参照できるようにしてもらった方がよさそうです。
(メニューは取れないんですが、古い形式のシンプルメニューはプロパティがあって、取得も設定もできるんですよね。)
このプログラムの場合、ウィンドウは、ただ、メニューを調べさせる対象を準備するためだけにあるのに近いです。
----------------------
Form型というドットネット型(「System.Windows.Forms.Form」)を作る
MenuStrip型というドットネット型(「System.Windows.Forms.MenuStrip」)を作る
ーーToolStripMenuItem型というドットネット型(「System.Windows.Forms.ToolStripMenuItem」)を作る
ToolStripDropDownItem型というドットネット型(「System.Windows.Forms.ToolStripDropDownItem」)を作る
Forms_MainMenuStripプロパティ情報は、Form型の管理型:"GetProperty"(「MainMenuStrip」)
MenuStrip_Itemsプロパティ情報は、MenuStrip型の管理型:"GetProperty"(「Items」)
ーーToolStripMenuItem_DropDownItemsプロパティ情報は、ToolStripMenuItem型の管理型:"GetProperty"(「DropDownItems」)
ToolStripDropDownItem_DropDownItemsプロパティ情報は、ToolStripDropDownItem型の管理型:"GetProperty"(「DropDownItems」)

窓というテスト窓を作る
窓を表示する
待機する

ーーメニュー項目を再帰的に辿る
【親メニュー項目】を項目色々する手順
 【型名】は、親メニュー項目の種類名
 もし、型名が空ならば、
  ーーこのケアをしないと、区切り線以外の型名(種類の名前)が取れない。インスタンスの名前は取れるのになぜ?
  型名は、(親メニュー項目:"GetType"())の"Name"
 もし終わり
  「[型名]:[親メニュー項目の名前]」を表示する
  もし、ToolStripDropDownItem型の管理型:IsInstanceOfType(親メニュー項目)でなければ、
   ーーこの型を継承していないと、DropDwonItemsが無い
   ーー多くの場合は、セパレータ(System.Windows.Forms.ToolStripSeparator)
   返る
  もし終わり
  【メニュー項目一覧】は、ToolStripDropDownItem_DropDownItemsプロパティ情報:"GetValue"(親メニュー項目)
  メニュー項目一覧を【メニュー項目】へそれぞれ繰り返す
   メニュー項目を項目色々する
  繰り返す終わり
終わり

ーーウィンドウから、メインメニューストリップを取得して、トップメニューの分だけ繰り返す
【親ウィンドウ:ウィンドウ】を色々する手順
  【メインメニュー】は、Forms_MainMenuStripプロパティ情報:"GetValue"(親ウィンドウ)
  【トップメニュー項目一覧】は、MenuStrip_Itemsプロパティ情報:"GetValue"(メインメニュー)
  トップメニュー項目一覧を【トップメニュー項目】へそれぞれ繰り返す
   トップメニュー項目を項目色々する
  繰り返す終わり
終わり
 
テスト窓とは
  ウィンドウを継承する
はじめの手順
    初期化する
    ーー貼り付けた部品に対する操作をここに書きます
  終わり
初期化する手順
  ーー自動生成された手順です。ここにプログラムを書き加えても消える場合があります
  この内容を「テスト窓」に変える
  ボタン1というボタンを作る
    その位置と大きさを{82,132,105,27}に変える
    その内容を「ボタン1」に変える
    その移動順を3に変える
  ラベル1というラベルを作る
    その位置と大きさを{12,93,39,12}に変える
    その内容を「ラベル1」に変える
    その移動順を2に変える
  テキスト1というテキストを作る
    その位置と大きさを{113,90,139,19}に変える
    その移動順を1に変える
  メニュー1というメニューを作る
    その位置と大きさを{0,0,284,24}に変える
    その内容を「メニュー1」に変える
    その移動順を4に変える
    ファイルToolStripMenuItemというメニュー項目をメニュー1へ追加する
      その内容を「ファイル」に変える
      開くToolStripMenuItemというメニュー項目をメニュー1のファイルToolStripMenuItemへ追加する
        その内容を「開く」に変える
      閉じるToolStripMenuItemというメニュー項目をメニュー1のファイルToolStripMenuItemへ追加する
        その内容を「閉じる」に変える
      ToolStripSeparator1という区切り線部品をメニュー1のファイルToolStripMenuItemへ追加
        その大きさを{101,6}に変える
      終了ToolStripMenuItemというメニュー項目をメニュー1のファイルToolStripMenuItemへ追加する
        その内容を「終了」に変える
    編集ToolStripMenuItemというメニュー項目をメニュー1へ追加する
      その内容を「編集」に変える
      RedoUndoToolStripMenuItemというメニュー項目をメニュー1の編集ToolStripMenuItemへ追加する
        その表示を○に変える
        その内容を「Redo/Undo」に変える
        UndoToolStripMenuItemというメニュー項目をメニュー1の編集ToolStripMenuItemのRedoUndoToolStripMenuItemへ追加する
          その内容を「Undo」に変える
        RedoToolStripMenuItemというメニュー項目をメニュー1の編集ToolStripMenuItemのRedoUndoToolStripMenuItemへ追加する
          その内容を「Redo」に変える
      ここToolStripMenuItemというメニュー項目をメニュー1の編集ToolStripMenuItemへ追加する
        その表示を○に変える
        その内容を「ここ」に変える
    ヘルプToolStripMenuItemというメニュー項目をメニュー1へ追加する
      その内容を「ヘルプ」に変える
      "あばうとToolStripMenuItem"というメニュー項目をメニュー1のヘルプToolStripMenuItemへ追加する
        その内容を「あばうと」に変える
終わり

ボタン1がクリックされた時の手順
    これを色々する
  終わり
終わり

Re^2: 通り道さん

投稿者:アーク <info.nds.laboratry あっとまーくgmail.com> 投稿日:2019/09/22(Sun) 21:09:19 No.2488

通り道さん、こんばんは。

はい、その通りです。
宜しくお願い致します。<m(_ _)m>

Re: 通り道さん

投稿者:通り道 投稿日:2019/09/22(Sun) 20:57:38 No.2487

こんにちは。

無事落とせました。

現在、別途配列に保存を試みている部分を、対象の部品(メニュー)自体から
取得できないか(画面そのものの外に二重で管理するのを避けたい)
ということでよいでしょうか?

いろいろ試してみます。

通り道さん

投稿者:アーク <info.nds.laboratry あっとまーくgmail.com> 投稿日:2019/09/19(Thu) 08:38:36 No.2486

通り道 さん、おはようございます。アークです。

〉こちらからでは見えないようです。
失礼しました。何か仕様が変更になったようです。
改めまして下記からお願いします。
https://ux.getuploader.com/reg_mem/download/248

〉ちまちま読んでみます。
お恥ずかしいです。

今後ともよろしくお願いいたします。

Re: こちらです

投稿者:通り道 投稿日:2019/09/19(Thu) 01:08:53 No.2485

毎々こんばんは。

> https://mega.nz/#!i9ARVCpL!LQz8Ib9SFZ5OOxAVYYjUCCoF8EoI6w5NRIuEMKrS-Hs

こちらからでは見えないようです。
(mega.nzのアカウント(Lite)を作成してみてもダメでした)
アクセス後、「#」なしの引数付きURLに移動するのですが、サイトの紹介と自身のメニューしか
無いように見えます
(初めて見る画面なので、単に見落としている可能性もありますが)

> より詳細な情報は下記の私のブログで紹介しています。
> http://handslab.blog.fc2.com/

ちまちま読んでみます。

Arduinoでの文字列送受信

投稿者:KH 投稿日:2019/09/15(Sun) 20:04:07 No.2484

Arduinoのシリアル通信で、プロデル側から文字列をそのまま送信し、Arduino側でも文字列として取得・判別できる方法はありませんか?
たとえば、プロデルから「プロデル」という文字列をArduinoへ送信し、Arduino側では「プロデルという文字列が送られてきたらLEDを光らせる というようなイメージです。

▲ページの先頭へ

- WebForum -