編集履歴一覧に戻る
strawberry_kumaのアイコン画像

strawberry_kuma が 2021年02月28日01時47分43秒 に編集

初版

タイトルの変更

+

カチカチを利用したNTP時計の作成

タグの変更

+

秋葉原2021

+

M5Atom

+

Arduino

メイン画像の変更

メイン画像が設定されました

本文の変更

+

# はじめに 数を数える機械である「かちかち」、正式名称「数取器(かずとりき)」を時計として使える機械を作りました。 ATOM Liteを使用することでWifi接続しNTPで時刻を取得します。 そして、現在時刻をカウント数で表示します ![作品全体像(21時58分を表示)](https://camo.elchika.com/91ba56776a4955d04f8965157e5eb8cea360707a/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f30343965633662372d623337352d343238382d393765382d3636636636393864613864392f30663263623534352d386431632d343731342d613964652d386135353962346232666266/) # 構成 ## 本体の材料 - 100円均一で売っている数取器(かちかち) - サーボモータ[MG996R](https://akizukidenshi.com/catalog/g/gM-12534/) - 紐 - それらを固定する2mmのアルミ板 ## 回路構成 - [ATOM Lite](https://www.switch-science.com/catalog/6262/) - [dip sw](https://akizukidenshi.com/catalog/g/gP-00586/) - [i2cディスプレイ(デバッグ用)](https://www.amazon.co.jp/dp/B088FLH7DG/) ## 回路 ユニバーサル基板に作成 電源入力はサーボモータ駆動用の5VをACアダプタで入力 ATOM Liteには5V入力端子があるためそこに直接接続 ## 本体ハードウェア 現物合わせで特に設計図等なく作成 2mmのアルミ板は力をいれれば器具を使わず曲げることができる アルミ板をL字に曲げてかちかち本体のネジを外からつけることで固定 サーボモータも同様にL時に曲げて本体固定用の穴でネジ止め ![本体横から](https://camo.elchika.com/fa77c45e9c8b19d4e53db8ccd3012b69b5d91ab7/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f30343965633662372d623337352d343238382d393765382d3636636636393864613864392f30363539616135352d386539302d343832632d393864612d393833396461303135346434/) ## ソフトウェア ATOM LiteをArduino環境で開発 wifi接続後にNTPで時刻を取得し以下の動作を行う # 動作 起動時に0000から現在時刻(例21:58)までカウントアップする(例では2158回紐を引く) その後1分間に1回サーボモータで紐を引くことで時刻を表示する。 ただし1時間に1回59分のあと00分にするために連続して動作する。 ## 時計とカウンタの違いについて ウンタと時計の桁上りの動作には違いがある(10進数と60進数) カウンタ:0,1,2,...59,60,61…98,99,100 時計  :0,1,2,…59,00,01 つまり「かちかち」を時計として使うためには59分のあとに00分にするために40回カウントを連続して桁を繰り上げる必要がある ## デバッグの工夫 ### ディスプレイ搭載 内部状態(現在時刻、かちかちのカウント状況)をリアルタイムで表示できる →(実機相当を表示しデバッグ時に実機が不要) ### DIPスイッチ搭載 - 電源投入時のカウント合わせ(0000から現在時刻まで合わせる)を行わず時刻を刻み始めるモード(1分ごとのカウントアップ部分のデバッグ用) - 紐を引っ張るのを待ちなしで行う(全体的なデバッグ高速化) - 起動時に1111からスタートするモード かちかちは横の黒い部分を回すことで全桁を1ずつ増加させることができる。(例:0000->1111) そのため11時11分以降なら1111回分カウント数を減らすことができる → ディスプレイ単体でそれぞれの動作に必要なデバッグを行い効率化 # 今後の改善案 - 今回作成したハードウェアだと23:59のあと99:99までカウントアップしないと日付を越せない →横の黒い部分を回す機構を追加することで対応できる - 紐が展示を1日行うとゆるくなってしまいカウント不良を起こす  →もう少ししっかり固定するか、固定方法を見直す必要がありそう