- 追加された行はこの色です。
- 削除された行はこの色です。
- 研究室2019 へ行く。
#author("2020-03-12T10:37:57+09:00","","")
#author("2020-03-12T10:49:33+09:00","","")
[[研究室2018]]
* 自宅に3Dプリンター [#hf20723b]
エンダー3を買って動作試験を行った。確かににこちらは簡単に動いた。AutoCADもWindowで使ってみた。まだ作成したファイルで印刷はしていない。
* 研究室の3Dプリンター [#h98973da]
研究室のHictopのプリンターはPrusa i3というオープンソースのファームウェアを使ったタイプ。いまはUbuntuにCuraというスライサーを入れて、そこからUSB経由でgcodeファイルを転送して印刷している。EpsonノートのUbuntuでCuraを動かすときは、端末からsudoで起動している。Fujituノートの時はアプリをダブルクリックしてた。
このタイプのプリンターはHome Positionにしたとき、ベッドとノズルが名刺で1枚程度の隙間に印刷領域も含めて調節されていることが必要。原始的な分、シンプル。
世の中には、ベッドが傾いていても自動で傾きを計測して、印刷できるようにする仕組みを導入しているものがある。高いのがそうなってるのか、出荷時に調節済みなのかは不明。Prusa i3ではやっているのはEnder3というタイプ。ファームウェアはarduino IDEを使ってコンパイルしたりするらしい。いつかやってみたいところ。
* Telloで起きていることをチェック [#yab97f2e]
wifiでつなぐということはそれがサーバーになっているということ。サーバーのIPを探し当てると、候補となって表示される。自分はそのサブネットのIPのどれかになればいいが、これにしなさいと言ってくれるのが普通のルーター。Telloのばあいはパソコンが勝手にやるのか、それともTelloがこれにしろと言ってくれるのかは不明。通常はルータらしく192.168.10.1にTelloはなる。パソコン側はipconfigやifconfigで確認できる。
https://qiita.com/makotaka/items/e3ed92e58e9bc15cefbf
* scratchというのでプログラミング [#g924cb5f]
結局、一番最初に買ったTelloがうまくいかないだけ。あとで校費で買ったのは簡単に接続する。理由は不明。一応jsのコードは読んだ。短いコードでサーバーやクライアントが実装されている。すごいです。
中国語がutfなのでwindowsで読むときのためにアップした。ブラウザのファイル指定で読めばよい。windowsでも最初のclient.on()でTelloとつながる計算機とそうでないのものがある。要チエック。javascript内ののclient.on()などはずっと接続を保持し続けることに注意する。
#ref(Tello.js)
https://veloart-intelligence.com/blog/how-to-fly-drone-tello-by-programming-using-scratch/
ここにあったTello.jsは動作しない。
http://blog.a-way-out.net/blog/2019/04/22/program-drone-tello-with-scratch/
は動作するが、scratchのTello用extentionが問題なのか、コマンドが解読できないとTelloからエラーの返答が15byteで送信される。意外と面倒。試したのはMac. Windows10では通信が動作しない。
* プラスチックの変性データ [#if49420b]
殺菌灯でポリプロピレンPP、ポリエチレンPS、ポリ酪酸PLA、ABSの変化を見た。一ヶ月の照射でPPはボロボロになった。PSは変色程度。ABSは変化が少なそう。引張、せん断試験機が必要。
何といっても、以下のファイルがダントツかもしれないです。エラストマーではurethaneがトップです。接着剤ではエポキシ系が良いですね。
https://jopss.jaea.go.jp/pdfdata/JAERI-Data-Code-2003-015.pdf
urethaneエラストマーの入手しやすいものとしてはハイキャストという商品が安価に入手可能。
* nodeのエラー [#g1c2d68a]
これが出て止まるときはどうすればいいんだったか忘れた。
libusb.h: そのようなファイルやディレクトリはありません
sudo apt-get install libusb-1.0-0-dev
こうすると、エラーが出て動作しない。locate すると2つ出てくるがおんなじものか?結局、やり直してみた。でもrolling-spiderはエラーが出る。コードが変わったのかな。cylonをやってみよう。deprecatedの警告がでるのでそろそろnodeのversion上げも検討する。
* Cylon bb8のコードをgobotに変換 [#oc6a9409]
gobotを使いbb8をキーボードで移動させるコードを作成した。ネットにあるサッンプルは色がランダムに変わるだけ。Cylonではroll、stopと小文字だが、GobotではRoll, Stopとなる。実際の関数は、Ollieで定義された関数を使っているので、そちらのコードを見て合わせた。Roll関数の一番目が速さで、2番目が時計回りの回転角となる。関数が呼ばれたら、その方向を向いて移動し続けるので、Stop関数で止める必要がある。Stop関数で元の方向に向き直るという性質がある。使い方はまずbuildして、引数に固有名称をセットしてsudoで実行する。自腹で買ったのはBB-55AE。bluetoothで表示される名前となる。News2019にコードはアップした。
* BDAQ53A [#td1dd2b7]
わが研究室はYet Another Rapid Readoutの読み出しでなく、Bonn大学のBDAQとYARRの比較というのが当たっている。BDAQの使い方はKEKの中村氏のページにあるようだ。見てみるとpythonを使って動かして、configのファイルはyamlというもの。anacondaとかいうツールになれないといけないらしい。
http://atlaspc5.kek.jp/do/view/Main/Bdaq53HowTo
* freecadで熱伝導 [#paf35665]
演習問題をやるときつまるのは、真ん中にするとき、左上、原点、右下と選んで><で拘束するところ。次に押出するとき「編集->編集モードのきりかえ」で押し出しを可能にする。押し出すときソリッドにチエックを入れないと枠だけになる。その後張り出しを作るが、真ん中の点は選べるので、位置を決めるのに使える。macでは押し出す時optionkeyで全部の線を選べた。unionするときはextrudeの3つをshiftキーを押して選択。
* ratocsystemsのusb-GPIBプログラミング [#r5f99c07]
インターフェース社のPCI-4301で電源のコントロールをしているが、KEKなどに出張すると面倒である。そこでratocsystemsのusb-GPIBインターフェースを使ってコントロールをするプログラムをvisual studio 2015で作ってみた。Keithley195用のプログラムが見つかったのでwindows8のPCにドライバーを入れてコンパイルしてみた。ビルドの段階でリンクがうまくできなかったので、プロパティのところにある"VC++ディレクトリ"にライブラリのあるファイルを入れたディレクトリを書き込んでやるとビルドした。ライブラリはVC2005の例題にあったもの。ただ動作はするがいつもやっている温度読み出しのデータが変な文字列ばっかりになる。Keithley2000でテストしたほうが良かったのか。
マニュアルを見るとバッファをクリアした後”バッファを最高速度にイネーブル”というコマンドを実行している。その通りやると読めた。
#ref(main.cpp)
インターフェース社のGPIBはGUIでコマンドを入れて応答を試すアプリがあった。ratocsystemsはそれがないのでKeithley2000の古いマニュアルから試行錯誤。4-13ページに機能の設定例があったので、抵抗読み出しにして、5-5ページの読み出しコマンドの説明から推定すると以下のプログラムとなった。
#ref(Keithley2000main.cpp)
* ネットを使った教育moodleの試験運用 [#b71c8804]
インストールは以下のページをみて行った。
https://www.unix-power.net/networking/post-730
受講者の設定がまだよくわからない。
* telloをアマゾンで買ったのでプログラミングをしてみる [#h91cbfe4]
telloやbebopはwifiで繋がっている。gobotのライブラリはwifi(TCP/IP)で接続するのでusbを無線化したbluetoothとは別の接続となる。つまりtelloがTCP/IPのサーバーで、goのプログラムはクライアントとして動作するようだ。gobotさえ入れてしまえば、簡単なgoのコードでドローンが飛ばせるという仕組みとなっている。IOTそのものですね。
https://www.drone-engineer.com/articles/766
履歴をまとめてみた。あとはsrc/telloにコピペするだけ。sudo apt install gitはやっておく。SDL2を前もって入れておかないとjoystickが動かなくなる。ここが大事。
#ref(install_go.txt)
まずはキー入力で飛ばしてみる。
#ref(KeyType2.go)
telloをビデオ表示させながら、keyboardでコントロールするプログラムを使ってみる。
#ref(telloVideoKey.go)
Gamesirを使ってiphoneでやってみると制御しやすいので、dualShock4を使う実験もやってみる。IPCからプログラミング教育の原稿依頼があったのでその一環。上のページのプログラムはtelloのAPIについても参考になる。dualShock4を公費発注した。何遍やってもbluetoothでは繋がらない時がある。そんな時はケーブルで繋げばOK。
#ref(dualShock4.go)
dualShock3の互換品を買って、ケーブル接続でコントロールして見た。こっちは安いので自腹で問題なし。configのguidをSLD2のテストプログラムで確認して、セットするだけ。
* rootの演習に必要 [#r92f166d]
#ref(rootrc)
* playbulb もやってみた[#nc274396]
以下のファイルをダウンロードしておく。こっちはなぜかuuidを入れなくても動作する。なぜだ。
#ref(playbulb.js)
#ref(setColor.js)
mkdir playbulb
cd playbulb
npm install noble
npm install noble-device
mv ~/Downloads/playbulb.js
mv ~/Downloads/setColor.js
node setColor ff0000
* cylon でbb8を制御してみる [#xf7d89b0]
最初にmacで上手くいったので、ubuntuでもやってみることにする。使うファイルは以下の物。
#ref(bb8.js)
#ref(bb8_keyboard.js)
#ref(bb8.json)
uuidはmacとubuntuで違うので注意する。'node bb8'をやってみよう。モジュールが足らないと言ってくるので、足らなかったモジュールを以下のように追加する。
npm i cylon-ble
npm install cylon-sphero-ble
うまく行ったのは拾ってきたcf-w7にelecomのusb bluetooth v4.0を差したもの。ubuntuは32ビットの16.04LTS。
* 電源のGPIB [#eebb1ca7]
AgilentのE3646Aの制御プログラムをテストした。visual studioで空のプロジェクトを安全チェックを外して作成し、main.ccを作って、includeをGPC40なんとかをセット、ビルドのプロパティでDLLのライブラリを設定したらビルドできた。電圧設定をloopできるようにしたいところ。変数にするのが文字列操作になって面倒。
* Macbook airのMojaveへのupgrade [#ca941e51]
安易にアップグレード操作を行ったところ、「Prohibitory Symbol」なるものが出てしまった。どうすればよいのか。検索して最初のページを見たところ、option keyを押したままブートしろとなっていたので、やってみると「OS installer」と「mac SSD」の選択画面が出てきた。きっとMojabeのインストールが失敗してると思い、「mac SSD」を選択したところ、通常にloginできた。さてインストールをやめるか対策するかしないといけなくなった。ほっておくと「OS installer」がデフォルトになったままなので、再起動でまた「Prohibitory Symbol」となる。回避するには「mac SSD」を選んだ後にコントロールキーを押したままリターンキーを押してブートすることのようである。英語のページにそんなことが書いてあった。別のページにはOSを入れ直せと書いてあった。それはありえない選択です。そんなことをやってはだめ。
* クルックス管研究のまとめ [#pe7744d0]
秋吉先生のグループのまとめのpdfができたようである。誘導コイルを使うときは最大電極をコントロールするために放電板の位置調整をすること。ホリゾンの5kV冷陰極システムを使うことが推奨されている。