2016年1月6日公開 はじめに 「スイッチのチャタリングはアナログ的振る舞いか?デジタル的振る舞いか?」ということで、アナログ・チックだろうという考えのもと技術ノートの話題としてみます(「メカ的だろう!」と言われると進めなくなりますので…ご容赦を…)。 さてこの技術ノートでは、スイッチのチャタリング対策(「チャタ取り」とも呼ばれる)について、電子回路の超初級ネタではありますが、デジタル回路、マイコンによるソフトウェア、そしてCR回路によるものと、3種類を綴ってみたいと思います。 チャタリングのようすとは? 電子回路入門 チャタリング防止 - Qiita. まずは最初に、チャタリングの発生しているようすをオシロスコープで観測してみましたので、これを図1にご紹介します。こんなふうにバタバタと変化します。チャタリングは英語で「Chattering」と書きますが、この動詞である「Chatter」は「ぺちゃくちゃしゃべる。〈鳥が〉けたたましく鳴く。〈サルが〉キャッキャッと鳴く。〈歯・機械などが〉ガチガチ[ガタガタ]音を立てる」という意味です(weblio辞書より)。そういえばいろんなところでChatterを聞くなあ…(笑)。 図1. スイッチのチャタリングが発生しているようす (横軸は100us/DIV) 先鋒はRTL(デジタル回路) 余談ですが、エンジニア駆け出し4年目位のときに7kゲートのゲートアレーを設計しました。ここで外部からの入力信号のストローブ設計を間違えて、バグを出してしまいました…(汗)。外部からの入力信号が非同期で、それの処理を忘れたというところです。チャタリングと似たような原因でありました。ESチェックで分かったのでよかったのですが、ゲートアレー自体は作り直しでした。中はほぼ完ぺきでしたが、がっくりでした。外部とのI/Fは(非同期ゆえ)難しいです(汗)…。 当時はFPGAでプロトタイプを設計し(ICはXC2000! )、回路図(紙)渡しで作りました。テスト・ベクタは業者さんに1か月入り込んで、そこのエンジニアの方と一緒にワーク・ステーションの前で作り込みました。その会社の偉い方がやってきて、私を社外の人と思わず、私の肩に手をやり「あれ?誰だれ君はどした?」と聞いてきたりした楽しい思い出です(笑)。 図2.
VHDLで書いたチャタリング対策回路のRTL 簡単に動作説明 LastSwStateとCurrentSwStateは1クロックごとに読んだ、入力ポートの状態履歴です。これを赤字で示した部分のようにxorすると、同じ状態(チャタっていない)であれば結果はfalse (0)になり、異なっている状態(チャタっている)であれば結果はtrue (1)になります。 チャタっている状態を検出したらカウンタ(DurationCounter)をクリアし、継続しているのであればカウントを継続します。このカウンタは最大値で停止します。 その最大値ひとつ前のカウント値になるときにLastSwStateが0であるか1であるかにより、スイッチが押された状態が検出されたか、スイッチから手を離した状態が検出されたかを判断し、それによりRiseEdge, FallEdgeをアサートします。なお本質論とすれば、スイッチの状態とRiseEdge, FallEdgeのどちらがアサートされるかについては、スイッチ回路の設計に依存しますが…。 メ タステーブル(準安定)はデジタル回路でのアナログ的ふるまいだ!
7kΩ)×1uFになりますが、ほぼ放電時の時定数と同じと考えることができます。 図8にスイッチが押されたときの74HC14の入力端子(コンデンサの放電波形)と同出力端子(シュミット・トリガでヒステリシスを持ったかたちでLからHになる)の波形のようすを示します。 また図9にスイッチが開放されたときの74HC14の入力端子(コンデンサの再充電波形)と同出力端子(シュミット・トリガでヒステリシスを持ったかたちでHからLになる)の波形のようすを示します。このときは時定数としては(100kΩ + 4. 7kΩ)×1ufということで、先に示したとおりですが、4. 7%の違いなのでほぼ判別することはできません。 図8. 図6の基板でスイッチを押したときのCR回路の 放電のようすと74HC14出力(時定数は100kΩ×1uFになる。横軸は50ms/DIV) 図9. 図6の基板でスイッチを開放したときのCR回路の 充電のようすと74HC14出力(時定数は104. 7kΩ×1uFに なるが4. 7%の違いなのでほぼ判別できない。横軸は50ms/DIV)
1secです。この時定数で波形が大きく鈍りますので、それを安定に検出するためにシュミット・トリガ・インバータ74HC14を用いています。 74HC16xのカウンタは同期回路の神髄が詰まったもの この回路でスイッチを押すと、74HC16xのカウンタを使った自己満足的なシーケンサ回路が動作し、デジタル信号波形のタイミングが変化していきます。波形をオシロで観測しながらスイッチを押していくと、波形のタイミングがきちんとずれていくようすを確認することができました。 74HC16xとシーケンサと聞いてピーンと来たという方は、「いぶし銀のデジタル回路設計者」の方と拝察いたします。74HC16xは、同期シーケンサの基礎技術がスマートに、煮詰まったかたちで詰め込まれ、応用されているHCMOS ICなのであります。動作を解説するだけでも同期回路の神髄に触れることもできると思いますし(半日説明できるかも)、いろいろなシーケンス回路も実現できます。 不適切だったことは後から気が付く! 「やれやれ出来たぞ」というところでしたが、基板が完成して数か月してから気が付きました。使用したチャタリング防止用コンデンサは1uFということで容量が大きめでありますが、電源が入ってスイッチがオフである「チャージ状態」では、コンデンサ(図7ではC15/C16)は5Vになっています。これで電源スイッチを切ると74HC14の電源電圧が低下し、ICの入力端子より「チャージ状態」のC15/C16の電圧が高くなってしまいます。ここからIC内部のダイオードを通して入力端子に電流が流れてしまい、ICが劣化するとか、最悪ラッチアップが生じてしまう危険性があります。 ということで、本来であればこのC15/C16と74HC14の入力端子間には1kΩ程度で電流制限抵抗をつけておくべきでありました…(汗)。この基板は枚数も大量に作るものではなかったので、このままにしておきましたが…。 図6. 複数の設定スイッチのある回路基板の チャタリング防止をCR回路でやってみた 図7. 図6の基板のCR回路によるチャタリング防止 (気づくのが遅かったがC15/C16と74HC14の間には ラッチアップ防止の抵抗を直列に入れるべきであった!) 回路の動作をオシロスコープで一応確認してみる 図7の回路では100kΩ(R2/R4)と1uF(C15/C16)が支配的な時定数要因になっています。スイッチがオンしてコンデンサから電流が流れ出る(放電)ときは、時定数は100kΩ×1uFになります。スイッチが開放されてコンデンサに電流が充電するときは、時定数は(100kΩ + 4.
三葉 「 新世紀ゲームスタディーズ のお時間です。 傑作ゲームをご紹介し、その面白さの秘密に迫ってまいります 」 清水 「まいりましょう!」 三葉 「今回取り上げるのは……こちらの作品!」 ※注 :本記事は、未プレイの方もご理解いただける内容になっています。但し、一部ネタバレを含みますのでご注意ください。 SYUPRO-DX「終わらない夕暮れに消えた君」※ダウンロード : App Store 、 Google Playストア 登場人物紹介 ・清水 :マスター・オブ・アニメ。年100作以上のアニメを見続けて20余年。最も続編を見たいアニメは『スペース☆ダンディ』。 ・三葉 :清水とは中学からの友人。最近ハマっている曲は『異能バトルは日常系のなかで』の「OVERLAPPERS」。超絶な私たちの日常…… ------ 概要をチェック! 三葉 「まずはどのようなゲームなのか、 ざっくりご紹介 しましょう!」 清水 「 『彼女は最後にそう言った』 というと……あー、以前分析しましたよね」 三葉 「そうそう!本作は、あの話題作の後継なのです」 ※メモ1 :「彼女は最後にそう言った」を分析した記事はこちら。 ※メモ2 :「『彼女は』と同テイストの作品を目指した」という制作方針については、以下の記事を参考にしました。 続いてストーリー概要! これは気づかない!「絶妙な伏線コントロールは人を感動させる」という話|「終わらない夕暮れに消えた君 」|100%ツールズ|創作の技術|note. 三葉 「ここからは、 ストーリーのご紹介 です!」 清水 「ほぉ。 サスペンスっぽいプロローグ ですね」 三葉 「ええ。全体的な雰囲気は前作『彼女は』に似ていますが、 サスペンス色は強くなっている と感じました」 三葉 「……と、 ここまでが導入 です」 清水 「ふむふむ」 三葉 「でね……」 清水 「ほぉ! タイムスリップもの だったんですか!」 三葉 「そうそう!」 清水 「ふーむ」 三葉 「で、 この辺りちょっと時間の流れがわかりづらいと思うので、整理してみましょう 」 清水 「 7歳のイヅルが9年前にタイムスリップ……だからいまは26歳 になっている、と」 三葉 「そう、 それがヘイキチ です」 清水 「なるほどねぇ」 【ここに注目①】「イヅル = ヘイキチ」が明かされるまでのヘイキチの描き方が秀逸! 三葉 「さて、ここからは 『ここに注目!』のコーナー です!」 清水 「はい」 三葉 「 私が『これはっ!』と思わずうなったポイントをご紹介 してまいります」 清水 「承知しました」 清水 「なるほどねぇ!」 三葉 「この記事をご覧のみなさま!今後プレイする機会がありましたら、 ぜひともヘイキチの描かれ方にご注目ください 。じつはちょこちょこ登場しているものの、ちっとも目立っていない……そのステルス性!いやぁ、じつに巧い!
⇒ 生きている可能性がある 「10年前の つづきをしよう」という手紙を出したのは もしかして…? ⇒ イヅル本人 生きているのなら 出てくればいいのに 出てこないのは なぜだ…? なにか… 『出られない理由』があるのか? それとも… イヅルは本当はすでに死んでいて… 誰かが 生きているように 見せかけているのか…? ⇒ 出られない理由がある その『理由』って… いったい なんだ…!? ⇒ 過去に飛ばされた 第5問 なぜ ぼくが戻ったのは『10年前の祭りの日』だったのか… 考えられる理由は…? ⇒ タイムカプセル 第6問 10年前 イヅルと一緒に 時空の歪みに 入りこんだ可能性があるのは…? ⇒ 灯篭 第7問 過去に飛ばされたイヅルが そのまま 過去から戻ってこられずに 今も生きているとしたら 年齢は…? ⇒ 26 第8問 この島の中で… イヅルである可能性が高いのは…!!
夕暮れの終わらない島で起きた消失事件を探る"狐島伝奇ADV"終わらない夕暮れに消えた君。 お祭りの日の夕暮れ時にかくれんぼをしてしまった結果、イズルという友達が突如いなくなることから物語が始まる。 10年後、タイムカプセルを掘る為主人公シュウヤとその友達が学校に集まりタイムカプセルを掘る。 しかし、そこにはタイムカプセルはなく、あったのは一つの箱・・・ 中には差出人不明の手紙、手紙にはかくれんぼの続きをしようと書かれていた。 そこから10年前のかくれんぼが再び始まる事となる.... 物語に使用されるBGMや演出、実績等本編以外にも楽しめる要素も盛りだくさん。 あなたはかくれんぼを終わらせる事が出来るか?終わらない夕暮れに消えた君を攻略。 ( 以降ネタバレとなるのでご注意ください )
Q10. 浜中さんは寝ちゃったんですかね! 島の人に話しかけると『彼女は』と同じ世界であることがわかったのですが、なんかオシャレなやりかたに腹が立ちました。こんな感じで開発者がこっそり教える小ネタや小技などありますか? 入間川 :今作の舞台『夕凪島』はなんだか猫が多そうな場所だと思ったので開発途中に島のあちこちに猫を座らせたりしていました! それぞれ違う鳴きかたをするので近くに寄って触ってみるとちょっと癒されるかもしれません! 横田 :あとは「このタイミングでこの人に話しかけると言う内容が変わる」とか、誰がこんなところまで気付くんだみたいな部分までいろいろな変化を仕込みました。とくに「焼きそばを買ってきてくれないか?」ってずっと言ってくる人に対しては、あのー、初エンディングを迎えた後の……例のアレでいろいろやった後、最後にもう一度焼きそばを買ってきて話を聞いてあげてほしいですね。 例のアレ、気づいていない方もわりといらっしゃるみたいなんですけど、ぼくはできることなら9割の人に気づいてほしい……! でも自分から「じつはですねえ!」っていうのも無粋なので、もし気づいてなさそうな人が身近にいたらネタバレせずにこっそり教えてあげてほしい……! 実際そういうふうにヒントを出す感じでつぶやいてくれてるプレイヤーもいて、それを見かけるたびに「ありがとう! !」と感激に打ち震えています。ありがとう。本当に。 Q11. 知らずに記事でちょこっと触れたんですがまったく気付きませんでした! 次回作もアドベンチャー路線というか、がっつり作り込まれた系でしょうか? もうシンプルなバカゲーは作らないのでしょうか? あのころのSYUPRO-DXさんは戻ってこないのでしょうか? 浜中 :そう言われてしまうと非常にお答えしづらいのですが……! 今後もアドベンチャーは継続して作っていく予定ですが、ひとまず次回作はがっつりとシンプルのちょうど間ぐらいのゲームを予定していて、夏ごろリリースを目標にがんばっています! Q12. 代表の発言は経営的なものもあってなんかいろいろリアルで重いですね! 最後に何かひと言お願いします。 入間川 :レビューやSNSでの皆さまのお言葉、とても励みになっております! 終わらない夕暮れに消えた君. どうもありがとうございます! これからも、どうぞよろしくお願いします! 横田 :今回はじめてサウンドトラックを配信しています。ゲーム中のBGM全曲収録、一曲単位でも買えますので、気に入った曲があったらぜひ買ってくださいね!
泣けるアドベンチャーゲーム 突然ですが『彼女は最後にそう言った』(以下、『彼女は』)というアプリをご存じでしょうか? 「終わらない夕暮れに消えた君」の攻略。シナリオ解説と実績一覧攻略 | 攻略!しみゅコンプ. 青年が、"彼女の死の真実"を知るため、"とある1日"を何度もくり返す、タイムリープ系ドット絵アドベンチャーゲーム。 【個人開発ゲームを斬る】『彼女は最後にそう言った』むせるほど泣けるアドベンチャーゲーム 「とにかく泣ける」と口コミで広がり、大ヒットを記録しました。私も遊ばせていただき、記事にもいたしましたが、"なんかええ話"だった記憶がうっすらあります。なんせ約2年前のことですから。 そんな『彼女は』を生み出した開発チーム"SYUPRO-DX"が、新作アドベンチャーゲーム『終わらない夕暮れに消えた君』(以下、『消えた君』)をリリースされたとのことですので、さっそく遊んでみました。 始まりは10年前のあの日 『消えた君』の主人公は、小さな島に住む男子高校生"シュウヤ"。島の祭りの日に、シュウヤが"夢"から目覚めるところからゲームスタート。 夢の内容は、「はやく…」「さがしにきて…!」 10年前の同じ祭りの日、"かくれんぼ"中に失踪してしまった親友"イヅル"からのメッセージなのか? そんな思いと、父からの「祭りに行くなら"海鮮焼きそば"買ってきてくれ」という願いを抱きつつ、シュウヤは幼なじみの仲間たちが待つ学校へ。10年前、校庭に埋めた"タイムカプセル"を掘り起こすために。 先に来ていた仲間たちとともに、埋めたであろう場所を掘り進めると、タイムカプセルは見つからず、代わりに"謎の箱"が。箱の中には手紙が1枚。 「10年前の続きをしよう」 10年前の"かくれんぼ"の続きなのか? 失踪したイヅルからのメッセージかもしれないと沸き立つ、シュウヤと仲間たち。この手紙の主を探そうと盛り上がる、シュウヤと仲間たち。 しかし、仲間はみんな祭りの準備で忙しく、なんだかんだでシュウヤひとりで手紙の主を探すことに。そう、ヒーローはいつだって孤独。 真相を探りに イヅルが消えた日のことを詳しく知るために、シュウヤは島の交番へ。そこで新たな事実を知ることになります。 さらに情報を求め、島中を走り回っていると、「祭りの日に人を連れ去る」という言い伝えがある"夕凪様"がちらほらと出現。 夕凪様がイヅルを連れ去ったというウワサは本当なのか?