力センサのデータをArduino Unoで読み取ってみた
はじめに
今回はArduino UNOを使って力センサの値の読む方法についてまとめていきたいと思います。
使用するセンサについて
今回使用するのはSingleTactで販売されている静電容量重量センサになります。(以下URL参照)
センサの使い方、データシート、サンプルプログラムなどもダウンロードできます。
https://www.singletact.com/静電容量重量センサとは
静電容量重量センサについては以下のサイトで説明されています。
電容量重量センサ とは、重量測定装置 や力の測定一般 などの分野において活用される。
出典元: 静電容量重量センサの意味・用法を知る - astamuse
仕組みとしては、コンデンサ電極間の電気容量を重量(力)に変換できるセンサらしい。
実際に使ってみる
SingleTactのダウンロードページにあるQuick Start GUIDEの通りにすすめていきます。
はじめにセンサの配線をしていきます。 センサーとSingleTact Interface Board(別売り)を接続し、ジャンプワイヤを指定の位置に配線します。 ちなみにですが、センサとArduino UNOはI2Cでやり取りしています。
サンプルコードをそのままArduino UNOに入れて実行してみます。
シリアルモニタで値が読み取れるのを確認できました。
おわりに
今回紹介したセンサはArduino UNOで簡単に扱うことができました。 読み取れる力の範囲がセンサによって異なるので、それに適したセンサを選定するのがいいですね。
EAGLEの使い方まとめ -その2-
はじめに
前回に引き続きEAGLEの使い方をまとめていきます。
Lチカ基盤作成
ボード図
はじめにSchematicの左上にあるボタンをクリック。
すると、回路図の部品が表示される。
次に部品の配置を決め、回路のパターンを作成していきます。
まず部品の配置ですが、単位が初期状態では"mil" (ヤード・ポンド法)になっているので"mm"に変更します。
部品を下図のように配置します。部品と部品の間に線が引かれていますが,これは部品間の接続の関係を表しています。
次にパターンを作成します。主な作業はパッド(緑色の円)どおしの経路を作る作業になります。
手順
- Routeをクリック
- LayerをBottomに変更
- Widthを適当なサイズに設定(今回は1.016mm)
- パッドの中心をクリックし、対応するパッドまで線を引く
以上でボード図の作成は終了になります。
おわりに
前回と今回で,簡単にEAGLEの使い方をまとめました。
今回の基板は外部のライブラリを使用して作成しましたが、自分で部品を作成することも可能です。
EAGLEの使い方まとめ -その1-
はじめに
たまに基板を作って遊ぶのですが,EAGLEの使い方を忘れてしまいます。そこで今回は簡単な回路を作ってEAGLEの使い方をまとめていこうと思います。
参考サイト
EAGLEの使い方については様々なサイトで取り上げられています。
EAGLEの使い方 (回路図から基板作成まで) | AkiRacing.com
マーティーの工房日誌: EAGLE(回路基板CAD)インストールと使い方学習
Lチカ基板作成
ここから簡単な基板を作っていきます。前回紹介したLチカの回路を想定しています。
※EAGLEをインストールしていない方は上のサイトを参考にインストールしてください。
実行環境
- macOS 10.14
- EAGLE 9.0.1
ライブラリのダウンロード
今回作成する基板に必要なライブラリをgithubからダウンロードします。
github.comダウンロードしたものはZIP形式のフォルダなので,任意の場所に展開します。展開したフォルダの中に,"adafruit.lbr"というファイルが確認できると思います。
EAGLEを起動し,"Libraries"の下に"lbr"フォルダを作成します。そのフォルダに"adafruit.lbr"をドラッグ&ドロップもしくはコピー&ペーストします。
その後、グレーの円をクリックしてライブラリを有効にします。
次に File -> New-> Project をクリックし、"LED"というプロジェクトを作成します。
回路図
プロジェクトの場所で右クリックし、New->Schematicをクリック。
"Add"をクリックし、"adafruit"の中からLED(LEDSQR2X5)、抵抗(R-US_0204/5)を配置。
デジタルアウトとGND用に2ピンのモジュール(MPT2)を追加。
最後に"Net"をクリックし、下図のように配線をすれば回路図が完成します。
おわりに
次回はボード図についてまとめていきます。
Arduino MicroでLチカ
はじめに
Arduino Microはブレッドボードに直接挿すことができるArduinoのボードで、省スペース化を図ることができます。
実際にLチカしてみる
モジュールの配置と配線
LEDと100Ωの抵抗を下図のように配線します。
プログラム
Arduino IDEをインストールしていない方は以下の記事を参照。
zaka-think.comマイコンボードに書き込みが完了すると図のようにLEDが点滅を繰り返します。
おわりに
研究室の新配属生の学習に使っていて,これからライントレースロボットを作ってもらう予定です。
GHEO SA Arduino Micro 5V 16MHz (ATmega32u4 - ピンヘッダ付き)
- ジャンル: おもちゃ・ホビー・ゲーム > 趣味・コレクション > ラジコン > ロボット
- ショップ: ツクモロボット王国@楽天市場店
- 価格: 2,800円
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 コマンドをプログラムに組み込む。
実装
前回作成したプログラムに数行追加するだけでよい。
プログラムのコピーが完了したらcatkin_makeを実行し、 launchファイルの実行を行う。
$ cd ~/catkin_ws
$ catkin_make
$ roslaunch ps4_turtlesim turtle.launch
亀をしばらく移動させた後、DualShock4のL1ボタンを押すことによって線が消去されると思います。
DualShock4でturtlesim
はじめに
DualShock4でturtlesimを動かせるようにしたので、そのまとめ。
DualShock4の環境構築
環境
- ubuntu 16.04
- ROS Kinetic
パッケージインスール
はじめに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)
はじめに
以前、mac版VSCodeにLaTeX拡張機能の導入について紹介しました。
今回はWindows10版VSCodeにLaTeX拡張機能を導入する方法についてまとめます。
環境構築
TeX Liveのインストール
以下のサイトを参考にTeX Liveをインストールしてください。リンク先ではTeXLive 2014が紹介されていますが、現在はTeXLive2018がインストールされます。
medemanabu.netLaTex Extensionの追加方法
VSCodeの起動後、"Extensions"をクリック → "Search Extensions in ..."と記述がある検索ボックスに"LaTeX"と入力し、インストール。
"ctrl + ,"と入力すると以下の画面に切り替わるので、"Extensions"→"JSON"→"Edit in settings.json"の順にクリック。
"USER SETTING"に以下のコードをコピペ。
動作チェック
"File"→"Add Folder to Workspace"で任意の場所に新しいフォルダを作成."ctrl + n"と入力し,以下のコードを貼り付け, 作成したフォルダに保存.
"ctrl + Alt + b" でプロジェクトをコンパイル."ctrl+ Alt + v" でタブにpdfが表示されるようになります.
おわりに
windows10のVSCodeでもLaTeXを使えるようになりました。 今後はUsers Settingsを改良して、より快適な環境をつくっていきたいと思います。