2019年6月20日木曜日

スカルプトを触ってみた

Fusion360はスゴイ3Dソフトなのですが、自分が結局作ってみたい曲面を持ったような造形をするためには「スカルプト」というモードを使う必要があるようです。

この機能に関しては「難しい」「わからない」という声が多いですが、やってみることにしました。

まずはグーグル先生でFusion360,スカルプトで検索して、簡単そうな曲面をもった椅子を作ってみることに。「5分でできる」とか書いてあるし・・・。

【Fusion360】スカルプトで5分モデリング。曲面を多用した椅子の作り方

ふむふむ。スカルプトモードにして、「作成」から「平面」を選び、X-Z平面を選択。
右上のサイコロの「前」を押して前視点に。
長方形のタイプ「中心」になっているので、原点を選択して400,400と寸法を入力。

第1のハマりポイント

ここでEnterで寸法を入力完了してしまうと、その他の設定ができるダイアログが表示されない!

正しくは、寸法の数値を入力後、マウスの左クリックをすると、平面の分割数やミラー設定ができるダイアログが表示されます。
「長さの面」「幅の面」というのはそれぞれ縦横の分割数なので、それぞれ「3」を入力してから「OK」をクリック。「対称」は今回は「なし」を選択しておきます。

次に修正の「フォームを編集」で、下辺を400mm引き出して座面を、側面の一部を200mm引き出してアームレストをつくります。

まず座面。「修正」「フォームの編集」で、下端3辺を選択(選択フィルタで「辺」にしとくと楽。複数選択はシフトキーを押しながらクリック)し、-400mmひっぱります。

第2のハマりポイント

ただひっぱってしまうと下図のようになってしまう!(サイトの図のようにならない)


これはAltキーを押しながらひっぱることで、下図のようにグリッドをもう一段追加して引き延ばすことができます。

続くアームレストの作成部分は上記を知っていればハマらないとおもうので割愛。

その次の背もたれの曲面作成については、同様に「修正」「フォームの編集」を使いますが、その際選択フィルタを「面」にしておくとスムーズです。
ここも特に問題ないでしょう。

そして次の、背もたれの傾斜つけですが、まず「修正」「フォームの編集」で座面を形成する6面を選択します。サイコロで「右」を選択して右視点画像にしますが、ここでサイトには『「フォームの編集」のオプション「ピボット」で回転』とあります。

第3のハマりポイント
ピポットで回転、ってどうやんの!?

ピポットで回転、をするにあたり、サイトの図のように座面と背もたれの接線?の交点が原点なりの基準点に合っている必要があるようです(本当?)
そこでとりあえず、まずは

  1. 「原点」を表示
  2. 「ボディ」を選択して、200mm上方向に移動

すると、左図→右図のようになっていると思います。

 →

この状態で「修正」「フォームの編集」で選択フィルタ「面」にし、背もたれを構成する6つの面を選択します。その際、いったん斜め視点にして選択し、再度右視点に戻します。
すると下図のようになっていると思いますが、図の「0.00mm」の右側にある座標みたいな記号を押します。


するとマウスの移動に追従してピポット(回転基準)を指定できるようになるので、先ほど表示した原点を左クリックし、右端のレ点(チェックマーク)をクリック。その後表示されるガイドで「回転」させると、原点基準で選択された背もたれ部分が回転してくれます。



(自分はこの後の足の部分はやってません)
以上、入口で同様にハマってる方の参考になれば幸いです。







2019年5月6日月曜日

低融点金属を調べてみた

いろいろ製作物を模索しているわけですが、やっぱり金属ってあこがれがありますね。
ひょんなことから低融点金属っていう割と簡単に溶ける金属があることを知ったんですよ。まあハンダなんかも低融点金属に含まれるらしいんですが、鉛はいってるし、アクセサリとかには使えませんよね。シリコンの耐熱温度の200度くらいまでで使える無鉛の低融点金属があるといいなー、という。削った時の粉末とかマズいし。

で、低融点金属にはいろいろ種類があるみたいなんですが、とりあえず有名どころは「ホワイトメタル」と言われている合金があると。なんでも軸受けに使われたりするとか。結構耐久性が高いのかな。で、JIS H 5401の表

オウ。。。まったく鉛を使っていないのは「5種」だけか・・・。
amazonには売ってないな・・・

で、5種の融点は・・・?

198~360℃

(ただし凝固区間(って360℃以下だと溶け切ってない可能性があるってこと?))

・・・終了?


2019年4月7日日曜日

Arduino:オリジナルキーボードを作ってみよう

前回sai2を使い始めたわけですが、むかーしお絵描きをしていたころと比べて隔世の感がありますね。
ちっさい(はがき大)のタブレットを使っているんですが、パソコンが昔に比べて高速になったこともあるのか、サイズをかなり大きく(4kくらい)とっても結構なめらかに描けるのは感激です。

まあ画力がついてこないわけですが・・・。

で、ちょっとイタズラがきをしてみていたのですが、sai2は特にパスツールの出来がスゴくイイ!と感じました。書いてからの編集機能も充実してますし!

だけど、ショートカットが結構めんどくさい。

そういえば以前のコレ(Arduino:DigiSpark(TINY85)を動かしてみる)が、ピン数は少ないもののUSBでHID動作?するらしくて、さらにコレ(Arduino:Wemos ESP32 Lolinを動かしてみる(途中))は結局良品がおっかけで送られてきたけど初期不良のものは修理できず、ディスプレイの死んだESP32という扱いで放り投げられている。
さらにさらに、Win95時代に買ったままもう何年つかってないかわからないUSBテンキーパッドがある。

これを

TINY85-(I2C)-Loliin-テンキー

でつないであげれば、オリジナルキーボードができてしまうのでは!?と考えました。

できあがったのがこちらになります。

テンキー部分解図。古いものは作りが正直で使いまわししやすくていいですな。
一番左のがキーマトリクスの電極シートがスペーサー入りで重なってるもの。
真ん中がシリコンゴム製のバネ相当のシート。
一番右がキー部分。プリンタで印刷したものをセロテープ+両面テープでキートップに。
キーマトリクスの上にあるのがLolin。3Dプリンタで基板ベースとカバーを作成。

TINY85の裏側に基板をピンヘッダをかませて固定。
TINY85の端子穴が2.54ピッチでキッチリつくられていたのでバッチリだった。

元々のキーマトリクスが7x6だったけどそんなにLolinに空きポートが無くて、複数ピンを共有にしたりして4x6マトリクスにまとめたけどキーがひとつだけNCになってしまったりしました。まあよし。
I2Cバスは、TINY85側が5Vなんで5Vでプルアップしています。Lolin側の3.3Vプルアップも生きたままだと思うけど、きっと大丈夫!(根拠なし)

ケーブル部は死んだUSBケーブルを流用。接続部はピンヘッダのオスとメス。電源はTINY85経由でひっぱったUSBの電源供給でLolin側もなんとか動いてくれているようです。

両方のソースも貼っとこうかと思いましたが、こんなアホな構成で作ろうと思う変態は自分だけだと思うのでやめときます。

2019年3月25日月曜日

お絵描き環境を作ってみた

お絵描き環境を作りたいと思いました。
しかしお金がありません。
そこで、ずいぶん前に買ったSAIを復活させようと思いました。

SAIのホームページ(TOP)

私が2013年に購入した時にはver1でしたが、どうやらver2のテスト版が出ている様子。
安定版である必要がどれほどあるかわからないし(フラグ)、新しいのを入れてみました。
で、起動してみたのですがどうやら筆圧感知が働いていない。。。

そこで、いつものとおり先人の知恵をお借りしました。

「Surface Pro 4」SAIを使うための設定(筆圧・解像度など)

ポイントとしては、

  • どうやら入ってなかったWinTabというAPIをインストール
  • Visual C++ 2010 SP1 再頒布可能パッケージの32bit版をインストール

が必要のようでした。その上でsai上の設定から「WinTab APIを使用する」を設定しないとダメのようなのですが、

これは全部終わった後の「設定できた」状態です。
上のウィンドウに記載されている通り、「太字が現在使用しているAPIです」ということらしいのですが、一番下の「WindowsAPIを使用する」が太字になったままで、WinTabAPIに切り替わってくれなかったのです。

で、なんやかやあってどうやらタブレットがタブレットとして認識されていないということが問題だと思い、WACOMのサイトからタブレットのドライバ(現在のOSはWin10ですが、ふるーいタブレットのためドライバの最新版はWin7でした)をダウンロードしてインストールしたところ、上記ウィンドウの設定を切り替えることができ、筆圧感知してくれるようになりました。

やれやれ。

2019年1月17日木曜日

ドリルチャック付きモーターを買ってみた

電動ハンドドリルはBlack&Deckerのマルチ電動工具を持っていたんですが、トルクは高いけど基本木工用なので回転数が低く、取り回しも大きくて重いので悪いため、小型のリューターみたいなものがあったらなあ、と思っていました。
さらにできれば固定して切断とかにもさっと使えたらいいなぁ。もちろんできるだけ安く。

いくつか候補があったんですが、決め手となったのは以下の点です。


  • ドリルチャック自体の取り外しができる(軸に直打ち込みではない)
  • 軸が太めで曲がりにくい
  • 12V程度で動作する
  • トルクが十分にある(と思える)
  • 作業台に固定するために使えそうな金具が付属している


そこで、この商品を買ってみました。
AUTOTOOLHOME DC12-24V ミニハンドドリルキット

併せて、
PWM速度コントローラー と ダイヤモンドカッティングディスク を購入し、古いノートパソコン用のACアダプタ(19V)をつないでみました。
補足:ノイズ対策用として0.1uFのセラコンをモーター両極端に接続しています。

キットにはL字型のモーター固定用金具が同梱されているんですが、これが丈夫っぽいものの、

  • 机とのつけ外しは4本のネジ止め
  • ネジ穴は小さめ(Φ3くらい)
  • ネジ穴はモーターにかぶっており、長いネジは使用できない
  • 短いネジを使っても、モーターが邪魔でドライバーが使いにくい
  • モーター天面側(軸側)でネジでモーターと金具を締結するのだが、ドリルチャックを取り外さないと金具が抜けない

このため、手持ちで使ったり机に固定して使ったり使い方を変えるたびにドリルチャックを外すしてその都度センター出しをするか、回しにくいネジ4本をつけ外すかしないといけないことになりとっても効率が悪いため、蝶ネジ2本でさっとつけ外しができる工夫をしてみました。とても便利。

真ん中の白っぽいのは机の天板。6mmのクッション材で
上側の金具を浮かせ、天板との間に隙間をつくり、モーター
固定L字金具が滑り込ませられるようにしている。
M6の2本のボルトが蝶ネジで止まっており、これらを
締め付けることでL字金具が机に固定される。


 また、速度コントローラの基板は3Dプリンタで作ったホルダーでモーターに固定してみました。
モーターの径は自分はとても握りやすいと思いましたが、女性には少し太すぎるかもしれません。



キット内容は

  • モーター(リード線も何もついてない)
  • モーター軸を固定する金色の軸受け(なんていうんだろ?)
  • ドリルチャック(0.3~4mm対応)
  • 10本のドリル(0.5~3.0mm。なぜか9本しか入ってなかった。まあいいけど)
  • モーターを固定するL字金具(と、接続用ビス2本)

以上。
そういえばモーターの端子部近くに赤ポチがマジックでついていたけど、こっちが+極だったっぽいです(ドリルの回転方向的に)。一切説明なし。

組み立て方としては、

まずドリルチャックにモーター軸受けを刺し込み(テーパーがついています)、ハンマーでコンコン叩いて挿入します。

次にモーター軸受けは、2個のイモネジでモーター軸を締め付ける形なので、軸受けの穴をのぞき込んで両側のイモネジをギリギリまで入れ、軸がなんとか通るようにしてから、軸を挿入して交互に少しずつ締め上げていきました。

この方法が正しいのかわかりませんが、結果として、速度コントローラーによる全回転数可変域で特段のブレもなく、滑らかに回転してくれています。

実際上記のダイヤモンドディスクでガラスエポキシの基板をカットしてみましたが、非常に気持ちよく切れてくれます(切断時にはマスク必須!!)。

結論として、とてもいい買い物をしました。

これ、垂直の台座つくってボール盤として使えるようにできないかなぁ。


2019年1月11日金曜日

Arduino:OLEDに好きなビットマップを表示してみる

前回の通りOLEDの表示にはAdafruitのライブラリを使ってるわけですが、どうやら好きなビットマップを表示することが可能っぽい。のでやってみることにしました。

準備


  • テキトーなビットマップファイルを用意します(128x64ピクセル以下)
  • 2値化します
  • ネガ反転します
  • bmpで保存します
  • 純正?ツールをインストールします(該当ページ

作業


  • ツールを立ち上げ、File → Load Imageで読み込みます。
  • Byte orientation [Horizontal]
  • Size は、ファイルを読み込んだ時点でそのビットマップのサイズになっていますが、そのうち Width は8で割り切れる数(切り上げ)に設定します
  • pixels/byte [8]
  • File → Save outputでテキストファイルが保存できます。

とりあえず、
C:\Users\user\Documents\Arduino\libraries\Adafruit_SSD1306
の中の、splash.hを書き換えて表示してみることにしました。

ファイル内の splash1_data の配列が、128x64のOLEDの場合の起動時のタイトル画面なので、ここの配列を先ほど保存したテキストファイルの該当部分に書き換え、すぐ上の
#define splash1_width  128
#define splash1_height 64
の部分を元のビットマップのピクセル数に書き換えます(蛇足:widthは、ツール内では8単位で切り上げましたが、ここは元のピクセル数で良いようです(初期値も82だし))。



Arduino:Wemos ESP32 Lolinを動かしてみる(途中)

なんだこれすげえ安(ry

Wemos Lolin ESP32という感じの型番でAliexpressで売ってたコレなんですが、ESP32ベースで単色OLEDディスプレイ付きで1200円くらいなんですよ!(当時)

まあパチモンらしいんですけども。。。

ESP32ベースなのでWifiと接続できちゃいますし、ESP32には技適マーク付きで国内使用も問題なし!これはいい!ということで1個購入してみました。

例によっていろいろ先人の知恵を拝借するわけですが、結論から言うと残念ながらOLEDパネルの部分は初期不良で動作しなかったのです……。現在ショップに問い合わせ中なんですが、

私:すいません。先日購入したものが動かなかったのですがどうしたらいいですか?(ショップによって違うであろう対処方法について聞いたつもり)
店:写真撮って送ってください。
私:(外付けのOLEDを接続して、ESP32部分は動いているが、内臓のOLEDは動いていないことがわかる写真を送付)
店:なるほど。それで我々はどうしたらいいですか?
私:動作するものを送るか、返金処理してほしい。
店:(現状回答なし)←今ココ
というわけで、待ちの状態です。どうなるかなー。

で、上述の「外付けのOLEDを接続して動作確認」の部分ですが、最初は先日書いたUNO R3の時に使ったAdafruitのライブラリとテストプログラムを使ったんですが動かなかったのです。
で、まずは動くことを確認せねば、ということで、wemos とかでググりまして、
こちらのページにたどり着きました。
ここの情報で

  • ESP8266 Oled Driver for SSD1306 の中の SSD1306ClockDemo が使えそうなこと
  • 内蔵OLEDを制御しているI2Cピンアサインは SCL/SDA=IO4/IO5であること

を教えていただきましたので、ブレッドボードで信号を引き出して外付けのOLEDパネルに接続したところ、外付けは動いてるけど内蔵は動いていない、という状況が確認できた、ということになります。

さて、今後WemosでなくてもESP32+OLEDの組み合わせでモニターとして使っていきたいと思うと、どうにかして文字列を画面に表示できるようにしておきたいわけです。

で、Adafruitのライブラリは上記で失敗していますし、簡単にググったところによると最新のAdafruitのライブラリではディフォルトのI2Cポート以外に設定するのは難しい、みたいな記載を見つけました。

そこで調べを進めると、どうやらSSD1306のライブラリ自体で文字まで表示できる模様。

ああ、、、元ネタどこのページで拾ったのか忘れてしまった……。

ですが、結論としては、これで表示した文字って等幅フォントではなくプロポーショナルフォントだったんです。それってちょっと使いにくいような……。

ということで、Adafruitのライブラリを使えるようにする調査をもう少しまじめにやってみました。結論として、


  • Adafruit_SSD1306.hの↓の部分の修正(128_64をイキにする)


  • ssd1306_128x64_i2c.inoの修正
  1. (下の画像に入ってないけど)#define OLED_RESET 4→0
  2. (Wire.begin()→Wire.begin(5,4)
  3. display.begin(~,0x3D) → 0x3c) 


これで動きました!
スペシャルサンクス←ココ

ただ、どうもAdafruitのライブラリは、フォントをメインメモリ上に置いちゃうらしくてメインメモリを圧迫してしまう可能性があるので、これをSPIFFSに移動することはできないかなー、とか考えています。