• 公開日:2025年10月16日
  • | 更新日:2025年10月17日

ししおどし作ってみた!~第2話 待望の「製作」~

はじめに

 

みなさまこんにちは。2025年入社新人FAEの上田です。

 

第1話では、製作するモノの仕様書作成までのお話でした。

今回から、いよいよ仕様書を基にした「製作」が始まります。

 

第2話は、主にソフトウェア編です。

 

製作スケジュール

ソフトウェア製作の前に、全体の大まかなスケジュールを示します。

昨年度、I2C制御に時間を費やしたというアドバイスを受け、今年はスケジュール段階でから時間を取るようにしました。

 

振り返ってみると、意外とスケジュールに余裕をもって進めることができました。

ひとえに、先輩方が昨年の苦労(特にI2C)を出し惜しみせず伝授してくださったおかげです!

ありがとうございます。

 

勝手に割り込む赤外線センサ

では、何も苦労することなく製作実習を終えたか?

そんなわけではありません。

 

問題が発生したのはおみくじモード。

赤外線センサで拍手を検知したら、LCDにおみくじ結果が表示される という想定でした。

 

一通りコード製作が終わり、いざテスト!

 

 

…拍手していないのにおみくじが表示される

 

 

正直、全く想定していないバグでした。(他のリセットなどの割り込みは上手くできた為です!)

 

ここから1週間以上かけたデバッグが始まります。

 

割り込み条件検討

C言語にまったく自信がない私は、真っ先に己のコードを疑いました。

 

割り込みの条件設定が甘い と仮定し、オシロスコープで波形の確認を行ったところ…

 

左:人が動いたとき

右:拍手をしたとき

 

上記のような波形が確認されたため、

「3秒間に4回以上Highレベルを検知したら」割り込み発生 に変更しました。

 

元々、「Highレベルを検知したら」割り込み発生 としていました。

回数制限がないので、勝手に割り込まれるのは当たり前ですね。

 

それでも勝手に割り込む

コードの修正が終わり、これで完璧!

 

と思いきや、まだ発生する勝手な割り込み。

 

 

一体何が原因かと、オシロスコープを繋げると、

治りました。

 

原因不明ですが、治ったならいいかとオシロスコープを外します。

すると、拍手後に割り込んだり、勝手に割り込んだり。

 

これを1週間近く繰り返していたとき、先輩との会話で転機が訪れます。

 

神「製作実習どう?うまく進んでる?」

私「勝手に割り込みされるので困ってます」

神「データシート見せて。

プルダウン抵抗入れ忘れてるね

 

私の1週間は何だったんでしょう、10秒で解決しました。

 

結局、プルダウン抵抗を追加したことでバグは解消されました。

 

この経験から、小さいことでもすぐに相談しなかったことを反省しました。

先輩社員は偉大なり。

 

次回 第3話~筐体編~

先輩方の協力をいただき、無事にソフトウェアが完成しました。

次回、ハードウェア編に移ります!

 

第3話