{{outline}} !!!Arduino IDEの使い方を覚えよう ここでは、ロボットを動かすために最低限知っておく必要のあるシリアル通信とサーボモータの制御について説明します。Arduinoを使用したことがあり、使用方法をに関してご存知な方は本項を飛ばし、[[組立|サーボモータの原点合わせ]]に進んでください。 !!Arduino IDEのダウンロードとインストール 最初に、[Arduino公式のダウンロードページ|http://arduino.cc/en/Main/Software]からArduino IDEをダウンロードしてください。 インストールするとデスクトップに以下のようなアイコンができるのでダブルクリックして起動してください。見つからない場合はスタートメニューからArduino IDEを起動してください。 {{ref_image arduinoICON.PNG}} 正常にインストールされていれば、以下のようなウィンドウが開きます。 {{ref_image ide01.PNG}} Arduino IDEの基本的な使い方は以下の通りです。 (1)Arduino(今回の例ではFreaduino UNO)をUSBケーブルでPCに接続します。 {{ref_image gen02.jpg}} (2)Arduino IDEのメニューからArduinoの種類を選択します メニューのツール>マイコンボードからArduino UNOを選択します。 {{ref_image ide_board.png}} メニューのツール>シリアルポートからFreaduino UNOを接続しているポートを選択します。 お使いのPCの環境によってはFTDIドライバというソフトをインストールする必要があります。ArduinoをPCとUSBケーブルで接続した場合にPCがポートを認識できない場合は[FTDI社ウェブサイト|http://www.ftdichip.com/Drivers/VCP.htm]からドライバを入手してインストールしてください。 {{ref_image ide_port.png}} (3)ソースコード(スケッチ)を書きます Arduinoに実行させたいプログラムのソースコード(Arduino IDEではスケッチと呼びます)を書きます。 Arduinoのプログラミングについてより詳しく知りたい場合は[Arduino公式ページのサンプル|http://arduino.cc/en/Tutorial/HomePage]をご参照ください。 {{ref_image ide02.PNG}} (4)コンパイルと書き込みをします まず、コンパイルしてプログラムにエラーがないかチェックします。 {{ref_image ide_compile.png}} エラーがなければArduinoボードに書き込みをします。書き込みされたプログラムはArduinoボードによって自動的に実行されます。 {{ref_image ide_install.png}} !!PCとのシリアル通信 Arduinoでのシリアル通信は基本的に以下の流れで行います。 +Serial.begin(ボーレート); //通信スピード(ボーレート)を決めて通信を開始します +Serial.available(); //シリアルポートに何バイトのデータが到着しているか確認します(Serial.read()と組み合わせて使います) +Serial.read(); //受信したデータを読み出します +Serial.println("送りたい文字列");//データ+改行を送信します。類似関数にSerial.write(),Serial.print()があります シリアル通信プログラムについて詳しく知りたい場合は[Arduino公式ページのSerialの解説|http://arduino.cc/en/Reference/Serial]をご参照ください。 以下は、PCからシリアル通信で送信されてきた文字をエコーバックするプログラムのサンプルです。Arduino IDEを開いて下記のソースコードを書いて、手元のFreaduino UNOに書き込んでください。 {{ref_image ide03.PNG}} シリアル通信のプログラムを書き込んだら、メニュー>シリアルモニタを選択してください。もしくは、右上の虫眼鏡のアイコンをクリックしてください。 {{ref_image ide_serial.PNG}} 下記のようなウィンドウが開きます。これはシリアル通信するためのソフトでシリアルモニタといいます。ウィンドウ上部のテキストボックスに文字を入力して、送信ボタンを押してください。 {{ref_image ide04.PNG}} Freaduino UNOに正しくシリアル通信プログラムが書き込まれて、かつ、USBケーブルでPCと正常につながっていれば、以下のように文字をエコーバックしてきます。 {{ref_image ide05.PNG}} !!サーボモータを制御する Arduinoでサーボモータを制御する場合は専用の[Servoライブラリ|http://arduino.cc/en/reference/servo]を使います。 基本的な流れは以下の通りです。 +#include //Servoライブラリを読み込みます +Servo s; //Servoオブジェクトを作成します(この場合オブジェクト名はs) +s.attach(ピン番号);//Servoオブジェクトに割り当てるピンを設定します +s.write(角度);//Servoオブジェクトに角度を設定します。角度は0〜180°の範囲で設定可能です (注)サーボモータの中には無限回転(連続回転)サーボモータと呼ばれるものがあります。これらは、上記のように角度を設定してもその角度で停止せず、回転し続けます。 <<これ以降、サーボモータ制御用のプログラムを書き込みますが、その際は常に、USBケーブル以外何も繋げない状態でスケッチを書き込んでください。>> 以下のサンプルプログラムでは9番ピンに挿したサーボモータを0°,90°,180°の順に回転させています。Arduino IDEに同じコードを書いて、<>手元のFreaduino UNOに書き込んでください。<<以降、本取扱説明書ではサーボモータの可動範囲の中心90°のことを原点と呼びます。>> {{ref_image ide_servo.PNG}} <>、9番のピンヘッダにサーボモータを、<<信号線(白いケーブル)が内側(黄色いピンヘッダ側)に、GND(黒いケーブル)を外側(黒いピンヘッダ側)>>となるように接続します。<<電源が入っている状態でケーブルの抜き差しをすると故障の原因になりますので、Freaduino UNOにサーボモータやセンサーを抜き差しする場合は必ず電源が入っていないことを確認してください。>> サーボモータをFreaduino UNOに挿したら、USBケーブルでPCと接続してください。プログラムが正しく書き込まれていれば、90°ずつサーボホーンが動き出します。 {{ref_image freaduino_d9.JPG}} この例ではサーボモータ1台の例ですが、複数のサーボモータを動かすことも可能です。詳しくはArduinoで始めるロボット制御のページをご参照ください。 [[<<前のページ|CPUボード Freaduino UNOについて]]  [[目次|ピッコロボ取扱説明書]]  [[次のページ>>|サーボモータの原点合わせ]]