Arduinoを使おう: 2008年12月アーカイブ

  今回は、サンプル・スケッチのAnalogInputの説明を行い、その後、4個のLEDを点滅するスケッチを作成します。

サンプル・スケッチAnalogInput
   このスケッチは、ディジタル・ポート(PIN)13に接続されたLEDの点灯時間および消灯時間を、半固定抵抗(ポテンションメータ、可変抵抗器)で調整します。半固定抵抗で設定された値をAnlogInput 2で読み取り、その値の大きさの時間(ms)がLEDの点灯および消灯の時間となります。

 今回は、アナログ入力を試してみます。そのためのアナログ入力のための電圧データをボリューム(可変抵抗)または半固定抵抗で0Vから電源電圧までの出力を作ります。

サンプル・スケッチ
 サンプルのスケッチは、読み込んだアナログ・データの大きさに応じてLEDの点滅時間を変えます。アナログ入力データの変化に応じて、ディジタル・ポート13番に接続されたLEDの点滅の速度が変わるようになっています。

今回準備し、次回作成するスケッチ
 この回路で作成するスケッチは、ディジタル出力に4個のLEDを接続し、アナログ入力の大きさに応じてLEDの点灯する数を比例するようにします。アナログ入力データを変化させ、LEDの点灯する数が変化することを確かめます。

変化するアナログ・データの作り方
 次に示すように、ボリュームの1、3の端子に信号電圧(この場合は電源電圧)を加えて、1と3の間を摺動する(接触しながら移動すること)2の端子で分割される抵抗の比と同じ比率で電圧も分割されます。
 ここでは3がGNDに接続されていますので、3・2間の電圧がアナログ・データとして出力されます。この出力が、アナログ入力の信号源となります。

adr160010.jpg

サンプル・スケッチ Buttonを動かしてみる
  まず、サンプル・スケッチのButtonを動かして、タクトスイッチのオン/オフによりLEDが点滅することを確かめます。その後、サンプル・スケッチのButtonを参考にして、タクト・スイッチの処理を行うスケッチを新しく作ります。この新しいスケッチを作るときに、Buttonのスケッチの内容についても説明します。

Arduino IDEを起動してButtonを読み込み、ボードにアップロードする
  Arduino IDEを起動して、メニューバーのFile>Sketchbook>Example>Digital>Buttonと選択すると、次に示すButtonのスケッチがIDEのウィンドウに表示されます。
 PCとArduino DuemilanoveをUSBケーブルで接続します。接続した後、メニュー・バーのTools>Serial portでArduinoに接続されているCOMポートの番号を確認します。その後、次に示すようにツール・バーのUP Loadのアイコンをクリックして、スケッチをArduinoのI/Oボード(Duemilanove)にアップロードします。

 

adr150010.jpg

タクト・スイッチでLEDの点灯制御
 今回は、タクト・スイッチと呼ばれる押しボタン・スイッチを押すと、押している間LEDが点灯するスケッチを作成します。

 そのために、サンプル・スケッチの「Button」をArduinoのボードにアップロードして動作を確認します。その後、サンプルのスケッチを参考にして、このタクト・スイッチのオン/オフを検出してLEDを点灯するスケッチを作ります。

今回作成する回路
  今回作成する回路の全体像を次に示します。

adr140010.jpg

浮動小数点型
 前回、floatのデータの型を浮動小数点実数型と説明しましたが、JIS X 3010(2003年)を調べるとfloatを浮動小数点型としていました。実数型は整数型および実浮動小数点型を総称するとありました。実浮動小数点型の“実”は複素数型に対する虚数を含まない浮動小数点型ということを表しています。規格を調べると、現実をどのような視点で見ているかがよくわかります。
 一方、データの型の定義が必要なプログラムの解説書の多くは、浮動小数点型と実数型を同じものと扱っています。floatは浮動小数点を示していますので、今後はfloatを浮動小数点型と呼ぶことにします。ときどきは、規格にあたると見方を整理するのに役立ちます。

 今回は、計算比較を行う演算子について説明します。

 今回は、Arduinoのスケッチで使用できるデータの型、変数、定数について説明します

Arduinoで取り扱うデータの型
   今までの多くの研究成果を基に、スケッチで作成するデータについてはArudinoでもデータの型をしっかり定義してから取り扱うようになっています。ここではデータの型について一般的な説明を行います。

時間の経過を監視してほかの仕事を追加できるようにする
 今回は、時間の経過をdelay()関数でただ待つのでなく時間の経過を観察して決められた時間になったらそれぞれ指定された処理を実行する方法を考えます。今回は新しくスケッチを作成します。そのためArduino IDEを使用して、本章で示すスケッチ(プログラム)を入力してください。





マイコンと電子工作 No.6


マイコンと電子工作 No.4


マイコンと電子工作No.1
サポート・ページはこちら

カテゴリ

このアーカイブについて

このページには、2008年12月以降に書かれたブログ記事のうちArduinoを使おうカテゴリに属しているものが含まれています。

前のアーカイブはArduinoを使おう: 2008年11月です。

次のアーカイブはArduinoを使おう: 2009年1月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Creative Commons License
このブログのライセンスは クリエイティブ・コモンズライセンス.