IT×農家の長男

研究や趣味についてのメモ

力センサのデータをArduino Unoで読み取ってみた

はじめに

今回はArduino UNOを使って力センサの値の読む方法についてまとめていきたいと思います。


f:id:crowsky:20190117233230j:plain:w380

使用するセンサについて

今回使用するのはSingleTactで販売されている静電容量重量センサになります。(以下URL参照)

センサの使い方、データシート、サンプルプログラムなどもダウンロードできます。

https://www.singletact.com/

静電容量重量センサとは

静電容量重量センサについては以下のサイトで説明されています。

電容量重量センサ とは、重量測定装置 や力の測定一般 などの分野において活用される。
出典元: 静電容量重量センサの意味・用法を知る - astamuse

仕組みとしては、コンデンサ電極間の電気容量を重量(力)に変換できるセンサらしい。

実際に使ってみる

SingleTactのダウンロードページにあるQuick Start GUIDEの通りにすすめていきます。

 

はじめにセンサの配線をしていきます。 センサーとSingleTact Interface Board(別売り)を接続し、ジャンプワイヤを指定の位置に配線します。 ちなみにですが、センサとArduino UNOはI2Cでやり取りしています。


f:id:crowsky:20190117233256j:plain:w380


f:id:crowsky:20190117233313j:plain:w380


f:id:crowsky:20190117233230j:plain:w380


サンプルコードをそのままArduino UNOに入れて実行してみます。


f:id:crowsky:20190118002945j:plain:w380
f:id:crowsky:20190118002523p:plain:w225

シリアルモニタで値が読み取れるのを確認できました。

おわりに

今回紹介したセンサはArduino UNOで簡単に扱うことができました。 読み取れる力の範囲がセンサによって異なるので、それに適したセンサを選定するのがいいですね。

EAGLEの使い方まとめ -その2-

はじめに

前回に引き続きEAGLEの使い方をまとめていきます。

Lチカ基盤作成

ボード図

はじめにSchematicの左上にあるボタンをクリック。


f:id:crowsky:20181221150156p:plain:w460

すると、回路図の部品が表示される。


f:id:crowsky:20181221150956p:plain:w460

次に部品の配置を決め、回路のパターンを作成していきます。

まず部品の配置ですが、単位が初期状態では"mil" (ヤード・ポンド法)になっているので"mm"に変更します。


f:id:crowsky:20181221152612p:plain:w460

f:id:crowsky:20181221152626p:plain:w460


部品を下図のように配置します。部品と部品の間に線が引かれていますが,これは部品間の接続の関係を表しています。


f:id:crowsky:20181221153835p:plain:w260



次にパターンを作成します。主な作業はパッド(緑色の円)どおしの経路を作る作業になります。

手順
  • Routeをクリック
  • LayerをBottomに変更
  • Widthを適当なサイズに設定(今回は1.016mm)
  • パッドの中心をクリックし、対応するパッドまで線を引く


f:id:crowsky:20181221155133p:plain:w460

f:id:crowsky:20181221155201p:plain:w460

f:id:crowsky:20181221155224p:plain:w460

f:id:crowsky:20181221155358p:plain:w460

以上でボード図の作成は終了になります。

おわりに

前回と今回で,簡単にEAGLEの使い方をまとめました。
今回の基板は外部のライブラリを使用して作成しましたが、自分で部品を作成することも可能です。

EAGLEの使い方まとめ -その1-

はじめに

たまに基板を作って遊ぶのですが,EAGLEの使い方を忘れてしまいます。そこで今回は簡単な回路を作ってEAGLEの使い方をまとめていこうと思います。

参考サイト

EAGLEの使い方については様々なサイトで取り上げられています。

電子工作室

EAGLEの使い方 (回路図から基板作成まで) | AkiRacing.com

eagle | easy labo

マーティーの工房日誌: EAGLE(回路基板CAD)インストールと使い方学習

Lチカ基板作成

ここから簡単な基板を作っていきます。前回紹介したLチカの回路を想定しています。

※EAGLEをインストールしていない方は上のサイトを参考にインストールしてください。

crowsky.hatenablog.com


実行環境
ライブラリのダウンロード

今回作成する基板に必要なライブラリをgithubからダウンロードします。

github.com

f:id:crowsky:20181213144001p:plain:w450

ダウンロードしたものはZIP形式のフォルダなので,任意の場所に展開します。展開したフォルダの中に,"adafruit.lbr"というファイルが確認できると思います。


f:id:crowsky:20181213144850p:plain:w380

EAGLEを起動し,"Libraries"の下に"lbr"フォルダを作成します。そのフォルダに"adafruit.lbr"をドラッグ&ドロップもしくはコピー&ペーストします。

その後、グレーの円をクリックしてライブラリを有効にします。


f:id:crowsky:20181213152127p:plain

次に File -> New-> Project をクリックし、"LED"というプロジェクトを作成します。


f:id:crowsky:20181214124637p:plain:w380

回路図

プロジェクトの場所で右クリックし、New->Schematicをクリック。


f:id:crowsky:20181214133938p:plain:w380

"Add"をクリックし、"adafruit"の中からLED(LEDSQR2X5)、抵抗(R-US_0204/5)を配置。


f:id:crowsky:20181214134629p:plain:w460

f:id:crowsky:20181214134446p:plain:w460

f:id:crowsky:20181214132747p:plain:w460


デジタルアウトとGND用に2ピンのモジュール(MPT2)を追加。


f:id:crowsky:20181214135528p:plain:w460

f:id:crowsky:20181214135533p:plain:w460

最後に"Net"をクリックし、下図のように配線をすれば回路図が完成します。


f:id:crowsky:20181214140850p:plain:w460

おわりに

次回はボード図についてまとめていきます。

Arduino MicroでLチカ

はじめに

Arduino Microはブレッドボードに直接挿すことができるArduinoのボードで、
省スペース化を図ることができます。

f:id:crowsky:20181206161602j:plain:w350
左: Arduino Uno 右: Arduino Micro

実際にLチカしてみる

モジュールの配置と配線

LEDと100Ωの抵抗を下図のように配線します。


f:id:crowsky:20181206222930p:plain:w350

プログラム

Arduino IDEをインストールしていない方は以下の記事を参照。

zaka-think.com

Arduino IDEを起動し以下のコードを記述。

マイコンボードに書き込みが完了すると図のようにLEDが点滅を繰り返します。


f:id:crowsky:20181206225043j:plain:w350


f:id:crowsky:20181206225054j:plain:w350


おわりに

研究室の新配属生の学習に使っていて,これからライントレースロボットを作ってもらう予定です。

DualShock4でturtlesim (2)

はじめに

turtlesimで亀を移動させすぎると画面が線だらけになります。 その場合、再度turtlesimを立ち上げなおすか、rosのコマンドを叩いてサービスをクリアするしかありません。 そこで今回は前回作成したプログラムを改良し、 DualShock4のボタンを押すことで画面をクリアする機能を追加していきたいと思います。

rosserviceについて

亀の移動によって描画される線はrosserviceで実装されている。

例えば、線の色を変更したい場合は以下のコマンドを入力する。

$ rosservice call /turtle1/set_pen 255 0 0 5 0 
$ rosservice call clear

/turtle/set_penの後ろに続く数値は引数で [R、 G、 B、 線の幅、 線描画のon-off切り替え] の順に指定する。 また、turtlesimノードは実行中にパラメータを読まないので clear コマンドを入力することによって反映させる。 今回はこの clear コマンドをプログラムに組み込む。

f:id:crowsky:20181122062154p:plain

実装

前回作成したプログラムに数行追加するだけでよい。

プログラムのコピーが完了したらcatkin_makeを実行し、 launchファイルの実行を行う。

$ cd ~/catkin_ws 
$ catkin_make
$ roslaunch ps4_turtlesim turtle.launch

亀をしばらく移動させた後、DualShock4のL1ボタンを押すことによって線が消去されると思います。

f:id:crowsky:20181122045610p:plain

f:id:crowsky:20181122061248p:plain

DualShock4でturtlesim

はじめに

DualShock4でturtlesimを動かせるようにしたので、そのまとめ。

DualShock4の環境構築

環境

パッケージインスール

はじめにjoyパッケージをインストールを行う。

$ sudo apt-get install ros-kinetic-joy

無線接続を行う場合はds4drvをインストール。

$ sudo pip install ds4drv

ペアリングの方法は以下のサイトを参照。

cryborg.hatenablog.com

動作確認

DualShock4の入力を確認するために以下のコマンドを入力。

$ roscore 
$ rosrun joy joy_node

ノードが起動しない場合はデバイス番号が /dev/input/js0 以外が指定されていることが想定される。 ジョイスティックの確認にはJoystick-gtkを利用すると便利です。 以下のコマンドでインストールが可能。

$ sudo apt-get install joystick jstest-gtk 

この場合、DualShock4は js1 に接続されているので, joyノードの起動は以下のように書き換える。

$ rosrun joy joy_node _dev:="/dev/input/js1" 

入力値の確認はrostopicで行う。

$ rostopic echo /joy 


turtlesimの実行

以下のサイトを参考に進める。

qiita.com

はじめにturtlesimのインストールを行う。

$ sudo apt-get install ros-kinetic-turtlesim 

turtlesimの実行は以下のコマンドを入力。

$ rosrun turtlesim turtlesim_node 


次にパッケージの作成を行う。

$ cd ~/catkin_ws/src 
$ catkin_create_pkg ps4_turtlesim std_msgs roscpp rospy


シミュレーションで扱う亀は turtle1/cmd_vel トピックにコマンドを送ることで動かせる。 そこで、geometry_msgs::Twist型をDualShock4で書き換えるプログラムを作成。

$ sudo vi src/twist_publisher.cpp 

CMakeList.txtの下部に以下の行を追加。

 add_executable(twist_publisher src/twist_publisher.cpp)
target_link_libraries(twist_publisher ${catkin_LIBRARIES})

launchファイルを以下のように記述。

$ mkdir launch
$ sudo vi launch/turtle.launch

パッケージのビルドを行う。

$ cd ~/catkin_ws
$ catkin_make

以下のコマンドで実行。

$ roslaunch ps4_turtlesim turtle.launch

おわりに

今後はDualShock4でモータやサーボを動かせるようにしていきたい。

VSCodeでLaTeX (Windows10)

はじめに

以前、macVSCodeLaTeX拡張機能の導入について紹介しました。

今回はWindows10版VSCodeLaTeX拡張機能を導入する方法についてまとめます。

crowsky.hatenablog.com


環境構築

TeX Liveのインストール

以下のサイトを参考にTeX Liveをインストールしてください。リンク先ではTeXLive 2014が紹介されていますが、現在はTeXLive2018がインストールされます。

medemanabu.net

LaTex Extensionの追加方法

VSCodeの起動後、"Extensions"をクリック → "Search Extensions in ..."と記述がある検索ボックスに"LaTeX"と入力し、インストール。f:id:crowsky:20181114092135p:plain

"ctrl + ,"と入力すると以下の画面に切り替わるので、"Extensions"→"JSON"→"Edit in settings.json"の順にクリック。

f:id:crowsky:20181114095749p:plain

"USER SETTING"に以下のコードをコピペ。


f:id:crowsky:20181114110310p:plain


動作チェック

"File"→"Add Folder to Workspace"で任意の場所に新しいフォルダを作成."ctrl + n"と入力し,以下のコードを貼り付け, 作成したフォルダに保存.

"ctrl + Alt + b" でプロジェクトをコンパイル."ctrl+ Alt + v" でタブにpdfが表示されるようになります.
f:id:crowsky:20181114110739p:plain

おわりに

windows10のVSCodeでもLaTeXを使えるようになりました。 今後はUsers Settingsを改良して、より快適な環境をつくっていきたいと思います。