Deprecated: Assigning the return value of new by reference is deprecated in /virtual/kilo/public_html/www.ez0.net/wp-settings.php on line 512

Deprecated: Assigning the return value of new by reference is deprecated in /virtual/kilo/public_html/www.ez0.net/wp-settings.php on line 527

Deprecated: Assigning the return value of new by reference is deprecated in /virtual/kilo/public_html/www.ez0.net/wp-settings.php on line 534

Deprecated: Assigning the return value of new by reference is deprecated in /virtual/kilo/public_html/www.ez0.net/wp-settings.php on line 570
SecondWave » 電子工作

Archive

Posts Tagged ‘電子工作’

ArduinoでLEDを光らせる

11 月 21st, 2010

前回(Arduinoを始めよう)はArduinoを始めるための準備として、開発環境のインストールと、Arduinoにスケッチを書きこむための設定を行い、サンプルスケッチを動作させてみました。今回は、ArduinoのI/OポートにLEDを接続してペカペカと光らせてみます。

HelloWorld!

電子工作でも、プログラミングでもHelloWorldは大切です(と思っている)。1個のLED(発光ダイオード)を点滅させるところからやってみます。

blink_led

上の図のように、13番とGNDに赤色LEDを接続します。LEDには極性があるので注意ですね。

スケッチは、前回使用したものと同じです。

1
2
3
4
5
6
7
8
9
10
11
12
void setup() {
// initialize the digital pin as an output.
// Pin 13 has an LED connected on most Arduino boards:
pinMode(13, OUTPUT);
}

void loop() {
digitalWrite(13, HIGH);   // set the LED on
delay(1000);              // wait for a second
digitalWrite(13, LOW);    // set the LED off
delay(1000);              // wait for a second
}

最初に呼ばれる setup() で13番ピンを出力ピンとして設定しています。loop() は毎フレーム呼ばれる関数です。digitalWrite(13, HIGH); で13番ピンをHIGH状態にして、LEDを点灯させます。delay(1000); で 1000ms の間スリープします。digitalWrite(13, LOW); で13番ポートをLOWにしてLEDを消灯して、delay(1000); で1000msスリープします。

imgp2451

つまり、1秒ごとにLEDの点灯と消灯を繰り返すという動作をします。

LEDを増やしてみる

次はLEDを2つに増やして、交互に点灯するようにしてみます。

Arduinoの基板に直接2つのLEDを指すのは大変なので、ブレッドボードを使います。

two_led

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void setup() {
// initialize the digital pin as an output.
// Pin 13 has an LED connected on most Arduino boards:
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
}

void loop() {
digitalWrite(13, HIGH);   // set the LED on
digitalWrite(12, LOW);
delay(100);              // wait for a second
digitalWrite(13, LOW);    // set the LED off
digitalWrite(12, HIGH);
delay(100);              // wait for a second
}

imgp2452

13番ポートと12番ポートを出力ポートとして設定して、loop()内で、片方のLEDが光っているときは、もう片方のLEDは消灯するようにします。写真では、シャッター速度の関係で両方同時に点灯しているように見えますが…。

さっくりできましたね。次回は、さらにLEDを増やしてみたいと思います。

kilo@WebMaster Arduino , ,

Arduinoを始めよう

11 月 20th, 2010

最近、H8マイコンがのった学習用ボードで、REVOLTECH ダンボーの目を光らせて遊んでいたんだけど、その影響でハードウェア方向の興味が湧いてきたので、Arduino (アルドゥイーノ) を買ってみた。

Arduino!

記憶が確かではないけど、去年くらいからネット上で話題になっている、オープンソースな組み込み機器開発の入門用環境だ。IDEであるソフトウェア含め、ハード自体もOSSというなかなか面白い存在だ。さらにマルチプラットフォームというのがなかなか興味深い。プログラミングは、組み込み向けが始めての人でも、とても簡単に始めることができるように低レイヤー部分は殆ど意識しなくていいようにファームウェアが整えられている。

そんなArduinoをちょこちょこっと触っていきたいと思います。

Arduino UNO の外観

今回購入したのは、Arduino UNO ってやつ。スイッチサイエンスさんのとこの解説によると、「Arduino製品群の中で最も標準的なボードであることから、イタリア語で「1」を意味するUnoと命名された」とあります。従来からハード的にもいくつか改良が加えられているようです。

imgp2439

パッケージはこんな。

imgp2444

imgp2445

Arduinoの外観。

Arduino IDEのセットアップ

まずは、IDEとUSBドライバのインストールをやります。

おっと、ちなみにArduinoにプログラムを書き込んだり、通信するために、USBを通してPCと繋ぐ訳ですが、ArduinoにはUSBケーブルが付属していないので、A-Bタイプ(平たい金口と四角の金口)のUSBケーブルを用意しておく必要があります。自分は近所のダイソーで買ってきました。

Arduinoのサイトにいって、GettingStartedのページを参考にしつつIDEのダウンロードとインストールをやります。MacOSを使ってるので、その手順を。

Arduinoのサイトに行きます。

e38394e382afe38381e383a3-4

「Download」と書かれたメニューのリンクから、ダウンロードページに行きます。

e38394e382afe38381e383a3-5

ページの中程にあるDownloadからMacOSXのリンクをクリックすると、arduino-0021.dmgをダウンロードできます。

e38394e382afe38381e383a3-6

arduino-0021.dmgをマウントすると、上のようなウィンドウが開くので、いつも通り、Arduino.app を Applications にドラッグ&ドラッグしてインストールします。あと、 Arduino UNO には必要なさそうですが、FTDIUSBSerialDriver_10_4_10_5_10_6.mpkg USBシリアル変換チップのドライバです。とりあえず、これもダブルクリックしてインストーラを起動し、インストールしました。

Arduinoと接続

USBケーブルを使って、PCとArduinoを接続します。ONと書かれた緑色のLEDが点灯するはずです。

Arduino IDEの接続設定

e38394e382afe38381e383a3-7

まずは、Arduino.appを起動します。

e38394e382afe38381e383a3-10

ボードの選択。メニューバーのTools -> Board -> Arduino Uno を選びます。

e38394e382afe38381e383a3-9

シリアルポートの選択。Tools -> Serial Port -> /dev/tty.usbmodem**** を選びます。

これで基本的な設定は終わり。楽チン!

サンプルスケッチを書きこむ

動作確認を兼ねて、サンプルをArduinoに書きこんでみます。ちなみに、Arduino用に書くプログラムはスケッチと呼ぶらしいです。

e38394e382afe38381e383a3-8

Arduino のエディタのOpenから、1.Basics -> Blink を選びます。
右三角のボタン(Verify)を押してコンパイルしてみます。

e38394e382afe38381e383a3-11

Done compiling. とでたらOK。次はArduinoに書き込み。Uploadというボタンを押します。

Done uploading. と表示されたらOK。書き込みが終わりました。

imgp2449

Lと書かれたボード上のオレンジ色のLEDが1秒おきにピカピカしていたら成功です。

これでArduinoを始める最低限の準備ができました。次は、ArduinoのピンにLEDをつないでみたいと思います!

kilo@WebMaster Arduino ,