ニキシー管時計製作日記

この記事は MCC Advent Calendar 2016 - Adventar の6日目の記事です。

部長のくせに、アホみたいな記事を連投していては威厳が保てないので頑張って書いていきます。

真似する人はまあいないと思うし昇圧回路とか制御回路とかの情報は溢れているので本気で作りたい人はそちらを参考にしてください(丸投げ)*1

突然ニキシー管が届く(10/12)

ことの始まりは10/12(私の誕生日の三日後)です。

今年は特にTwitterAmazonウィッシュリストのリンクを貼ったりはしてなかったのに、自宅に小さい包が届いていました。

なんかやる気になったので次の日秋葉原に言って昇圧回路に使うパーツを買い足すことにしました。

回路はGoogleで[ニキシー管 昇圧回路]とか検索して上の方に出てくるやつを参考にしました。

秋葉原に繰り出す(10/13)

なんか知らないけど秋月がめっちゃこんでてキレました。それからこの日はちょうどPSVRの発売日でTLで浮かれながらレビューを述べてる人間が多くてキレながらパーツを探していました。

 

せっかく買ったユニバーサル基板とスズメッキ線をどっかに忘れてきました。

キレつつも抵抗の脚のあまりとか使って適当に実装していきました。

キレたキレたと書いているけどこの日は尋常じゃなくキレていた気がします。

 

それからこの日は一応実装終わったのに動きませんでした。

テスターが部屋にあったのに見つからなくて原因もわからずキレながら寝ました。

次の日天文部の部室に行ったら何故かテスターがあったので拝借して見てみたけどVo部分の電圧が10Vくらいしか出てなくて面倒くさくなったのでこの辺で一回モチベが消失します。

 

学祭がちかくなったので焦りを感じ始める(11/5)

このくらいになってきてそういえば作らないとなとか思ったんだけど、意外と時間がないので最悪ブレッドボードにウリャして展示するか、という気持ちになってきます。

抵抗が足りなかったけどなんとか昇圧できるようになりました。

今から基盤発注しても間に合わないことに気づいてトチ狂った実装をし始めます。

なんだよこれは。

 

つきました(11/7)

ご覧の通り実装が面倒だったので昇圧回路はブレッドボードに組みました。

自分のことがなんとかなりそうで安心したのか後輩を煽り始めます。*2

 

いよいよヤバさを感じてぶっ通し9時間はんだ付け耐久レースをした日(11/9)

時計用に買ったネオン管も点灯しました。

深夜テンションでキモい実装をしました。

耐久レースの末、なんとかなった。ちなみにこれらのニキシー管はセロテープで巻きつけてあって、とても雑。

マイコン用電源くらいとるべきだったと後悔しています。計画性が低いので三端子レギュレータを買うとかいう考えが抜け落ちていました。

っていうか実装中はもう小手先がやばすぎて終始キレていました。普通のはんだこてなら4時間くらいあれば終わっていたと思います。

 

Amazonでマウンタを発見してキレた(11/10)

この日もキレていました。

プログラムは良さそうだったので一安心していました。

 

学祭(11/11)

当日になったけど筐体を作る暇も昇圧回路をユニバーサル基板に実装する時間もなかったのでそのまま展示しました。

 

感想

とりあえず形にはなったので良かったかなと思います。

自分のツイートを遡ってて思ったことは、ニキシー管制作するにあたってキレすぎでしょうということです。この制作活動は本当に自分にとって得だったのか????

それから自分の計画性の低さを痛感しました。パーツリスト作ったのに買わずに帰ったとか、そもそもパーツリストに入れるのを忘れていたとか言うのが多くて、足りない抵抗を補うために直列に5本つなげたりとかしていました、アホくさ・・・

今後の展望についてですが、とりあえず筐体を作りたいです。筐体を作るにあたって、マイコンをATmegaに変更する予定です。*3 RTCがマイコンについているのはいいけど自動で時間調整する昨日とかいろいろ考えるとGPSモジュールとかつけたほうが早いのかなとか色々考えることが多くて辛いです。

自分はモチベーションのむらが激しすぎるということもわかったので、これも完成するかどうかわかりません・・・ がんばります。


見返してみると部長の威厳もクソもない記事になってしまった感が強いです。

明日はhu君の担当です。めっちゃ記事書くじゃん。がんばって・・・

*1:要望がアレばプログラムくらいはあげるかもしれない

*2:僕3日目いなかったけど結局展示できたの?

*3:現在はLPC1768を使用している

*3rd GrassLife

この記事は MCC Advent Calendar 2016 - Adventar の3日目の記事です

2日の23:59:59まで誰も登録しなかったので急遽私が記事書きます。(宣伝です)

1日目にもMCC紹介記事を書かせていただきましたぐらぽむです。

 


twitter.com

私のbioに書いてあるGrassLifeって何なんだろうと思っている方、何人かいるのではないでしょうか。

GrassLifeというのはMinecraftマルチプレイサーバーを開発・運営するサークルです。

去年の末頃(?)にはbetaサーバーを開放していたそうです。

 

私は今年の9月ごろにこのサークルに加入し開発を行っています。

コンセプトは、 善い生活をしてもらう ことです。

GrassLife正式サービスでは、Minecraftをより実生活に近づける仕組みを多数導入しており、その厳しい環境下でどのように善い生活をしてもらうかを楽しんでいただきたいとおもっています。

例として、プレイヤーの建てた家が集まってできるトライブ(集落)システムやアクションを積み重ねる事によってプレイヤーが成長していくナレッジ(知識)システムなどの導入を予定しています。

 

残念ながらサービス開始はもう少し先になりそうですが、PC版Minecraftをお持ちの方は是非遊びに来てください。


急遽記事を書くこととなり、ぱっとネタが思いつかなかったためこのような宣伝記事になってしまって申し訳ないです。

次回は@altcolonyの担当です

www.adventar.org

*1st 自己紹介

自己紹介

先輩方にいじめられていやいや始めたこのAdvent Calendarではありますが、1日目ということで嫌々ながら自己紹介をさせていただきます。

  • MCC部長

某大学のマイクロコンピュータクラブ(MCC)というところで部長をしております。

11月中旬頃に部長職に就任し、12月頭からバカみたいに自分の名前でAdvent Calendarを立てさせられるというのがMCCの伝統芸能なのです。

参考

gurapomu.hatenablog.com

 

  • イケイケIoT

渋谷区の某所でスマートハウスに関するお仕事をしています。

  • GrassLife Dev.

MinecraftのGrassLifeというマルチプレイサーバーで、デベロッパーをさせていただいております。

まだサーバー稼働していませんが、PC版Minecraftをお持ちの方は是非そのうち遊んでいただけたらなと思います。

ちまちまFF14やってます。 遅かったですが10月最終週くらいに天動編4層をクリアしました。占星術師です

といって分かる人が何人いるのか

  • 餃子

餃子が好きです。 調子がいいと月に10~15食くらい食べます。

だいたい好きなポケモン使って狩られる側の人間です。機会があったらパーティー紹介します。


こうして列挙していくと、予想以上に自分について話すことって少ないものだなぁと実感します。

今のところ、このAdvent Calendarに登録してくれている人が少なすぎて悲しいのですが、なんとかなると信じてやっていこうと思います。

www.adventar.org

*1st MCCの話

伝統芸能

MCC部長には代々、それはそれは歴史の長い伝統芸能が伝授されております。

 

その伝統というのが、 各代の部長が勝手に始めたことを伝統芸能と言い張る伝統 でございます。

 

例えば1つ上の部長は、

部長がちゃらんぽらんで、まともに仕事しないのは伝統芸能だ!!!

と言い張り

勘弁してくれよまじで

  

例えば2つ上の部長は、

毎週の部会前に(あまり覚えていないんだけど)ちょっと面白いっぽいくだらない話を挟んで「部長の○○です、それでは部会を始めます。」の一言で部会を始めるのが伝統芸能だ!!!

と言い張りました

 

それ以前は入学前なのでよくわかりません。

 

というわけですので当代の部長である私は

勝手に自分のAdvent Calenderを立てて、書いてくれる人が少なすぎて惨めな思いをするのが伝統芸能だ!!!

と言い張ります。


以上のことから、筆者の 「本当に悲しいのでAdvent Calender誰か書いてください」 という思いが感じ取れますね

www.adventar.org

 

部長のgurapomuです、それでは部会を始めます。

MCCの話ということですので、一応形だけでも活動報告的なことをしようと思います。

2016年度のこれまでのMCCの活動は大体以下の通りだと思います

  • 大学生協が運営する新入生向けPC講習会の講師をする。

  • MCC_LT 第1回を開催する。(大盛況)

  • 部内向けゲーム制作講習会を開催する。(大盛況)

  • ICPCアジア地区つくば大会国内予選に参加する。(大健闘)

  • コミックマーケット90にて部誌を販売する。(大盛況)

  • 部内向けCTF講習会を開催する。(大盛況)

  • SECCON大阪大会に出場する。(大健闘)

  • ICPCアジア地区つくば大会本選に出場する。(大健闘)

  • 学祭にて制作物を展示する。(大盛況)

このように、とても充実したサークル活動を行っております。

このような充実した大学生活を送っている各部員たちが執筆してくれるMCC Advent Calender 2016の記事には多大なる期待の念を禁じ得ません。

 

つたない文章ではありますが、以上で[*1st MCCの話]とさせていただきます。

www.adventar.org

Sponge Plugin 製作メモ [3. イベントの作成]

書くほどのことでも無いけどメモとして

適当にイベントを探してリスナークラスを書く

public class PlayerJoin {

@Listener

public void onPlayerJoinEvent(ClientConnectionEvent.Join event){

System.out.println(event.getTargetEntity().getName() + " join");

}

}

イベントマネージャーに登録するだけ

Sponge.getEventManager().registerListeners(this, new PlayerJoin());

いまはGameStartedServerEvent内に記述してるけどいろいろ考えると登録はGameInitializationEventとかそこらでやるべきなのだろうか.Bukkitでどうしてたか忘れた.Eventはorg.spongepowered.api.event以下にいっぱいあるのでJavadocで探すと良い。

普通に引数eventをゴニョゴニョするといろいろでてくる

例えばgetCause()ではその名の通り何が原因となってそのeventが発生したかを取得する.(bukkitより高度)多分重要

Sponge Plugin 製作メモ [1. 初期設定と起動・終了時の処理、文字の出力]

まず、主となるクラスの前に注釈@Pluginをうつ。

IDと名前とバージョンを適当に設定。

@Plugin(id = "example", name = "Example", version = "1.0")

次にサーバー起動・終了時の処理について。

起動・終了時の処理を記述するにはそれぞれGameStartedServerEventとGameStoppedServerEventのリスナーを実装する。

@Listener

public void onServerStart (GameStartedServerEvent event){

//something...

}

@Listener

public void onServerStop (GameStoppedServerEvent event){

//something...

}

別クラスに書かない場合はこのような記述になる。別クラスに分けて記述することも可能だがスタートストップ(サーバーのライフサイクル処理)ぐらいはメインのクラスに記述したほうがわかりやすい気がする。

次に文字出力の設定ですが、単純に標準出力を使うことも出来るには出来る。

実際に使ってみた

@Listener

public void onServerStart (GameStartedServerEvent event){

System.out.println("HelloWorld!");

}

[10:55:06] [Server thread/INFO] [STDOUT]: [com.github.gurapomu.example.Example:onServerIStart:40]: HelloWorld!

非常に長ったらしいし読みづらい。

Spongeが提供するログ出力を使用するには以下のように記述する。

Logger logger;

@Inject

private void setLogger(Logger logger){

Example.logger = logger;

}

public void onServerStart (GameStartedServerEvent event){

logger.info("Enabling Example Plugin v1.0");

}

[10:55:06] [Server thread/INFO] [example]: Enabling Example Plugin v1.0

スッキリした。

今回はここまで