11月25日発売 書籍『Arduinoと3Dプリンタでロボットを作ろう』を出させて頂きました!

Arduinoとサーボで動かす時間を書いて消す時計Plotclockを作る![その① パーツ紹介]

ホワイトボードにひたすら現在時刻をペンで書いては消すを繰り返す「Plotclock」という時計を作り始めました。

Arduinoでサーボを制御してペンを動かし時刻を描く・・・デジタルなのにわざわざアナログな動きで時刻を表示させるという、なんとも夢のある?時計です!

本当はここに完成動画的なものを載せたかったのですが、かなり苦戦しており完成まで時間がかかりそうなのでPlotclockってのが何なのか分かりやすい他の方の動画でまずは紹介。

そもそも私がこのPlotclockと言うものの存在を知って興味を持ったのがこちらの動画。
フリスクPさんがオートマタ時計を製作されていて・・・このベースとなっているのがPlotclockという描き文字時計なんですね!
今回正式な名前?はじめて知りました。


内部の構造ってどうなっているのか非常に気になっていましたが・・・調べてみると意外と簡単そう?(まだ完成していませんが!)
回路自体はArduinoを使って3つのサーボを動かしているだけの比較的単純なものになります。

Arduinoと3つのサーボさえ用意出来れば回路自体は組む事ができます。
そして使用するパーツデータやArduinoライブラリ・資料等はGitHubThingiverseに公開されているので、あとは3Dプリンターを使いパーツを造形すれば製作する事が出来ます。

・・・なんですが私、3Dプリンターなんてもの持っていなくて・・・。
ってな方でも大丈夫。
このPlotclockに興味を持ったけど3Dプリンター持っていないって方のためにPlotclockキット?なるものが販売されています。
アクリル板をカットしたパーツにArduino UNOやサーボ等、制作に必要なパーツが全てセットになっています。

もちろんこのようなキットを購入しなくてもパーツデータは公開されているのでDMM.Makeなどでパーツを製作し、あとはArduinoやサーボなんかはAmazonなどでも比較的簡単に入手出来るので製作は可能です。
多分2〜3,000円もあれば出来ちゃうと思います。

まぁ私みたいな電子工作初心者にはオールセットなキットを使いまずは作るのが手っ取り早く・・・なんて考えて今回キットを入手したのですが・・・いきなり躓きまくりで・・・

確かにPlotclockキットなので比較的安く制作に必要なパーツ等は全て揃います。
なんですが、製作にあたり説明書的なものが一切入っておらず!
初っ端からいろいろと調べる羽目になりました。
ここはさすが、海外通販サイトの商品あるあるですね!

そしてこの時点でようやく冒頭で紹介したGitHubやThingiverseに3DデータやArduinoのスケッチ(プログラム)等が公開されている事を知りなんとか組み立てを開始する事が出来ました。(結果的には非常に勉強になりましたが!)

調べてみるとこのPlotclockプロジェクト(って言うのかな?)は非常に有名らしいですね!
もう大元のデータは7年ほど前から更新されていないようですが、いろんな方がアレンジして製作されているようです。

実際に製作する電子工作のキットとしてやArduinoを使ったサーボ制御の教材として非常に人気のようで、面白いものとなります。

最近の電子工作ってあまりはんだ作業とか必要ないようですね!
特にArduinoを使うようになり感じたのがモジュールの組み合わせだけでいろいろと出来ちゃうんですね!(超初心者ですいません!)

これまでいろんな方がこのPlotclock製作にチャレンジされているようで、私も晴れてその一人となりました。
今回私は全てのパーツがセットになったPlotclockキットを使っていますが、キットとは言えその製作は全く初めてだと結構調べる事が多いと思います。

また3Dプリンターを使いパーツ製作から開始される方もその製作過程は同じなので、今回これから製作される方のためにその手順を少し残しておこうと思います。

とは言っても私のPlotclockくんはまだ上手く動作してくれず、現在パラメーターの設定で四苦八苦しております。(サーボの調整の話です)

1回ではとても書き切れないので(まだ現在進行形で製作途中なので)、数回に分けてこのPlotclock製作の過程をご紹介出来ればと思います。

そして今回は、基本的なパーツ紹介から組み立てまで見ていきたいと思います。
興味ある方は手っ取り早く今回ご紹介するキットで製作してみるもよし、3Dプリンターをお持ちならArduinoやサーボなどこれからご紹介する基本パーツの入手で作る事が出来ます。

Plotclockを制作する【パーツ紹介】

今回、海外通販サイトBanggoodさんで販売されているPlotclockキットをご紹介します。
Plotclock製作に必要な全てのパーツが比較的安価な価格で揃いますが、製作を進めるにあたり必要な説明書等が一切付属していないので注意が必要です。(商品販売ページには多少記載はありますが)

箱を開けた時点でその事を知った私はどうやって作っていくの?
Arduinoのコードは?
なんて手が止まってしまいましたが、いろいろ調べてみると先人の方が作り上げ既に公開されたものをベースで作られたキットのようですね!

製作に必要なパーツのデータやArduinoスケッチなど以下のサイトに公開されているので、まずはご覧になって雰囲気を掴んでください!
3Dプリンターをお持ちでパーツ製作が出来れば回路部品自体は2,000円もしないんじゃないでしょうか?

参考 PlotclockGitHub 参考 PlotclockThingiverse

使用パーツ一覧

それではPlotclockキットに同封されている全パーツを見ていきましょう。
その前にこのPlotclockキットはBanggoodさんでは2種類販売されているようです。

まずは上記サイトで掲載されているオリジナル(初代って言うべきなのかな?)のPlotclockとなるのがこちらのセット。
こちらは上記サイトでデータが公開されているオリジナル?のものと同じ構成になります。

そして今回ご紹介するキットは、少しカスタマイズされたものとなります。
上記セットにリアルタイムクロック(DS3231)とLCDモジュールが追加され、さらにメカ部を固定するボトムプレートが追加されています。

文字を描く(サーボ駆動部)の構造は全く同じなので基本的には同じく上記サイトを参考に製作を進めていく感じとなります。

Arduino UNO

まずは心臓部となるArduino UNOとサーボやLCDモジュール等を繋ぐための拡張ボード。
Arduino UNOと刻印されているということは正規品なんでしょうか?
普段は刻印のない互換品を使っていますが・・・あまり両者の違いが分かっていません。

Arduino UNO R3 互換ボード
VKLSVAN
Arduino UNO R3 拡張ボード V5.0
HiLetgo

サーボ

そして駆動用のサーボ。
一般的によく使われている安価なタイプのものですね。

リアルタイムクロック & LCDモジュール

LCDモジュールとリアルタイムクロック(RTC)モジュール。
このパーツがオリジナルからアップグレードされた部分になります。
特に必要なければ上記Arduino UNOとサーボ3台を繋げただけの単純なものでも作れます。

このRTCとは電源を落としてもクロック情報(時刻)が保持されるもので、毎回時間設定をする必要がなく便利そうなんですが・・・

オリジナルのArduinoスケッチには1273RTCモジュールを使うものが記載されています。
このキット付属のものは3231RTCなのでこのRTC用のライブラリをインクルードする必要がありそうですが・・・まだ上手くいっていないので次回ご紹介したいと思います。

以上がハード部分のパーツとなります。
どれも比較的入手は簡単なパーツとなり、LCDモジュールやリアルタイムクロックモジュールはあとからでも追加が可能で、必要なければ基本的にArduinoとサーボ3つがあれば製作は可能です。

駆動部のパーツ

次に駆動部のパーツです。
1枚のアクリルボードにレーザーカッターでしょうか?で切り込みが入っていて抜き取る形となります。
このパーツはデータが公開されているので3Dプリンター等で製作可能となっています。

そしてネジ類。
5種類ありますが、サーボ駆動部(腕の部分)に使うのは2種類だけとなります。
残りは台座やArduino基盤固定用となります。

駆動部を組んでいく!

今回組んでいるものと多少形状が異なりますが、オリジナルのPlotclock全体図はこんな感じとなっています。

それでは駆動部(サーボで動かす腕部分)を組んでいきます。

上記画像はBanggoodの商品ページに記載されていたものを引用させてもらいました。
駆動部分の制作はそれほど難しいものではありませんが、サーボの微調整は非常に大変な作業となります。(今かなり苦労しています!)

左右サーボを台座に固定。

左サーボ部分にはスペーサーを入れて高さ調整。

そしてリフトサーボを固定して左右サーボ部分と連結します。

オリジナルの図面とは少し異なっていますが、構造は同じとなります。

Arduinoと接続して動作確認

ここまで組めたら駆動部はほぼ完成です。
Arduinoと接続して動作をチェックしてみたいと思います。

今回こちらのキットではArduino拡張ボード(センサーシールド)が付属しているので接続は簡単です。
デジタルピン2・3・4にそれぞれリフトサーボ・左サーボ・右サーボの順番で繋げば完了です。(信号線・Vcc・GNDの配置お間違いなく)

自作される方で拡張ボードがなければ、Arduino UNOのデジタル出力ピン2番・3番・4番ピンにそれぞれリフトサーボ・左サーボ・右サーボの信号線を直接接続する形でいいと思います。
5VとGNDラインがごちゃごちゃしてしまいますが、まぁ上手いこと処理して下さい。

こんな感じで配線はArduinoにサーボを3台繋げただけのシンプルなものとなります。

キットの場合、付属のArduino内に既にPlotclockのスケッチが書き込まれていました。
キットではなく自分でパーツを集め組んでいる方は、動作確認のためArduinoスケッチをダウンロードしてArduinoに書き込んでください。

PlotclockスケッチをArduinoに書き込む!

今回ご紹介しているキットにはArduino内にスケッチが既に書き込まれていました。
キャリブレーションモード解除やパラメーターの微調整を行う際に元のスケッチは必要となり、またパーツで1から組んでいる場合も必要なのでPlotclock用のスケッチをGitHubからダウンロードしておきます。

参考 PlotclockGitHub

こんな感じのスケッチです。

このスケッチを動かすにはTimeライブラリが必要となります。
まずはこちらからTimeライブラリ(Time-master.zip)をダウンロードしてきます。

参考 TimeGitHub

そしてArduinoにこのライブラリをインクルードします。
[スケッチ]⇒[ライブラリをインクルード]⇒[.ZIP形式のライブラリをインストール]で先程ダウンロードしたファイル(Time-master.zip)を選択。

これでライブラリにTimeが追加されます。
そして先程のPlotclockスケッチに戻り、この[Time]ライブラリをクリックしインクルードします。

Timeライブラリがインクルードされました。

これをArduinoに書き込み動作確認をやっていきます。(今回使っているキット付属のArduinoには既にここまで書き込まれています)

スケッチの書き込みが終わったら動作確認!
左右サーボが動き出します。
書き込まれているスケッチは初期状態ではキャリブレーションモードで動作するようになっています。
このモードがはじめよく分からず戸惑いましたが、左右のサーボの可動域を調整するモードとなります。

左右のサーボに取り付けるアームがこのように90°水平と直角を繰り返すように取り付けます。

あとはArduinoスケッチ内のパラメーターを微調整しながらもう一つのリフトサーボとの動きを調整していく感じとなります。

左右サーボの調整後、キャリブレーションモードを解除して実際に動作をさせてリフトサーボの動きも踏まえて微調整していきますが・・・
RTCライブラリのインクルード等、まだ上手くいっていないので次回やっていきたいと思います。

ちなみにキャリブレーションモードを解除して通常動作させるには以下の部分を変更して下さい!(RTCの部分でコンパイルエラーが出るので次回ご紹介したいと思います)

【変更後】

//#define CALIBRATION

#define REALTIMECLOCK

今現在の動作はこんな感じ!
サーボのパラメーターはかなりシビアな調整が必要なようです!
なかなか難しく、綺麗に動いてくれない・・・

最後に!

一気に完成までご紹介出来れば良かったのですが、今回のキット付属のリアルタイムクロックモジュール(DS3231)での動作がどうも上手くいかず・・・

そしてサーボの調整がなかなか難しく、綺麗に動かすにはかなりシビアな微調整が必要になりそうです!
このあたりクリア出来れば、次回続きをご紹介したいと思います。

【・・・次に続く(多分?)】

1 COMMENT

コメントを残す