スライド 1

Similar documents
スライド 1

Microsoft PowerPoint - RL78G1E_スタータキットデモ手順_2012_1119修正版.pptx

WiFiの現状

Taro-82ADAカ.jtd

Raspberry Piでエアコン操作 高町咲衣 たかまち さき

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

第 7.0 版 利用履歴管理 ETCPRO5 セットアップマニュアル (Ver5.002) カードリーダモデル変更 ( 表示付き 表示なし ) に伴い 改訂 Windows10 対応に伴い 改訂 参考ホームページサイト :

PRONETA

課題情報シート テーマ名 : マイコン制御ロボットの製作 担当指導員名 : 川埜雅太朗実施年度 : 28 年度施設名 : 近畿職業能力開発大学校附属京都職業能力開発短期大学校課程名 : 専門課程訓練科名 : 電子情報技術科課題の区分 : 総合制作実習学生数 : 2 時間 : 24 単位 (432h)

Microsoft Word Proself-guide4STD+Prof.docx

モータ HILS の概要 1 はじめに モータ HILS の需要 自動車の電子化及び 電気自動車やハイブリッド車の実用化に伴い モータの使用数が増大しています 従来行われていた駆動用モータ単体のシミュレーション レシプロエンジンとモータの駆動力分配制御シミュレーションの利用に加え パワーウインドやサ

3 アドレスバーに URL を入力し ( 移動ボタン ) をタップします 入力した URL のホームページに移動します ネットワークへのログオン 画面が表示された場合は ユーザー名 を確 認し パスワード を入力して OK をタップしてください ホームページがうまく表示されないときは Opera B

RPI-ZUMO-ASM-MANUAL Raspberry Pi on Zumo キット 組立てマニュアル ver2.0 弊社製品 Raspberry Pi on Zumo キットをお買い上げ頂きありがとうございます 本製品は組立てキットとなっております 以

HDLトレーナーサンプルプログラム説明書

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート )

Arduino をドリトルから 制御する教材の試行 鈴木裕貴 1

FTDI USB-Serial Converter デバイスドライバのインストール(Rev.1.01)

TWE-Lite R 取扱説明書

RA-485実習キット

RW-4040 導入説明書 Windows 7 用 2017 年 7 月 シャープ株式会社

TOPPERS 活用アイデア アプリケーション開発 コンテスト 部門 : 活用アイデア部門アプリケーション開発部門 作品のタイトル : Toppers_JSP と Scicos_lab / (Scilab でも可 ) による 組込みメカトロニクス制御シミュレーション 作成者 : 塩出武 ( シオデタ

Microsoft Word - USB60F_Raspi_ doc

CR-USB 仕様書 株式会社測商技研 JS カード用データ転送用カードリーダー CR-USB 仕様書 取扱説明書 2012 年 07 月 31 日版 株式会社測商技研 1. 概要 本器は当社製自動観測装置で記録した JS カードデータ

論文番号 分 2-2 平成 24 年度全国情報技術教育研究会第 41 回全国大会 ( 新潟大会 ) Xbee を活用した無線通信の研究 期日平成 24 年 8 月 9 日 ( 木 )~10 日 ( 金 ) 場所長岡市シティホールプラザ アオーレ長岡 香川県立三豊工業高等学校 電子科 本行

『テクノス』V2プログラムインストール説明書

CommCheckerManual_Ver.1.0_.doc

Microsoft Word - CygwinでPython.docx

Studuinoソフトウェアのインストール

Arduinoで計る,測る,量る

1 1 Arduino とは Arduino アルドゥイーノ は ワンボードマイコンの一種で オープンソースハードウェアであ り 組み立て済みの基板を購入することもできるほか 誰でも自分の手で Arduino を組み立てる ことができます USBコネクタでPCと接続して利用します デジタルポートとア

インストレーションガイド_WME

Microsoft Word - XOOPS インストールマニュアルv12.doc

手順書 20 イメージ最小化作業 はじめに JumboSpot を動かすために使用している RaspberryPi( 以下 ラズパイ という ) に Pi-Star という OS 兼ソフトウェアを microsd カードにセットアップして利用しているが バックアップイメージを残す際に利用するソフトウ

ダウンロードページアップデートマニュアル.ppt

RW-5100 導入説明書 Windows7 用 2017 年 7 月 シャープ株式会社

3. 回路図面の作図 回路図の作成では 部品など回路要素の図記号を配置し 要素どうしを配線するが それぞれの配線には 線番 などの電気的な情報が存在する 配線も単なる線ではなく 信号の入力や出力など部品どうしを結び付ける接続情報をもたせることで回路としての意味をもつ このように回路図を構成する図面は

◎phpapi.indd

1. A/D 入力について分解能 12bit の A/D コンバータ入力です A/D 入力電圧とディジタル値との対応は理論上 入力電圧 0V : 0 入力電圧 +3V : 4095 です 実際はオフセットと傾きがあり ぴったりこの数値にはなりません 2. A/D 入力に使用する信号 STM32L_A

Microsoft Word PXシリーズプリンタドライバインストール説明書(Win8・10-32・64bit)

Dropbox にファイルを追加する Dropbox フォルダの場所を決め 使い始める準備が整いま した さあ ファイルを Dropbox フォルダに入れましょう ステップ 1 ファイルを Dropbox へドラッグアンドドロップします ステップ 2 青色のアイコンが表示され ファイルが Dropb

SLCONFIG の操作 JF1PYE Ⅰ. PC と slconfig の通信設定 Ⅱ. Slconfig の操作 Ⅲ. 端末ソフトによる Command 機能 Ⅳ. slconfig 実行形式プログラムの作成 Ⅴ. 端末ソフト Tera Term のダウンロード インストー

2. 生田仮想デスクトップ PC の接続方法 生田仮想デスクトップ PC に接続する方法は 次の 2 通りです 1. HTML アクセス Internet Explorer や Safari などのブラウザを用います PC に特別なソフトウェアをインストールす る必要が無いので 管理者権限をもってい

Intel MPI Library Linux

目次 第一章インストールと製品登録 1.1 インストール & ライセンス認証 3 第二章製品活用 - Leawo itransfer 3.1 コンピュータのファイルを iphone に転送 iphone のファイルをコンピュータにバックアップ ファイルを itunes から

MAHO Dialer について MAHO Dialer は MAHO-PBX を経由し PC にて着信時に発信者情報をポップアップしたり 着信履歴などから発信操作を行うためのソフトウエアです このガイドでは MAHO Dialer のインストール アップデート 初期設定 使用方法 および アンイン

CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x

プログラマブル LED 制御モジュール アプリ操作説明書 プログラマブル LED 制御モジュール設定アプリ操作説明書 適用モジュール 改訂番号 エレラボドットコム 1

目次 1. 動作環境チェック 動作必要環境 Java のインストール Java のインストール Firebird のインストール Firebird のインストール Adobe Reader のインストール

SpaceMouse Enterprise 取扱説明書 1. はじめに 3D コネクション株式会社の SpaceMouse Enterprise(SME) の各部位名称は以下の図 の通りです

改訂履歴 改訂日付 改訂内容 2014/11/01 初版発行 2017/01/16 Studuino web サイトリニューアルに伴う改訂 2017/04/14 Studuino web サイトリニューアルに伴うアクセス方法の説明変更 2018/01/22 Mac 版インストール手順変更に伴う改訂

Proselfの利用方法

Microsoft Word - Et100pciS2_02a†iWinXP_PDFŠp†j.doc

2. 仕様 電源 :USB バスパワー (USB 入力の 5V 電源を使用します ) 出力 : 3.5mm ステレオジャック アナログステレオ出力 最大 20mArms 対応ヘッドホンインピーダンス 1Ω~500Ω RCA ピンジャック アナログ 2ch 出力 (L R) ラインレベル ヘッドホンア

赤外線レーザー 360 距離センサ XV-11 LIDAR Sensor 取り扱い説明書 もくじ お使いになるまえに 各部のなまえと扱い方 2 使い方 (Processing GUI で使う ) 必要なソフトのインストール 3 接続方法 3 GUI の操作方法 4 使い方 ( ロボットに組み込む )

SoftBank 008SH 取扱説明書

汎用プロキシ利用案内 汎用プロキシ利用案内 目次 汎用プロキシ利用案内 はじめに 汎用プロキシとは 利用可能なポート 概要 動作環境 インストール Windows <I

UIOUSBCOM.DLLコマンドリファレンス

EPSON GT-D1000 活用+サポートガイド

インターネット・メールのご利用手引き

ReTRY HUB

アスラテック株式会社 会社案内

2. 生田仮想デスクトップ PC の接続方法 生田仮想デスクトップ PC に接続する方法は 次の 2 通りです 1. HTML アクセス Internet Explorer や Safari などのブラウザを用います PC に特別なソフトウェアをインストールす る必要が無いので 管理者権限をもってい

前回の内容 マイクロコンピュータにおけるプログラミング PC上で作成 コンパイル マイコンに転送 実行 プログラムを用いて外部の装置を動作させる LED turnonled turnoffled LCD printf プログラムを用いて外部の装置の状態を読み取る プッシュスイッチ getpushsw

AI1608AYUSB手順V3

セットアップチュートリアル SlingPlayer 伊藤忠商事株式会社 1

Raspberry Pi (Windows10 IoT Core) を使用したリーダ ライタの制御例 (UART 接続 ) 2018 年 12 月 18 日第 版 株式会社アートファイネックス

目次 1: スペック 2 ページ 2: 付属品を確かめる 3 ページ 3: 接続方法 カメラ調整 3 ページ 3-1: カメラ本体と電源ケーブルの接続について 3 ページ 3-2:PLC アダプタの接続について 3 ページ 3-3: カメラ調整について 4 ページ 4: スマートフォンからの監視 4

Jan/25/2019 errata_c17m11_10 S1C17 マニュアル正誤表 項目 リセット保持時間 対象マニュアル発行 No. 項目ページ S1C17M10 テクニカルマニュアル システムリセットコントローラ (SRC) 特性 19-3 S1C17M20/M

TaskClock_マニュアル.xlsx

ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar

1 本ドキュメントが想定するネットワーク環境 本ドキュメントが想定するネットワーク環境を図に示す 各種モダリティで撮像した DICOM データは DICOM サーバに送信され データベースに登録される クライアントパソコンには InVesalius がインストールされている これらの機器はすべてネッ

新OS使用時の留意事項

改訂履歴 改訂日付 改訂内容 2014/11/01 初版発行 2017/01/16 Studuino web サイトリニューアルに伴う改訂 2017/04/14 Studuino web サイトリニューアルに伴う改訂 2018/01/22 ソフトウェア OS のバージョンアップに伴う改訂

5400 エミュレーターII 構成の手引き(第6章 トラブルシューティング)

目次 第 1 章はじめに 本ソフトの概要... 2 第 2 章インストール編 ソフトの動作環境を確認しましょう ソフトをコンピュータにセットアップしましょう 動作を確認しましょう コンピュータからアンインストー

PDFConverter

1. UART について UART は Universal Asynchronous Receiver Transmitter の頭文字をとったもので 非同期シリアル通信と呼ばれます シリアル通信とは 一本の信号線でデータをやりとりするために 1bit ずつデータを送出することをいいます データを受

INS メイト V30Slim を Windows Vista がプレインストールされたパソコンでご使用になるお客様へ < ご案内 > 2007 年 4 月 このたびは INS メイト V30Slim をお買い求めいただき 誠にありがとうございます 本紙は INS メイト V30Slim を Win

TOPPERS活用アイデア・アプリケーション開発

Library for Cadence OrCAD Capture ユーザマニュアル 2018 年 7 月 株式会社村田製作所 Ver.1.0 Copyright Murata Manufacturing Co., Ltd. All rights reserved. 10 July

WX01J 取扱説明書

ST-LINK/V2-1 への Upgrade V /10/07 ST-LINK/V2-1 USB driver のインストールおよび ST-LINK/V2-1 の Upgrade について説明します ST-LINK/V2-1 USB driver をインストールしてから ST-LIN

起動時

Transcription:

カム ロボ ラズ ロボ カー紹介 カムプログラムロボット工作セットに 汎用電動機制御基板でロボット カー製作記事 目次 0 はじめに 1 ハード 必要なハードの構成 2 ソフト 使用しているデバイス用のpythonプログラム 3 システム ロボット カーを動かす 自立走行 NODE REDプログラム 4 応用編 走行ログ 遠隔操作 NODE REDプログラム 5 まとめ 2017.10.8 JH1CDV/開放電脳 松元博司

0.1 はじめに 楽しく 早く 安く 電子工作を提唱しています MFT2017 で展示し好評を博した ラズ ロボ カーをカムプログラムロボット工作セットでバージョンアップしてみました 作り方を公開します 単体としては左右の距離センサと 左右の DC モータが それぞれ独立に動いています そのセンサ情報を ラス ハ イ NODE-RED MQTT と経由して 相手のロボットに送ることで この動きを実現しています このような動きを実現でき 楽しんでいます こんなに楽しいロボットカーが 汎用電動機制御基板を使えば 簡単に作れます 自分は 回路設計が専門なので ソフト得意の人が 改良してくれて 情報をいただけると助かります このように オープンハードウェアの考えに立ち 情報を公開しますので みんなで もっと楽しい電子工作ができると嬉しいです

0.2 はじめに 単体としては左右の距離センサと 左右の DC モータが それぞれ独立に動いています そのセンサ情報を ラス ハ イ NODE-RED MQTT と経由して 相手のロボットに送ることで この動きを実現しています このような動きを実現でき 楽しんでいます こんなに楽しいロボットカーが 汎用電動機制御基板を使えば 簡単に作れます 自分は 回路設計が専門なので ソフト得意の人が 改良してくれて 情報をいただけると助かります このように オープンハードウェアの考えに立ち 情報を公開しますので みんなで もっと楽しい電子工作ができると嬉しいです ロボット カーを動かすには 多くの分野の技術を知る必要があります その技術 ノウハウを下記の順番で説明します 1) ハード : 必要なハードの構成 2) ソフト : 使用しているデバイス用の python プログラム 3) システム : ロボット カーを動かすための NODE-RED プログラム

0.3 はじめに 完成した カム ロボ ラズ ロボ カーを見てください 前面 上面 左側面 後面 右側面

1.1 ラズ ロボの設計図 : ハード ハード ソフト システムの順に説明します 距離センサ GP2Y0A21YK0F 10cm~80cm 5V アナログ /GPIO 入力 3.3V 系 :6 入力 5V 系 :2 入力 DCMotor 出力 2 出力 DCMotor 出力 入力 センサ MCP3208 12bit 8ch A/D コンバータ SPI サンプリング速度 :50ksps 入力範囲 :0~3.3V PCA9685 12bitPWM 16ch( 内 6Ch を T B6612 に使用 )I2C 出力電流 1.2A TB 6612 Dual DC モータ ドライバ正転 / 逆転 / ショートブレーキ / ストップ制御機能付き PW M 出力 :PCA9685 により制御 アクチュエータ 汎用電動機制御基板

1.2 汎用電動機制御基板で工夫した点 バランスの取れた入出力対応アナログ入力と DC モータ制御を一枚の基板で対応しているが見つからなかったので この基板を作りました 去年の MFT2016 で ソフトの専門家から はんだ付けしないでラス ハ イを使いたいという声を聴きました 信号の見える化以前の設計で DC モータの回転の向きが分かりづらく苦労したので モータの回転方向時計回り :clock wise(cw) 反時計回り :Counter clock wise(ccw) の信号に色を変えて LED で表示し 実際にモータをつながなくてもデバッグできます モータ電源を 外部だけでなく 内部の 5V 電源も切り替えられるようにしました 次は 結果的にそうなったという意見もありますが ラス ハ イ GPIO 端子と AD コンバータの信号線を同じ端子に接続しました こうすることにより AD コンバータの強力な入力保護回路が ラス ハ イに対しても保護してくれます arduino 等 5V 系の豊富な I2C モジュールに対応できるように I2C 5V 系に対応 PWM で 3 ピンのサーボモータ ( 例 :SG90) を 直接接続できるようにしました

1.3 必要な部品表 No. 品名 購入先 1 ラス ハ イ3 KSY 2 汎用電動機制御基板 ビット トレード ワン URL https://raspberry-pi.ksyic.com/ http://btoshop.jp/2017/08/25/4562469771304/ http://www.tamiya.com/japan/products/70227/index.html 参考単価個数 参考価格 4,830 1 4,830 3,980 1 3,980 3 4 カムプログラムロボット工作セット モバイルバッテリ tamiya Anker 3,456 1 3456 https://www.amazon.co.jp/anker-powercore- %E3%83%A2%E3%83%90%E3%82%A4%E3%83%AB%E3%83%90%E 3%83%83%E3%83%86%E3%83%AA%E3%83%BC- Android%E5%AF%BE%E5%BF%9C- A1263011/dp/B019GNUT0C/ref=zg_bs_2544551051_1?_en coding=utf8&psc=1&refrid=em9hw0dd4p29j6aytnw3 2,399 1 2,399 5 マイクロUSBケーブル 100 均 100 1 100 6 距離センサシャープ測距モジュール GP2Y0A21Y 秋月 http://akizukidenshi.com/catalo g/g/gi-02551/ K 450 2 900 7 L 字金具 2 枚 ( 距離センサ取付用 ) 100 均 100 1 100 8 ラス ハ イ実装ホ ート キット ( 予定 ) ホ ート 2 枚 スペーサ ビス ナットセットビット トレード ワン 500 1 500 合計 16,265

1.4 組み立て 配線手順 下記の手順で組み立てます 1) カムプログラムロボット工作セットを組み立て 2) ラス ハ イ実装ホ ートを取り付け 3) ラス ハ イ実装ホ ート に左右の距離センサを取り付け 4) ラス ハ イ実装ホ ート にラス ハ イ3を取り付け 5) ラス ハ イ3に 汎用電動機制御基板を取り付け 6) ラス ハ イ実装ホ ート に 電池ボックス ( 単 3*2) を取り付け 7) ラス ハ イ実装ホ ート に モバイルバッテリを取り付け 次に配線をします 1) 左右の距離センサと 汎用電動機制御基板をそれぞれ3 本の信号線で接続 2) カムプログラムロボット工作セットについている左右のモータと 汎用電動機制 御基板をそれぞれ2 本の信号線で接続 3) 電池ボックスと 汎用電動機制御基板を2 本の信号線で接続 4) モバイルバッテリから ラス ハ イ3に電源を接続 ( マイクロUSBケーブル使用 ) ここまでで ハードは完成です 部品がそろえば 数時間でできると思います

2.1 ソフト : デバイス用の python プログラム 必要なソフトの構成を 下記のように考えてみます 1) 入力処理 :python センサからの情報を論理処理部に伝える ( 監視 ) 2) 論理処理 :NODE-RED 動かしたい内容を論理的にプログラム 3) 出力処理 :python 論理処理部からの情報で アクチュエータ (DC モータ ) を制御 従来のソフトの作り方は Python 言語で 入力 論理 出力処理を一つのプログラムで作るのが一般的であると思います 自分も今まではそういう作り方でした ただこのような作り方だと ネットワーク処理 並列処理が難しくなります 今回 ネットワーク処理 並列処理をできるだけ容易に行うため 論理処理部を NODE -RED にし 入力 出力処理部を別々に python プログラムで作ることにしました

2.2 ソフト : デバイス用の python プログラム 入力処理部のソフト仕様 ADコンバータから 値(ch0からch6) を読む左右の距離センサは ch6,7に接続しているので 基準距離 ( 例 :30cm) を0とする基準距離より近ければ -0.5から0の値基準距離より遠ければ 0から +0.5の値 その値を JSON 形式で 複数の値を同時にMQTTプロトコルで NODE-REDに送る JSON 形式にしたのは node-redで扱いやすく 複数の値を同時に送れ 値の種類を自由に定義できるからです MQTT にしたのは IoT 用のプロトコルで NODE-RED で標準でノードがあり 扱いやすいからです 出力処理部のソフト仕様 node-red から MQTT プロトコルで 複数の値を同時に JSON 形式で受ける DC モータを動かすための 値 (ch6 から ch7) を読む読んだ値 (-0.5~0~+0.5) により DC モータを前進 後進させる

2.3 ラズ ロボの設計図 : ソフト ( デバイスドライバ相当 ) オープンソースの Python ライブラリを少し改造しています ➀ センサ入力用 Python ソフトセンサの情報を NODE-RED に伝える入力 :12bit アナログ入力出力 :MQTT ISON 形式 2DCMotor 出力用 Python ソフト 3 サーボ出力用 Python ソフト NODE-RED の情報でモータを制御する入力 :MQTT ISON 形式出力 :DCMotor 2ch or サーボ 8ch MCP3208 12bit 8ch A/D コンバータ SPI サンプリング速度 :50ksps 入力範囲 :0~3.3V 動作領域 PCA9685 12bitPWM 16ch( 内 6Ch を T B6612 に使用 )I2C 出力電流 1.2A TB 6612 Dual DC モータ ドライバ正転 / 逆転 / ショートブレーキ / ストップ制御機能付き PW M 出力 :PCA9685 により制御 汎用電動機制御基板 下記 3 つのライブラリをインストールしています 赤外線距離センサの特性です あまり近いと予期せぬ動作をするかもしれません!!!

2.4 ソフト : デバイス用の python プログラム まず ハードがソフトから見れるかどうか確認するため ssh ターミナルソフト ( 例 : Mobaxterm) で 下記コマンドを実行し I2C デバイスを確認しておきます pi@raspberrypi:~ $ sudo i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 60: 60 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: 70 -- -- -- -- -- -- -- pi@raspberrypi:~ $ Python プログラムのファイルのリストを下記に示します No. 名称内容アナログ入力をMQTTでNODE- 1 MCP3208-MQTTout-pub-DCmotor.py REDに渡す NODE-REDから MQTTで情報 2 を受け取り DCモータを制御する pwm-pca9685-mqttin-sub-dcmotor.py 適切な フォルダに 上記 2 ファイルをコピーしておく自分は WINSCP を使いコピーしています

2.5 ソフト : デバイス用の python プログラム Python プログラムには 下記ライブラリ等のインストールが必要です No. 名称 内容 URL 1 PWM 出力のライブラリ https://github.com/adafrui t/adafruit_python_pca968 Adafruit_Python_PCA9685 5 2 DCモータ出力のライブラリ https://github.com/adafrui t/adafruit-motor-hat- Adafruit-Motor-HAT-Python-Library Python-Library 3 MQTTのpythonライブラリ https://github.com/eclipse paho.mqtt.python /paho.mqtt.python MQTTブローカ http://mosquitto.org/2013 4 /01/mosquitto-debianrepository/ mosquitto ライブラリのインストールは 下記のようにしました 1) まずGITのサイトにブラウザで見てみます 2) サイトの説明にある下記コマンドをsshで実行します

2.6 ソフト : デバイス用の python プログラム 実行結果を張っておきます sudo pip install adafruit-pca9685 pi@raspberrypi:~ $ sudo pip install adafruit-pca9685 Installing collected packages: adafruit-pca9685 Successfully installed adafruit-pca9685-1.0.1 pi@raspberrypi:~ $ ほかのライブラリも同様にインストールします MQTT ブローカは 下記のように install します Sudo apt-get install mosquitto 次に python のプログラムを実行してみます pi@raspberrypi:~ $ cd raz-robo/spi-mcp3208-ad-conv/ pi@raspberrypi:~/raz-robo/spi-mcp3208-ad-conv $ sudo python3 MCP3208-MQTToutpub-DCmotor.py print 文を入れてありますので 適切な値が表示されれば成功です

2.7 ソフト : デバイス用の python プログラム 苦労した点 出力用 python プログラムで json データを読み込むとき node-red で想定外の文字が余計に付加され うまく読めませんでした python の文字列置換機能で 余計な文字を削除して 何とか読めました 工夫した点 自立制御の一見複雑そうな動きを 左右全く独立で動かすことにより 簡単に動かすことができました これは 以前子供の科学という雑誌で 左右の太陽電池と左右のモータをクロスでつないで 光の方向に走る模型のカーというアイデアを見ました 今回そのアイデアを応用しています 自分でも こんなに容易に 左右 前後に人?( 白い大きなもの?) についていくロボットカーが動いて 感激しています

3.1 システム :NODE-RED プログラム NODE-RED は 最初 IBM が開発し 現在はオープンソースになっている WEB 用の J AVASCRIPT 言語による 開発環境です ただ 今回の例では なんと JAVASCRIPT のプログラムを 1 行も書かなくて 機能を実現できてしまいました ラス ハ イに標準でついています 少し頑張れば Windows10 でも動かせます 自分が どこのハードの開発環境 (NODE-RED) で 動かしているのが分からなくなり それぞれのハードの得意 性能を考え ハード分散の開発が容易にできる優れものです 是非動かしてもらえると楽しいですよ?

3.3 システム :NODE-RED プログラム ラス ハ イの node-red を起動します ブラウザから http://raspberrypi.local:1880 (raspberrypi.local は ラス ハ イの名前設定で設定した名前になります デフォルトだと raspberrypi.local です )node-red に接続します node-red のソースを node-red にコピーすると下記のようになります 設定するのは 5 種のノードです ほかのノードはデバッグ用ですので 動かすだけなら必要ありません

3.4 システム :NODE-RED プログラム 設定するのは 下記 5 種のノードです node-red の設定が出来たら python のプログラムを起動します sudo python3 MCP3208-MQTTout-pub-DCmotor.py & sudo python3 pwm-pca9685-mqttin-sub-dcmotor.py node-red のデバッグ window に センサの値が表示されれば成功です

3.5 システム :NODE-RED プログラム 苦労した点 赤外線距離センサの動作環境に苦労しました 当初 自分が前を歩くと ついてくるロボットカーを考えていたのですが うまく扱えばついてくるようなときもありますが 安定して動かすため ( 赤外線の反射の影響と推定 ) には 実験の結果下記の環境でした 下 ( 床 机上 ) を黒い布で覆う 検出する反射物を A3 白程度の大きさにする ラズハ イの処理能力で少し苦労しました 当初 データの見える化で node-red の dashboard を使って web ブラウザでデータをみえるようにしていたのですが 毎秒 1 回以上更新すると 負荷が重くなるせいか うまく動かなくなり いまは web ブラウザで見ないように設定しています 又 python プログラムでは 0.1 秒ごとにデータを送り delay ノードで処理量を毎秒 2 メッセージに調整しています

3.6 システム :NODE-RED プログラム ここまでが 単体動作の説明です デモ映像では 2 台のラス ハ イのシンクロ動作ができています どうやってシンクロ動作ができるのか説明します 追加するのは たった一つのノードだけです 中身もサーバのアドレスが違うだけです 新たにつなぐ相手側のラス ハ イは 自分に接続されているセンサと同じように 別のラス ハ イの信号を読み込んで 動作するので 2 台のラス ハ イが あたかもシンクロしているように動くように見えるという考えです 実際やってみると 拍子抜けするぐらいに簡単に動いてしまい 感激しました

4.1 応用編 :NODE-RED プログラム MFT2017 以降の新規機能 ( ログ 遠隔操作 ) について説明します 新規機能含めた全体のフローを示します

5.1 情報公開 python プログラムと NODE-RED プログラムをダウンロードできるようにしますので動かしてもらえると嬉しいです 当面は 下記からダウンロード願います https://sites.google.com/site/kaihoudennou/home/raz-roboupload20171007.zip?attredirects=0&d=1 BTO さんから 更新情報含めて公開予定です これから作りたいもの DC モータとサーボモータを同時に制御して リモコンカメラ付きラズ ロボ カー センサを増やして 机から落ちないラズ ロボ カー 道路をトレースして走るラズ ロボ カー 自分の代わりに 色々なところに行ってくれるラズ ロボ カー 自分の代わりに 誰かのところに行って 会話できるラズ ロボ カー夢は広がります みんなで楽しみましょう!!!

5.2 まとめ 早くサーバ :NODE-RED MQTT JSON 素早く開発 ライブラリが豊富 安くサーバ部品 : ラズパイ ZERO 2,3 楽しく node-red+mqtt で動かしているので 電子ブロック感覚で 機能を変更して遊べます 電子工作の世界では ハードも ソフトも多種多様になり どんどん良い製品が出てきています しかも 最近は オープン ソース ソフトウェア オープン ソース ハードウェア と呼ばれ 無料で使わせてもらえる恵まれた環境になっていると思います 自分はハードが専門なのに こんなソフトまで使わせてもらって 楽しんでいます 皆さん 特にソフトの専門家の方に 色々作ってもらい 情報を公開してもらえると嬉しいです