2017年3月26日日曜日

リンクを設置しました

 
モノつくり系おすすめリンクを左側の下の方に作りました。PCサイト版でしか見えないと思います。
記念すべきリンク一つ目は、よくコメントを書き込んでいただいているマーティさんのブログ「マーティーの工房日誌」です。
スタートしたばかりですが、すでに基板加工機のハイトマップ作成に関する高度な検証の情報が投稿されています。
みら太な日々で購入した基板加工機よりも一回り大きなサイズのモデルを使っての実験です。基板加工機にご興味をお持ちの方はぜひご一読を。

実はマーティさんは勤め先の先輩だった方で、モノつくりの先輩でもあります。今回投稿の基板加工機の他にも小型の溶接機の自作やPICマイコン工作などいろいろと隠しネタをお持ちの方です。今後のご活躍を大いに願っております。

今回初めてリンクガジェットがあるのを知りました。
もう何年もbloggerでブログを書いているくせに、ブログデザイナーのことをよく理解できておりません(笑
他にもリンクさせていただきたいサイトがいくつもあります。今後リンク情報も充実させていきたいと思います。

この場を借りて、基板加工機の購入についてもお問い合わせが多いです。
みら太な日々で購入しましたのは下記のモデルでございます。ご参考まで。


AliExpress.com Product - 2015 New GRBL 3 Axis Pcb Milling cnc Machine 1610 Diy Wood Carving Mini Engraving Pvc Mill Engraver

【依頼案件】ミクさんのサイバーコンソール その39

 
さて、とりあえず光りものはつながりましたのでスケッチを検討していきます。
ここまでに書いているものがいくつかあります。動画で。


GitHubでAdafruitが公開しているサンプルや、ここからDLしたいくつかのサンプルスケッチを動かしたものがこちら。


スケッチのポイントは使用しているWS2812の仕様の理解と、adafruitが公開しているNeoPixel用のライブラリ"Adafruit_NeoPixel"の理解にあります。
WS2812をArduinoで駆動する場合の詳細と、今回作成したスケッチソースの解説は別投稿にする予定です。

WS2812についてはスイッチサイエンスさんをはじめとして、あちこちで解説がありますのでここでは簡単に。
WS2812はRGBそれぞれのLEDチップと制御用のICを1パッケージに収めたものです。これを簡単な外部回路と共にモジュール化したものが販売されています。
私が購入したのは10x10個のモジュールが一体になった下記のものです。国内購入に比較するとほぼ1/10の値段です。今のところ不良はなく、良い具合に動いております。


AliExpress.com Product - 100x WS2812B LED With Heatsink (10mm*3mm) DC5V 5050 SMD RGB WS2811 IC Built-in

制御はピクセルごとに行うことが可能です。データ線は1本だけしかなく、データの転送は根元に近いピクセルからテスト用紙配布方式で行われます。下の図は仕様書から切り出したものです。1ピクセルあたりRGBそれぞれ1バイトずつのデータで、256段階の明るさを指示することになります。例えばRGB共に0xffを送ればピクセルは白に見えます。
今回のように20個のピクセルを連結させる場合、データ量はこの20倍になります。単純に20倍です。ヘッダもフッタもチェックサムもありません。送りっぱなしでハンドシェイクも無しです。
受け取ったピクセルは、連結されたデータの端っこから自分の分を抜いて、残りを次のピクセルに渡します。
テスト用紙を配るとき、先生は一番前に座っている生徒に列の枚数分のテスト用紙を渡します。みんな一枚ずつ取って次の人に回します。これと同じことをしています。


データの不具合もテスト用紙配布と同じことが起きます。
枚数が足りないときは後ろの人はテスト用紙をもらえません。また、途中で誰かがテスト用紙を机に突っ込んで隠すと、その後ろのみんなが用紙をもらえなくなります。
テスト用紙が人数より多かったらどうなるでしょうか?人間だったら「先生余りました」と言いますが、ここのピクセル君たちはそんな気が利く人たちではありません。自分の後ろに誰かが座っているかどうかなんて気にしていないのです。ので、何枚の用紙の束があったとしても、自分の後ろに向かって投げて終わりです(笑

ではこれらサンプルをいじったり、スクラッチで書いたりしたものをいくつか動画で。
まず、ピクセル全体の輝度が上下するものです。これは単純に発光強度を増減させているだけですのでシンプルです。


各ピクセルを制御するデータはArduinoのデジタルピンのON/OFFで作られます。このデータを並列に接続した複数のバーというかストリップというか、に同時に接続すると複数のストリップを同じ動きで制御可能です。データ線に流す電流はわずかな量で済みますので、複数のストリップを接続してもArduinoがダメージを受けることはありません。
サイバーコンソールのサイドバーは二本あり、これをシート両サイドに配置して全く同じ動きをさせようと考えております。その例を下に動画で示します。


サイバーコンソールにはもう一つイルミネーション上重要なUVクリアリングがあります。
そして、サイドバーとUVクリアリングは連携して動かしたいと考えています。
その38.5でチラ見せしている動画のような動きをさせたいということです。
その場合、1つのArduinoで二系統のストリップを駆動したいという要求が出てきます。
こんな接続です。20ピクセルのバーが二本と、4ピクセルのUVクリアリング用イルミネーションLED2つが一つのArduino nanoに接続されています。


Adafruit_NeoPixelは、一つのArduino スケッチ上に複数のインスタンスを作ることで二つ以上のストリップに別々の動きをさせることができます。インスタンスなどというと??という感じがするかもしれませんが、要はテスト用紙を配る先生が二人以上になるように職員室から応援を連れてくるということです。
ここでは一人目の先生が8番ピンからバーを制御し、もう一人の先生が9番ピンからUVクリアリングイルミを制御します。


そうすると、こんな動きができるようになります。
バーの光るパターンと、UVクリアリングが光るパターンが逆転している例です。


またこのように全く別の動きをさせることも簡単にできます。しかもここでは発光毎に発光色をランダムに変化させています。これも別途解説を行いますが、AdafruitのサンプルソースにあるWheelという関数を使うと簡単にできます。なかなか面白いです。


さて、ここからはもう一歩踏み込んでサイバーコンソールならではのカスタマイズをしていきます。カスタマイズのために導入するのはこのスライドボリュームです。


スライドボリュームの両端に電圧をかけ、可動電極をArduinoのアナログピンに繋ぐと、ボリュームの位置によって異なる電圧をアナログピンにかけることができるようになります。


この電圧をA/D変換して、得られた値を発光色に割り当てると、スライドの位置によって無段階に色を変えることができるようになります。こんな感じ。


実際に使ってみると、スライドボリュームの位置が結構シビアです。
ので、ストロークの大きなより大型のスライドボリュームを使うことにします。
これ。今は亡き秋葉の鈴商で購入したもの。一つ100円と激安でした。


こういった感じで、まずは方針を決めるための準備はととのいましたので、シートに仮固定していくつか動きを見てみたいと思います。


サイドバーはシートサイドの第一側板と第二側板の間に入ります。


UVクリアリングのイルミネーションLEDの固定はまだ作っていませんので、マスキングテープで仮固定とします。


配線もまだブレッドボード上のサーカス状態なので外れないように慎重に台の上に置いて実験です。


準備が整いました。


ではいくつかの動画で見てみます。
まずは光りの弾がバーの下から上に登って行って、同じ色でUVクリアリングが発光するという動作を繰り返すもの。


次に、サイドバーはナイトライダー風の光の弾のゆっくりとした上下を繰り返し、UVクリアリングは連続で光ったまま刻々と色が変化していくという動作。


お次、全体が発光強度の増減を繰り返します。スライドボリュームで発光毎に自由に色を変化させることができます。ボリュームが端まで移動すると白色になるように設定しています。


お次、上記のランダム変化版。発光強度の増減ごとに色が変わります。


最後、ランダムな色変化でサイドバーとUVクリアリングが交互に発光します。


今のところこのくらいです。今後これを増やしていく、発光パターンを任意に選択できるようにする、といった追加を加えていきたいと思います。


ハードウェア的には、このブレッドボードのスパゲティを基板に移してきちんとした形に仕上げる必要があります。


もちろんここも。3Dプリンタでブラケットを作ってUVクリアリングとの光結合効率を上げ、少しでも明るくリングを光らせたいと思います。


サイドバーはまずこれでもいいかなと思い始めました。上にスモークをつけようと思って今したが、なくてもいいような気がしてきました。明るすぎる感じもありますので、最終的には文月さんと相談しながら決めようかなと思います。


このペースで行けばGW前にはお引渡しが出来そうな気がします。
いろいろとこだわって作り込んでいくといつまでたっても完成しませんので、GWまでを区切りに一旦収束させたいと思います。


jwcad on GPD WIN

 
fusion360に続いて、jwcadもインストールしてみました。


インストール自体はさくっと終わります。
fusionがあれだけ動くのですから、jwcadは問題ないと思われます。


あっさり起動。


サンプルファイルを読み込んでみます。何の問題も無く動いております。


スクリーンショットでは画面サイズがわかりませんよね。
この画面が5.5inchの中で動いているのです。iPhone7 Plusと同じサイズの画面です。
私が使っているHUAWEI P9が5.2inchなのでほぼ同じですね。


実際にこの画面でcadを使うことはほとんど考えられないのですが、GPD WINにはmini HDMI端子がついていますので、テレビやPCディスプレイがあれば作業可能ですし、HMDとかつかったらモバイルで作業できるかもしれません。傍から見たら怪しいこと限りないと思いますが(笑

GPD WIN買いました を投稿して以降、多くの方から「どれを買ったのだ」というお問い合わせをいただきましたので、下にアフィリンクを貼っておきます。


AliExpress.com Product - GPD WIN 10 4GB+64GB Gamepad Laptop NoteBook Tablet PC 5.5" Handheld Game Console Video Game Player Bluetooth for LoL DOTA2 GTA5

Aliexpressで買い物をするとお問い合わせが結構来ます。ので、今後はアフィリンクを貼らせていただきます。アフィリエイトってどの程度の効果があるのかというのも気になるところなので。
アフィリエイトの結果についても適宜報告させていただきたいと思います。

2017年3月20日月曜日

【依頼案件】ミクさんのサイバーコンソール その38.5

 
凝り始めるときりがないですが、とりあえずこれは採用しようというパターンが出来ました。いい感じと思いません?


Choitechさんから「起動シーケンスを入れよう!」というご提案もいただいております。
ぜひ組み込んでいきたいと思います。

2017年3月19日日曜日

【依頼案件】ミクさんのサイバーコンソール その38

 
シートサイドのライトバーはそれなりに形になりました。次は最も大事に作りたいと考えているUVクリアリング回りのイルミネーションです。
ここは以前RGBタイプのLEDで予備実験的なことをしました。
元々の構想ではアクリル自体を蛍光があるものでつくるつもりでした。例えば黄緑の傾向アクリルってよく見るじゃないですか、簡単に言うとあれです。
蛍光アクリルの色の種類はそれほど多くなく、RGB各一色ずつという感じです。中でも映えるのは黄緑のものです。ので、よく見るのかなと。これです。



確かによく目立つのですが、私はどうもこの色があまり好きではありません。なんとなく入浴剤っぽいとおもいませんか。バスクリンとか。
使われている蛍光体はおそらくフルオレッセインだと思います。色素レーザの材料としては確たるものがありますが、見飽きました。

ということで、今つけているUVクリアリングはエッジブルーと呼ばれている薄い青の5mm厚の板です。
この色はあまり目立つことはありませんが、非常に澄んだ青色をしていてとてもきれいです。しかも色が薄いので外から別の色の光を入れてもその色をそのまま放射してくれるのです。その21の後ろの方にいくつかの色を入れた動画を撮影しています。


最終的にUVクリアリングをどの材料で作るのか、あるいは今のままで行くのかは別途考えるとして、今回は光源部分を作っていきます。
使うのはサイドバーと同じWS2812モジュールです。


光はUVクリアリングの後ろの部分から入れます。40mm幅ですのでモジュール4つが入ります。


左右2セット分切り出して、


スズメッキ線と目立たない黒ケーブルで配線していきます。


最近活躍が多いはんだごて。Hakko936です。110V仕様品ですが問題なく動いております。


配線はいつも通り。両サイドがバス接続の電源ライン、真ん中がカスケード接続のバケツリレー信号線です。


端っこはケーブルつけて引き出し線にします。


2セット作れば完成。
サイドバーの20個に比べたら楽勝ですね。すぐに終わります。


さて、ここからが大事なところです。制御系をどうするかをちゃんと考えないといけません。いままであんまりまじめに構想してきませんでした。
とりあえず決めているのはArduino使うということくらい。ということで、Arduino箱引っ張り出してきてしばし考えます。


横浜基地にはArduino引き出しもあります。いやあ、ちょっと前までPICばっかり使ってましたが変われば変わるもんです。


Arduinoと申しましてもたくさん種類があります。
ざっと並べてみます。正規品がほとんどないところがなんですが、それはさておき、


ちいさいところから、Digistumpが販売している超小型Arduino互換ボードの中華互換ボード。Adafruitが販売しているTrinketよりもさらに小さいものです。これより小さいのは8pinoしかないと思います。10枚以上在庫あり。
さすがにポート少なすぎ。制御用にLCDを取り付けようと思っていますので、もろもろ考えるとピンが足りません。


次に小さいもの。Pro Miniの中華互換ボードです。これも10枚以上の在庫があります(笑
これは十分に小さく、かつピン数も十分な数ということで使えそうです。が、このPro MiniはUSBからの直接書き込みができません。USB-シリアル変換ボードが必要なのです。横浜基地で開発をしている分にはなんの問題もありませんが、文月さんに引き渡したのちにプログラムを改変しようとすると非常に面倒です。ということでこれも見送り。


お次、Microの中華互換ボード。今もテストに使っています。
こちらはあまり在庫がありません。互換品が3枚と、なんと正規品が3つです。
ピン数は十分、USB接続可能、それなりに小さい、ということで筆頭候補です。誤接続に弱くてすぐに壊れます、というか私が壊します。これもたくさん在庫があったんですが、月に1枚くらい煙が出て破壊されます(笑


お次、Aitendoあちゃんでいいのです。たくさんあります。DIP版の328Pを積んだゴキブリみたいなボードです。これもピン数は十分ですが、Pro Miniと同じUSB直差しができない問題があります。


ようやく出てきましたど定番 Arduino UNO しかも正規品。互換ボード含めて5枚くらいあります。もちろん候補です。ちょっと大きいんですよね。でも”Arduino使っている”感が満載になるのが惹かれるところ。


最後、MEGA2560の中華互換ボード。IOポートてんこ盛りのリッチなボードです。
これ選んどけばまず問題はないでしょう。あとからどんな追加をしたくなっても大丈夫です。が、でかい。


さて、どうしましょうか。
制御が必要なのは当面イルミネーションだけです。が、現状の計画ではサイドバー、UVクリアリング、コンソール画面、その他小物パーツと少なくとも4系統の照明が入る予定です。これを全部一台でこなそうとするとMEGA一択ということになります。が、より小型のボードを複数使いするという手もあります。連携して動いた方がかっこいいイルミネーションは一台にまとめるか、通信させるという手があります。また、バラバラに動いても問題ないものもあると思われます。
まだ詳細を考えきれてないのが悩ましいところですが、ここは決断をするところでしょう。
ということで、nano二台をベースに考えることにしました。1台はサイドバーとUVクリアリングの制御に使います。この二か所は絶対に連携させたいのです。のでシンプルに作るには一台にまとめておいた方がよいです。
そしてコンソールと小物パーツをもう一台で動かします。この部分はおそらくですが、それほど派手な演出はしないと思われるのです。あんまりあちこちピカピカやるとトラック野郎になってしまう可能性があります(笑

ではサイドバーとUVクリアリングのイルミネーションから作っていきます。
ここは思いっきり凝った作りにしようと思っておりまして、イルミネーションも複数のパターンを切り替えられるようにするつもりです。ので、イルミネーションの種類選択や状態表示のためにLCDディスプレイを積もうと考えております。

早速選定。LCDディスプレイには様々種類がありますが、今回は簡単な状態表示だけですのでキャラクタディスプレイで十分でしょう。


幾つかある中からバックライト付きのスタンダードなやつを使うことにします。


取り外し可能に接続するにはピンヘッダをつける必要があります。
ピンヘッダ入れ持ってきてしばし考えます。


普通に考えるとこの組み合わせです。が、これを使うとでっぱりが大きくなりすぎます。
接続部分を背面側に回すと、液晶基板をベースから30mm近く高く保持しないといけません。あんまりやりたくない構造です。


ということで、やや変則的ですが、このL型のピンヘッダを使って横に引き出すことを考えました。


早速ハンダ付けしようとしましたところ、スルーホールがハンダで埋まっております。
このディスプレイは以前何かに使ったんですね。覚えていません(笑
ピンヘッダのように一度にたくさんのするホールにピンを入れないといけない場合はすべての穴にハンダが無い状態にしないといけません。面倒ですがハンダを吸い取ります。
久しぶりに吸い取り機を引っ張り出してきます。


これ220V品なんですよ。円高の時に中華通販で買ったので、なんと8000円位でした。
電圧が全く日本仕様ではありませんが、そこはそれ、なんとでもなります。


博多駅のPCnetで買ったどでかい電圧変換トランスもあるのですが、今回はHardOffツアーで見つけたこのトランスを使います。


ケーブル作っといたのですが、どこに行ったか分からなくなりましたので改めて作ります。ちょうどGPD WINに付属のこのプラグが余っています。流用することにします。


商用電源側はオーブントースターから外したこのケーブルを使います。こうやっていろいろなものが有効にリサイクルされていくのです。素晴らしい。


とおもったら、ケーブルが太くて入りません。


しゃーないのでドリルで無理やり広げます。


最初から穴が開いているところにドリルの錐を入れるのは非常に危険です。噛み込んで振り回される可能性が高いです。ちゃんと万力で固定しましょう。横浜基地には大小の万力が備えられております(笑


レーザ加工機の横にさりげなく。
私のマンションには160戸の入居がありますが、万力がある部屋は間違いなく横浜基地だけでしょう。


安全にあっさり開きます。ケーブルが入ることを確認します。


で、プラグにハンダ付けをするわけですが、電源プラグのように金具がでかい場合は、この普段使いしているハンダごてでは容量が不足です。


このこて先は電子部品用です。


ということで、横浜基地で最も大きな容量のこてを引っ張り出します。


MAX130Wという十分な容量です。


プラグを保持して、


ハンダ付け。さすがに一発です。楽勝。


出来ました。


トランスに繋いで、


220V作ります。


ばっちり。


無事ハンダは吸い取られてきれいなスルーホールとなりました。


少々遠回りしましたが改めてハンダ付けです。


一方は下から、


もう一方は上から挿します。これで互いにショートすることはありません。


次にバックライトつけます。使う液晶はいわゆる1602互換のものですので見慣れた背面の配線です。J3をショートさせて、R9に電流制限抵抗をつければバックライトが点灯するはずです。


どのくらいの抵抗つければいいのか分かりません。


ので、100Ωくらいから様子を見ます。分かる人にはわかる日米無線電機の袋売り抵抗。


コントラスト調整用の半固定も出しておきます。


抵抗つけました。


次にピンヘッダを受けるメスコネクタ作ります。デュポンコネクタのメスを使います。


フラットケーブルの被覆剝いて、


ピンをカシメます。


いつもながら楽しい作業。


きれいに着きました。


使わないピンもありますので、引き出すのは14ピンのうちの10ピンです。


取り付けたとこ。厚み方向へのでっぱりが全くないという思惑通りの出来。


とりあえず電源だけ入れて豆腐を出します。


まずはこの豆腐を出すことが大事なのです。
ですが、ここでちょいと困ったことが起きました。この液晶のバックライトは電流バカ食いします。電流制限抵抗が100Ωではついてるのかどうかわからないくらい暗く、抵抗を60Ωとかに下げると、200mAとか流れるくせにあんまり明るくもありません。
ということで、電池駆動を考えるともったいなさすぎますのでバックライトは切ることにしました。暗いところでは見えなくなりますがやむを得ません。


あとの線も接続してテストします。結線はSC1602で検索すればたくさん出てきますので割愛します。テストコードはこの辺りからコピペします。簡単。


LEDバーを取り付けて、


動かしてみましょう。


液晶表示をしながらイルミネーションが動いています。これで進めていけば大丈夫そうです。
ということで、次はイルミネーションの中身を作っていきます。
久々にがっつりコーディング作業をすることになりそうです。