中村和志のLinuxでarduino開発のページ

Break the hate chain. No more kill!

Ubuntu10.04 LTSで確認したが、Ubuntu9.10以降なら以下の通りで 開発環境が揃う。
#しかも正確にはarduinoではなく、互換機のfreeduinoだ。
sudo add-apt-repository ppa:arduino-ubuntu-team
sudo apt-get update
sudo apt-get install arduino
依存関係でJavaもinstallされるので、回線によっては時間が掛かる。

サンプルを動かしてみる

  1. USBケーブルでarduinoを開発PCに繋ぐ。
  2. アプリケーション->プログラミング->arduino を起動
  3. Tools->Board->Arduino Duemilanove or Nano w/ ATmega328
    ※使っているarduinoの機種を選ぶ
  4. Tools->Serial Port->/dev/ttyU〜
    ※接続してるポートを選ぶ。大抵USBのはず

それでは一番簡単なプログラムを動かしてみる。

  1. File->Examples->Digital->Blink
  2. 横三角(Verify)アイコンをclickしてコンパイル
  3. 右矢印(Upload)アイコンをclickしてarduinoに読み込ませる

読み込んだら、自動的に走り出してpin13のLEDが点滅を始めると思う。
ってか実はFreeduinoの場合、出荷状態で予めこのプログラムが書き込まれている ので、電源を入れるだけでLEDが点滅する。
ジャンパピンはUSBバスパワー側で十分。

次に簡単な「LEDの輝度を変化させる」ってのをやってみる。

  1. LEDを、Digitalの9番pinに+側(通常、足が長い)を、もう一方をGND (Digitalの14番pin)に接続する。
  2. File->Examples->Analog->Fading を動かす。
LEDが「だんだん」明るくなっては暗くなる、を繰り返します。 Digital出力pinなのにだんだん(analogに)変化するとは一体?? 目にも止まらないぐらい高速にON/OFFして、そのduty比を変化させることで 制御してます(PWM制御)。

次はAnalog入力を読んでみましょう。

読んだAnalog入力に応じてモータを回してみましょう。

Arduino(に限らず大抵のマイコン)は、直接モータを駆動する程の電流を 流せません。内部の回路が焼き切れてしまいます。そこでモータドライバ と呼ばれるICを制御することで、モータを間接的に制御します。
今回はモータドライバICとしてTA7291SGを使いました。データシートはここ。
http://www.semicon.toshiba.co.jp/openb2b/websearch/productDetails.jsp?partKey=TA7291SG

ブレッドボード

Arduinoの仕様

arduinoで嬉しいこと


中村和志のLinuxページ

中村和志のページ

このページはリンク フリーです。 無断でリンクして構いません。

また上記のWWWページ以下の内容について、正確を期すよう努力は致しますが、 全くの無保証です。ここで得た情報は、全て自分の責任でご利用下さい。

Powered by FreeBSD
For questions or comments, please send mail to: kaz@kobe1995.net