【初めてのArduino】8.ブザー|ハンズオンで学ぶ初心者向け入門コース
Start electronics from today
このレッスンではブザーを使って、以下のことを学んでいきます。 ・while文:繰り返し処理で良く使われる ・配列:プログラムを効率的に作成できる ・標準ライブラリにないライブラリのインストール
↓テキスト派の方はこちら 準備中
■目次 0:00 オープニング 0:09 ブザーとは 0:51 今回作るもの 1:01 使う材料の準備 1:11 回路図 1:23 回路を組む 1:49 プログラムの作成 3:50 ボードに書き込む 4:01 まとめ
■関連動画 Arduinoコース1 Arduinoとは https://youtu.be/F1RlVllBwxk Arduinoコース2 準備編 https://youtu.be/jHuWhbQdLhA Arduinoコース3 Lチカ https://youtu.be/vNFUslQCxPs Arduinoコース4 スイッチ https://youtu.be/xk2BCZTjTLU Arduinoコース5 フルカラーLED https://youtu.be/MiQ5aftfZIQ Arduinoコース6 サーミスタ https://youtu.be/Onypu6Dkirw Arduinoコース7.サーボモータ https://youtu.be/7Niq22v6MFk
■自己紹介 ・ハードウェアエンジニア ・電子工作歴:9年 ・電子工作をゼロから体系的に並べるチャンネル「今日から始める電子工作」を運営してます
■SNS Web : https://lab-b.jp Twitter : https://twitter.com/buonoatsushi
#電子工作 #Arduino
■動画文字起こし このレッスンではブザーを使って、繰り返し処理で良く使われるwhile文や、プログラムを効率的に作成するための配列について学んでいきたいと思います。 まずは前知識として、ブザーとは何かを理解しておきましょう。ブザーは内部にコイルと金属板が入っていて、コイルにプラスマイナスの電圧をかけて金属板を揺らすことで、金属板が前後に振動し、空間を揺らすことで音を鳴らしています。例えばラの音は周波数で言うと880Hzなので、880Hzのパルス信号を入力して揺らすことで、ラの音が鳴っているように聞こえます。また、ブザーにはアクティブブザーとパッシブブザーと呼ばれる2種類があります。アクティブブザーというのは内部に制御回路を持っており、DC電圧をかけるだけである決まった音を出してくれます。一方で、パッシブブザーは内部回路はなく、外からのパルス信号を入れることで音を出します。今回は、音を自由に変えていきたいのでパッシブブザーを使っていきます。 これは今回作成した回路になります。スイッチを押してない間は何も起きず、押してる間だけブザーがドレミの順に繰り返し鳴るような動作になっています。それではこの回路を作っていきましょう。 今回使う材料は、Arduino Uno、ブレッドボード、パッシブブザー、プッシュスイッチ、10kΩの抵抗、オスオスのジャンパーワイヤ5本です。 こちらは、今回作成する回路図です。スイッチには直列にプルアップ抵抗を入れており、スイッチがオフ時は5ピンがHIGHレベル、オンの時はLOWレベルになるようにしています。ブザーはそのままデジタルピンにつないでいます。 次に、回路図にならってブレッドボード図を作成したのがこちらです。パッシブブザーは中身は単なるコイルなのでどちら向きでも音は鳴りますが、メーカが動作を保証していない可能性もあるので、一応プラスマークが付いている方にパルス信号を入れておいた方が無難です。それではこの図にならって、回路を組んでいきましょう。はい、ということで、回路を組むことができました。 それではコーディングを行っていきます。まずは準備として必要なライブラリをインストールします。今回は、pitchesという、ドレミの各音程に対する周波数があらかじめ定数として定義されているライブラリを使います。pitchesは標準ライブラリにはないので、GitHubのこのページからZIPファイルをダウンロードし、スケッチ、ライブラリをインクルード、「ZIP形式のライブラリをインストール」から、今ダウンロードしたファイルを選択して取り込みましょう。それでは、新規ファイルを作成して、画面のプログラムを入力してください。ここではmelodyという配列を作り、pitches関数内で定義されているドレミファソラシドの音階にあたる8個の定数を格納しています。配列というのは、複数のデータを一つにまとめたもので、収納ボックスのような役割を持っています。配列を作る時は、このようにデータ型、配列名を書き、波括弧の中に値を入れていきます。配列は使わなくても同じようなコードは書けますが、このように配列を使った方が、コードが見やすくなりしかもより少ない量で書けるので効率的です。 loop関数内では、while文を使って繰り返し行う処理を書いています。While文があると、コンピュータはまずこの丸括弧内にある条件を確認し、その条件が成立している場合はこの波括弧の中の処理を行います。その処理を行うと、また次に丸括弧内の条件を確認し、ということを繰り返し、条件が成立しなくなったらwhile文を抜けて次の行に移動します。ここでは最初にスイッチの状態を確認し、ONの状態であればwhileの中が実行されます。whileの中は、tone関数を使ってドレミの音が順番に鳴るようになっています。melodyの配列にドレミの音が入っているので、取得したい位置の番号を入れるだけで読み出すことができます。なお、プログラムの世界では基本的には先頭は1ではなく0から始まるので注意して下さい。2つポイントとしては、スイッチがオフされたかを確認するために、whileの中にもdigitalRead関数が必要だということです。また、tone関数を連続して使いたい時は、間にdelayを入れるようにしましょう。ブザーは振動させることで音を鳴らしているのですが、急に周波数が変� ... https://www.youtube.com/watch?v=A0OG4rtNMUY
27360939 Bytes