Arduino IDEでソフトウェアを作るの最近のブログ記事

データのロギング
 ArduinoのデータをArduino IDEのSerial Monitor の機能を利用してPCで受信し、モニタの画面の表示データをコピーして保存する方法を前回示しました。しかしこの方法だと、モニタできるデータに限りがあり、保存についても少し手間がかかります。PC側の受信用のプログラムを作るということも考えられますが、ここではターミナル・ソフトを利用することを考えます。

ターミナル・ソフト
 ターミナル・ソフトとは、一番よく使われたのはパソコン通信で利用されたプログラムで、Windows XPまではハイパー・ターミナルと呼ばれるターミナル・ソフトがWindowsのアクセサリの中に添付されていました。しかし、Windows Vistaになってからはこのハイパー・ターミナルの提供がなくなりました。

 今回、フリーソフトのTera Termを利用することにします。

0012から0013へ
  2009/2/6にArduino IDEが0012から0013にリリースアップされました。Arduinoのホームページのダウンロードサイトよりダウンロードできるようになっています。
 Windows XPとWindows VISTAにインストールしてみましたが共に、従来の0012の外観上は変わっていませんでした。
 リリースノートを見てもArduino IDEを使用方法などの変更は見当たりませんでした。

Arduino NANO

シリアル・ポートへの書き出し
  Arduinoのマイコン・ボードには、LED以外には表示のための装置は搭載されていません。LEDの点滅だけでもいろんな情報のやり取りはできます。しかし、変数の値や、ボリュームの値をanalogRead関数で読み取ったときの値をモニタすることができると便利です。


Arduinoのシリアル通信
  Arduinoのマイコン・ボードのディジタル・ピンの0は、シリアル通信の受信ポートRX、1は送信ポートのTXに割り当てられています。PCとUSBケーブルでつながっている場合、Arduino IDEからのスケッチのアップロードはこのRX、TXのシリアル通信ポートを利用して行われます。
 また、スケッチの中でこのシリアル通信を行うための命令が次のように用意されています。

サンプル・スケッチ Fading LED
 Fadingとは、衰退、減退または短波放送のように電波の強さが時間とともに変動することを示すとあります。このスケッチでは、LEDの輝きがAnalog 出力で徐々に減衰する様子が確認できます。

  今回は、アナログ出力のテストを行います。Arduinoのアナログ出力はPWM(Pulse Width Modulation)と呼ばれる方法で行われます。パルスの幅で調整するという意味です。マイコンなどを利用したモータ、照明などの電力制御によく利用されている方法です。

PWM (Pulse Width Modulation)
   パルスの幅による調整とは、一定の基本周波数の中のパルスのオンとオフの幅を変えることで、供給する電力の量を調整する手法です。1パルスの中のオンとオフの時間が半分ずつのときは、パルスのオン/オフの比率が50%になります。そしてこの比率をデューティ比と呼びます。

  今回は、サンプル・スケッチの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

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

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

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

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

カテゴリ

このアーカイブについて

このページには、過去に書かれたブログ記事のうちArduino IDEでソフトウェアを作るカテゴリに属しているものが含まれています。

前のカテゴリはArduino Duemilanoveです。

次のカテゴリはArduino Megaを使ったLEDマトリクスによる漢字ティッカの製作です。

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

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