2.8 光アラーム時計

私たちの日常生活にはさまざまなアラーム時計があります。今回は、光で制御されるアラーム時計を作成してみましょう。朝になり、明るさが増すと、この光アラーム時計はあなたに起きる時間であることを知らせます。

../_images/10_clock.png

学べること

  • フォトレジスタの動作原理

  • 音の再生の停止およびスクリプトの実行停止

必要な部品

このプロジェクトには、以下のコンポーネントが必要です。

一式をまとめて購入するのはとても便利です。リンクはこちら:

名前

このキットのアイテム

リンク

3 in 1 Starter Kit

380+

3 in 1 Starter Kit

以下のリンクから個別に購入することも可能です。

コンポーネントの紹介

購入リンク

SunFounder R3ボード

BUY

ブレッドボード

BUY

ジャンパーワイヤー

BUY

抵抗器

BUY

フォトレジスタ

BUY

回路の作成

フォトレジスタまたはフォトセルは、光によって変わる可変抵抗器です。フォトレジスタの抵抗は、入射光の強度が増加すると減少します。

以下の図に従って回路を組み立てます。

フォトレジスタの一方の端を5Vに、他方の端をA0に接続し、この端に10Kの抵抗をGNDとシリーズに接続します。

したがって、光の強度が増加すると、フォトレジスタの抵抗が減少し、10Kの抵抗の電圧分割が増加し、A0から得られる値が大きくなります。

../_images/photoresistor_circuit.png

プログラミング

1. スプライトを選択

デフォルトのスプライトを削除し、スプライト領域の右下の Choose a Sprite ボタンをクリックし、検索ボックスに bell と入力して、それを追加します。

../_images/10_sprite.png

2. A0の値を読む

beforecurrent の2つの変数を作成します。緑のフラグがクリックされると、A0の値を読み取り、参照値として変数 before に格納します。[forever]の中で、A0の値を再度読み取り、変数 current に格納します。

../_images/10_reada0.png

3. 音を鳴らす

現在のA0の値が前の値よりも50大きい場合、これは現在の光の強度がしきい値よりも大きいことを示し、その場合にはスプライトに音を鳴らさせます。

../_images/10_sound.png

4. スプライトを回転させる

[turn block]を使用して、 bell スプライトを左右に回転させ、アラーム効果を実現します。

../_images/10_turn.png

5. すべてを停止

一定の時間アラームが鳴った後、アラームを停止します。

../_images/10_stop.png