次ですね、SNSどう使っているという話です。
トーク80とかのときに、トーク80そんな雑に作っていいんですねっていうところで話した、SNSをリレーする仕組みは引き続き動いておりまして、
随分経ったのでもう一度軽く説明しておくと、世の中様々なSNS、ソーシャルネットワーキングサービス、
ソーシャルネットワークサービスもどっちでもいいか、Twitterとかって言ってたもの、今はXですが、
に代表とされるマイクロブログっていうのかな、みたいな言われてたものもSNSってみんな呼びますけどね。
そのサービスどれ使ってるって話したんですよ。
私はどれでもいいなと思っていたんだけど、私の周りにいる人がどれを使っているかに合わせようと思ったんだけど、
みんなバラバラなのでしょうがないので、
1個に投稿すると、様々なあらゆるSNSに同じ内容をコピーして回るプログラムを用意して、
それを使って拡散しているというか、届くべき人のところに情報を届けるという仕組みを自分で作っている。
これがSNSをリレーするっていうトーク80で話した話なんですね。
起点となっているサービスがマストドンと呼ばれているソフトウェアで組まれたmstdn.jpっていうのを今まで使っていたんですね。
これは無料で使えるマストドンサーバーのうちの一つで、APIも割と自由に使えるんで、
そこに投稿したものを定期的に読み出してきて、新しいものがあればBlueSkyとXと私の日記に追記するっていう処理を入れているんですが、
どうもここ数週間にわたってこのmstdn.jpが風潮で、
アクセスはできるし投稿はできるんだけれど、画像のダウンロードができない。
アップロードもできるんだけどダウンロードができないというところで困っていました。
こうなるとどういうことが起きるかというと、私はmstdn.jpに一度投稿して、それをプログラムで他のところに拡散しているわけだけど、
mstdn.jpから画像がダウンロードできないとなると、画像を含む投稿がうまく他のSNSに伝播できないんですよ。
URLとかであればいいので、どこか別のところに画像を上げてそのURLを指す形で投稿すれば別にいいんだけど、それもめんどくさいしというところで、
しばらくいやと思ってmstdn.jpのほうには投稿せずにXに投稿したりとかBlueSkyに投稿したりとか個別にやるという原始的な手運用に戻していたんですけど、
それもと思って、しかもこの風潮も直る気配が今のところなくて、これはそろそろ別のサーバーにするかってなって、
mstdnなんて自分で用意もできるんだけど、ちょっとそこまでも時間もないし、別のフェリバードという同じmstdnというサービスを使って作られている、
別のサービスにアカウントを昔作ったやつがあったので、そいつを活性化させたというか、そっちを使うように切り替えました。
サーバー自体、サービス自体は同じmstdnでできているので、私のプログラム自体は単純に向き先を変えて、ちょっと挙動が違うところがあるので、
その部分を少し直すだけで、いつも通り動くようになりましたという感じで、ことなきを得たかなという感じではあるんですが、
アカウントを今まで使ったところを使わなくして、新しく別のところを使い始めたということは、
私のフォロワーだったり、私をフォローしてくれている人が全員いない状態から、ゼロからスタート、ニューゲーム状態から始まってしまうわけで、
ここのところで、せっかく繋がれていた人との繋がりが切れてしまうというところが、ちょっと残念だなとは思いつつ、
もともとのアカウントには、今ちょっと調子が悪いのでこちらに避難していますという発言だけ書いて、別の方に移ってきているので、
ちゃんと見てくれている人は来てくれるかなと思っているし、やり取りの多かったり、よく日頃リポストとかファーボ、お気に入りをつけてくれている人に関しては、
新しいアカウントのほうからフォローしに回ったので、フォロー返しも結構来ているので、アクティブな人に関しては拾えているとは思うんだけど、
たまーに見てくれてた人とかは全然拾えてないので、そこはちょっと連絡が途切れてしまっているなと、ちょっと残念な気持ちになっていますというところですが、
とはいえ、じゃあ一番みんながいるのはXですよ、もともとTwitterと呼ばれていたSNSですが、
あそこはAPI制限が厳しすぎて、発言を取得したりとか、APIを使って投稿、投稿はギリギリ1日17ポストまでいけるんだけど、
取得が全然できなくて、確かね、ちょっと裏技みたいなのを使うとできるんだけども、それも下品だし、いつ指名出されるか分からないしというところで、
なるべく直接Xを使うのは避けたいとなって、BlueSkyもAPIがあるから、BlueSkyをメインにしてもいいんだけどなと思いつつ、
プログラム直すのもめんどくさいし、マストドン系列をオリジンとする流れは変えずに、今フェリバードっていうところに進むことにしましたという感じで、
この時代になってもアカウントの作り直しとかで、人間関係、ソーシャルグラフが失われてしまう課題は直っていらんのやなと思いつつ、
私の場合はイナジョブという名前をあらゆる場所で使っているので、あれ、最近イナジョブさんどうなったんだっけってなったときに、
イナジョブで検索してもらえば、おそらく何かしら私の情報にはたどり着けるようになっていると思うので、
そこまで心配はしていないんだけど、こんなみんな開け広げてインターネット生活している人も最近は減ってきていると思うので、
また再びインターネット上のアイデンティティやソーシャルグラフと自分との関係性みたいなところの話題はまだまだ課題なんだなと思いながら、
さて、今回あれだな、コストラテの話が全然ないぞ。
今、私の熱い工作の話、自作ペンプロッターです。
ペンプロッター、私すごい昔から好きでというか、電子工作とかロボット機械工作とかをやってる人はみんなペンプロッター好きでしょという気持ちでありますけれども、
ペンプロッター何か説明するまでもないとは思いますが、ロボットがペンを持って絵を描く仕組みですね。
様々なペンプロッターがあって、例えば3Dプリンターなんかもペンプロッター化する改造があったりします。
3Dプリンターは平らな平面の上にのXYZに自由に動くヘッドがあって、それを使ってプラスチックを突出することで積み重ねていくことで立体物を作るという積層式の3Dプリンターはそういう仕組みですけれども、
XYに自由自在に動けることと、Z方向はペンプロッターの場合は上げ下げしかないので、そんな3Dプリンターほど自由自在に上下方向に動く必要は本来ないんだけれど、
必要十分に機能を満たしているというところで、3Dプリンターも一つのペンプロッターだとは思っています。
歴史を振り返ると、私は2017年に初めて自分でペンプロッターを作りました。歴史を振り返るときもこれが最初で、その次が今のやつですけど、
2017年に作ったペンプロッターはDVDドライブを分解して作ったものです。
DVDドライブは秋葉原とかに行くと中古のものがゴロゴロ転がって500円とかで売ってるんですよ。
これを2つ買うと中のモーターを流用する形でペンプロッターが作れるという話を聞いて、買ってきて作ったというのがこの2017年で、
このブログは結構多くの人に見られているようで、これを真似して同じようなペンプロッターを作っているという記事も何度か見かけたことがあります。
私も別にオリジナルの考えじゃなくて、確か海外の何か事例のブログを見て作ったので、
このDVDドライブを使ったペンプロッターというのは感染力の高いウイルスのようなもので、みんなが作っていく、通る道なんだろうなと思っていますけれども、
かつて作ったことがありました。
DVDドライブの中に入っているステッピングモーターと呼ばれるモーターがこのペンプロッターを作る上で非常に役に立つ便利な部品というところで、当時はこれで作っていました。
DVDロムドライブのモーターというのは何に使われているかというと、
DVDロムのレーザー射出受光器自体を動かす、中心から外心に向かって動かすために使うモーターです。
長さはDVDロムドライブ、DVDロムのディスクの半分ぐらいの長さしか動く範囲がないようなものなので、
必然、これを作るペンプロッターもその範囲でしか動けないもので、当時は名刺サイズのものに絵を描いて遊んでいました。
時は流れ、2025年、またペンプロッターを作りたいなと思って、最初に私は同じようなXY軸を持つステッピングモーターを使ったペンプロッターの作例をまた見かけて、
3Dプリンターを使って部品を作るもので、非常に部品の数が少なくできる、精度はそこまでないんだけど、みたいなものを見つけて、
ステッピングモーターも3Dプリンターで使われているような、すごくしっかりしてるけど高めのものではなくて、
比較的安い1個150円、200円ぐらいのモーター2個を使って、X軸、Y軸を構成して作るというものです。
ペンプロッターの場合、あらゆるプロッターはそうなんだけど、直動機構を作るのが結構お金がかかっていて、直動機構をまっすぐ動くリニアレールとモーターのセットでいいのかな。
この位置に移動せよというのが制御できるモーターと、まっすぐに移動できる部品があって、
まっすぐに移動できるレールが高いんです。レールが長くなれば長くなるほど高いし、長くなれば長くなるほど重くなるので、
重くなれば重くなるほど作るのが難しくなってくるんだけど、
私の見つけた作例は、それが単純な傘の骨か、傘の骨ってまっすぐの針金が入ってるじゃないですか、
そのシャフトとして使って、それに3Dプリンターで作った部品を乗っけて、すごく軽く作ることで、簡素な作りでもうまく動くように、
というので作られたペンプロッターがありまして、それを試しに作例通り作ってみたら、全然動かなくてですね。
その時は糸も悪かったし、作りも結構フニャフニャしていて、糸が空回りしちゃうんですよ。
モーターを回しても糸が思ったように動かなくて空回りしたりとか、外れちゃったりとか、グラグラして、
全然精度が出なかったり、ペンを持たせるとペンが重すぎてモーターが負けちゃうとかね、
様々な問題があって、あんまり思ったようには動かないなって、ペンを持たなければギリギリ糸した動きをするんだけど、
ペン持たないペンプロッター意味ないよねって話で、それで一応ね、Xに投稿したんですよ。
こんなの見て作ったけど、これはさすがに失敗だわって投稿すると、それを見ていた方がいらっしゃってですね、
いなじょぶ側にもいらっしゃる池地さんという方なんですが、そういう簡素なペンプロッターが作れるというのを見て、
いなじょぶさんのやつは失敗したけれども、なんか俺もアイデアあるぞってところで、
一から設計してくれたのかな、ちょっと似たような簡素な作りで、
仕組みとしてはX軸Y軸をそれぞれモーターで動かすのではなくて、コアXYと呼ばれる、口で説明するのは難しいんだけど、
糸を複雑に配線することで、2つのモーターの力をうまく分散させることで、
精度もトルクも出る、最近の3Dプリンターとかで制御でよくやられている糸の配線の仕方をして、
かつ簡素な作りというペンプロッターである雑プロッターというのを作って作り始められたんですよ、池地さんという方が。
その様子を私はXで見ながら、すごい面白いものを作られてるし、私のものより設計の筋が良くて、ちゃんと動くものができてると思って。
それでいいなと思って見ていたら、稲城部側にもいらっしゃるので、3Dプリンターのデータを公開するよって言って公開してもらえたので、
コツコツと手元の3Dプリンターで作ったり、部品を調達したりしながら、作られたの多分半年以上前だと思うんだけど、
私もいつか作るぞと思いながら、簡単なものなんだけどね、時間も取れなかったりしていて、
3Dプリンターでちょこちょこ部品を出したりとか、ちょっとこれだと作りにくいんで、ちょっと改造してもらえませんかねっていうのを池地さんとやりとりしたりしながら、
先日やっと部品が揃ってできましたと。
この3Dプリンターの雑プロッターの良いところはですね、私が作ったわけじゃないんだけど、
すごいところは大半の部品が100円ショップで揃うっていうところなんですよ。
このペンプロッターは3Dプリントした部品を多く使いますが、
3Dプリントしている部品はプーリーとプーリーの軸受けと、
あとモーターを固定するためのブロック、ペンを持つためのブロック、
あとはX軸を構成するためのブロックぐらいで、
ほぼ全ての部品は10センチ、10センチ、10センチより小さいね、
5センチ、5センチ、5センチより小さいぐらいなんじゃないかな、
の部品が集まっているだけと。
それで大きな絵を描けるのかいっていう話なんですけど、
このプロッターは一応A4サイズの紙ぐらいには対応していて、
なんでこんなに大きな絵が描けるのっていうと、
100円ショップに売っているA4サイズのバインダーを筐体としていますと。
このバインダーの周りにモーターとかプーリーを取り付けて、
糸を張って、その糸を引っ張ることでペンを動かすっていう仕組みを使っているんですが、
なので各部品自体はすごく小さい部品の集まりなんだけど、
このバインダー全体を有効に活用することで、
A4サイズの絵の描けるプロッターを構成しています。
またX軸にはバインダーだけじゃちょっと軸が足りないんで、
竹ひごを使って、これも100円ショップで20本100円で売っている竹ひごを2本だけ使って、
軸を作りますと。
3mmのM3のネジがたくさん必要ですが、こんなものはエンジニアの家にはいっぱいありますよ。
あとタコ糸か、タコ糸これも100円ショップで手に入ります。
メーカーの構造としてはそれで全部。
あとは何かしらのステッピングモーターね。
さっき言った300円ぐらいのステッピングモーターが2個と、
それを制御するための制御ボード。
これと一緒に合わせて3,400円になってきますよね。
うちには6個ぐらいあるんで、振り放題なんですが、
制御ボードとモーター、それから全体の制御をするためのマイコンボード。
私はこれはラズベリーパイピコ5巻のマイコンボードを使いました。
これも500円とか600円とかじゃないかなっていう感じで、
多分総額2,000〜3,000円でそんなかかんないかな。
3Dプリンターは家にあるとして1,000円ぐらい。そんなかかんないかな。
1,500円から2,000円ぐらいで作れるんじゃないかと思っています。
結構な精度の出るペンプロッターが完成しました。
ただしいくつか制限があって、まず一つは、
ゆうてひもで引っ張っているので多少ぶれます。
左右にペンを動かすとペンがずれて。
まだ試してないですけど、でも1ミリぐらいは精度出てるんじゃないかな。
1ミリぐらいの間隔で線を引くことは割とできます。
あとペン上げ下げがないんですね。
これは別に作ろうと思ったら作れると思うんで、
できればやってみたいなとは思ってるんだけど、
ペンの上げ下げがないのでずっとペンは下がったままになります。
なので一筆書きでものを書くか、線と線の間に軌跡が入ってしまうことを
諦めるか、どちらかをしないと一般的な絵を書くことは難しいです。
昔私DVDドライブを使って作ったペンプロッターを作ったときに、
ペンの上げ下げがすごく難しいなと思った記憶があって、
それは上げたり下げたりするときにどうしてもペンホルダーの位置がずれるんですよ。
だから上げた位置にきれいに下がってこないんですよ。
上げて下げるタイミングで少しだけずれるんです。
なのでなるべく上げ下げ機能があっても、
上げ下げを減らして絵を書いた方が上手い絵を書けるなと思っていて、
もちろんもっとガチッとした筐体で作れば、
上げ下げでずれるなんてことはないと思うんだけど、
この雑プロッターに糸で引っ張ったりとか、
DVDロムドライブのときも本体を木で作ってネジ止めしたりとかしてるんで、
結構たわむんですよね、筐体自体が。
そういう状態でペンの上げ下げをすると、
その上げ下げの動きに連動してたわんでしまって、
元の位置にペンが戻ってこないみたいなことがあるんで、
上げ下げができればいいかというと、
それはそれでまた新しい問題が生まれると思うんで、
ないならないで描画データの方を工夫するという手もあるかなと思っていて、
例えば文字を書くときには線1本で書くんじゃなくて、
ゲジゲジゲジゲジっと文字自体を塗りつぶすような形で、
ハッチングっていうのかな、漫画でいうスクリートーンみたいな感じで、
中を塗りつぶすような形の線を引いて字を書くようにすると。
字と字の間とか、字の中でも部品が分割されている文字とかがあるじゃないですか、
そういうところは1本だけ細い線が間に入っちゃうんだけど、
それは勘弁してくれよ、それはこのプロッターの味だからっていう感じで、
ごまかすという方式を取れば、この方式でも十分に絵を描くことができます。
私が昔作った、DVDドライブから作ったプロッターだと名刺サイズなんで、
あまり大きな絵は描けなかったんだけど、
このA4サイズのプリンターはA4サイズなので、
A4より少し小さいところまで絵を描くことができるんで、
すごく大きく物を描いて、その中を細かく塗りつぶしてあげれば、
本来、軌跡としてどうしても描きたくない線を引いてしまう、
その描きたくない線はそんなに目立つことはないですよ。
なので、結構これでも十分なんじゃないかと思いながら作っています。
まだ全然できてない、たぶん作って試してる人は私と池井さんしかいないので、
全然こなれてなくてですね。
といっても私が試したバージョンが、これがバージョン3だって聞いていて、
昔はバインダーに穴を開けてネジでモーターを止めるみたいなところをしてて、
それは結構バインダーに穴を開けるの大変だったよみたいな話を池井さんはされていたんだけど、
V3になってからは、V2からかなのかな、
このバインダーに対してクリップみたいに端から挟むような形で、
モーターを固定する部品を作るようになっていて、
それを糸で巻き付けることでバインダーに固定するんですね。
なので、バインダーに穴を開ける必要はなくなりました。
糸で四隅から部品をはめ込んで、それが抜けないように糸でぐるぐる巻きにすることで、
バインダーに固定します。
みたいな感じで、かなり作りやすいし、出来上がりも面白いというところで、
オープンソースなので、3Dプリンターをお持ちの方は、
ぜひステッピングモーターを買い揃えて、
この雑プロッターを作ってみるといいんじゃないかと思っております。
これはさすがに私も記事を書こうかなと思っていますが、
先にしゃべっちゃいましたけど、
もうちょっと作例を増やしてから、
こんなの書けるんだよっていうのを記事にできるといいかなと思っていて、
メーカーフェア東京とかでも、このペンプロッターというのは
一つ界隈があるぐらい、自作キーボードほどではないけれども、
メジャーな製作物の一つで、さまざまな観点があるとは思っているんだけど、
この雑プロッターは安さという観点では、かなりいいですね。
コストパフォーマンスがいい、割には精度がいいし、
部品もそんなに高いものいらないし、
簡単に手に入るものだけで作れますので、
これは何か発明なんじゃないかと思っていますよ。
まだ全然改良の余地もたくさんあって、
ただこれも改良も難しくて、
例えばペンの上げ作業を実装しようとするともちろん値段が上がってしまうし、
精度もある程度犠牲になるところがあると思うので、
何を残して何を改良するかみたいなところの
差事加減とかも結構面白いところだろうなと思っていて、
これは来年もしばらく遊べそうだなと思って、
この雑プロッターで最近絵を描いて遊んだりしています。
もうちょっと上手くいくようになったら、
5歳の娘とかにもこれお絵かきマシンだよって言って見せてもいいんだけど、
5歳の娘はメーカーフェア東京で、
ものすごく完成度の高いペンプロッターで遊んだ経験が何度もあるので、
それと比べるとこれはものすごく動きがゆっくりだし、
絵もそんなに精度はよく描けないしっていうところで見劣りするだろうなと思いつつ、
そうなんですよ。
メーカーフェア東京だとめちゃくちゃいいモーターを使い、
めちゃくちゃしっかりした筐体を作って、
人間が描くより明らかに速いスピードで、
漫画みたいな絵を描き上げるみたいな装置を展示されている方もいらっしゃって、
そういうのも憧れ一つあるんですけど、
このペンプロッターはすごくのんびりと没下的に、
指定されたコードを人間よりもゆっくりのスピードで、
何度も何度も行ったり来たりしながら線を引くと。
ただし、精度は人間が描くよりも全然綺麗。
漫画家の人とかね、
昔スクリーントーンを手で斜めの線をシュッシュッと引いてたと思うという話を聞きますが、
あんな感じで綺麗に丁寧に絵を描いてくれる様は、
また人間が描くのとは違った味わいがあって、
見ていて飽きないなというところではあるんですけれども、
そんなペンプロッターを作るのに今は夢中というところで、
夜の時間はこれに消えていっているという感じです。
昨今は、生成AIを使ったプログラミングが流行っておりますが、
このペンプロッターに関しても、
基礎データはリケージさんが作っていただいたものを使うし、
制御をどうするかというところが課題になっていて、
ソフトウェア自体はマイクロパイソンで書かれたサンプルのプログラムが
リケージさんのリポジトリに公開されているので、
それを使って上下左右にペンを動かすというところまではできて、
ここから、例えばペイントソフトで読み込んだこの絵を
どうやってこのペンプロッターに指示を出して描かせるんだ
みたいなところはこれから作る必要があるというところで、
その部分のプログラムは私とゼミニCLIが書きまして、
例えばある地点XYからある地点X2Y2まで直線を引きたいと
使える命令はアップ、ダウン、ライト、レフトだけだよというような
制限で線を引いてというと、線を引く関数を作って
バーッと絵が作ってくれるんですよ。
私はそれをするためのアルゴリズム、
ブレゼンハムの線分発生という名前を知っていたので、
それも指定してブレゼンハムの線分発生を使えば
多分うまくいくと思うからそれ作ってってやると
バーッと作ってくれて、これは魔法だよね。
呪文ですよね。コンピューターサイエンスやったことがある人であれば、
例えば並べ替えのアルゴリズムとしてクイックソートとか
バブルソートとか有名なものがあったりとか、
難しい問題を分解して解くときに分割等手法みたいなもの、
アイデアを使うとかというような話とか、
様々な概念に便利な名前が付いているというのは
知っていると思うんですけれども、
名前を言えば実装してくれる時代が来てるんですよ。
ブレゼンハムの線分発生でやってよって言ったら
はいってパッとできて、そんなことをやっていると
あっという間に手元の図形データを
このプロッターで描画するためのプログラムは
簡単に完成し、マイクロパイソンなので
簡単にパソコンで繋いだドライブにある
パイソンファイルをパワッと書き換えると
動き始めるというところで、
何の障害もなくペンプロッター、
ユケジさんがベースを作ってくれたというところもあるので、
完全にのっかりのAIに助けてもらいで
あっという間に完成してしまったというところで、
これから何を描いていこうかなとワクワクしている