「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ



reduino-nanoのテストプログラムです。

せっかくLEDもついてることだし、完全互換品と
違ってLEDが13番ではなく3番についているので、
PWMでLEDを光らせることができます。

ということで、LEDで蛍のようなボワーとした
点滅をさせてみました。簡単です。


int ledPin = 3; // select the pin for the LED
int i;

void setup() {
pinMode(ledPin, OUTPUT); // declare the ledPin as an OUTPUT
Serial.begin(9600);
Serial.println("start");
}

void loop() {
for(i=0;i<255;i++){
analogWrite(ledPin, i); //(works on pins 3, 5, 6, 9, 10, and 11)
delay(5);
}

for(i=255;i>0;i--){
analogWrite(ledPin, i); //(works on pins 3, 5, 6, 9, 10, and 11)
delay(5);
}
}

こんな感じ。
(タブがずれちゃうみたいなので、arduino-IDEの
 「tool」の「auto format」で整形してください)

まぁ、こういうフィジカルコンピューティングで
PWMを使うとしたら、普通はLEDじゃなくて
サーボモーターだよなぁ。

サーボモーター、秋月で買っておいた死蔵品があった
はずなんですが、どこに隠しておいたかな?
(ハムスター並みの記憶力なので、どこにしまったか
忘れちゃう…)

見つけたら繋いで遊んでみよう。



コメント ( 0 )
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする




Interface9月号を立ち読みしてきました。

買おうと思ったんですが、現金の持ち合わせが
なく、その場は諦めて、銀行に寄ったりご飯
食べたりしていたら、買って帰るのをすっかり
忘れてた…

coldfire基板が付録でついていて、トランス内蔵
のlanコネクタをつければ、簡単にlan接続
できるみたいです。
一度lan接続で遊んでみたかったんだよなぁ…。

開発環境は、codewarrior。使ったこと無い環境を
またゼロから試すのは面倒だなぁ。

でも、紙面を読むと、凄く簡単にhttpで繋がって
いるみたいだったなぁ。試してみたいけど…
どうしよう?



コメント ( 0 )
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする




http://www.microfan.jp/shop/6_191.html
先日、↑マイクロファンのarduino(ほぼ)互換機
reduino-nanoが新発売特価で売られていて、
ポチッと購入ボタンを押してみました。

昨日早速組み立てて、一通り遊んでみました。



仕上がりはこんな感じ。赤いので、パッと見
gainerっぽいですか?

30分とは行きませんでしたが、1時間弱で
仕上がりました。ブートローダー書き込み済みで、
繋げばサクッと動くお手軽さ。

しかもブレッドボードを使わなくても
そこそこ遊べてしまいます。うーん、なかなか( ̄ー ̄)

PCとはUSBのミニBコネクタで接続。
ボード上のFT232RLでシリアル接続可能です。
当然tera-termなどからもアクセス可能。

表面実装部品はMEGA168とFT232RLだけ
ですし、この2つは最初からはんだ付け済みなので、
工作は楽々です。


写真をご覧になると想像つく通り、arduino-nano
やladyadaさんのboarduino
http://ladyada.net/make/boarduino/
に近い形状です。ブレッドボードに差しても
邪魔にならない細長さ。FT232RLを
登載しているのでUSB経由でサクッと書き込み
できます。

arduinoと完全互換ではありませんが、(リセット以外にも)
入力ボタンがあり、LEDも1個登載。
しかも入出力ピンがボード上部に出ているので、
ブレッドボードを使わなくてもLEDやブザー、
その他の小さい部品も簡単に繋げられます。
電源はUSBから供給。
(ジャンパーで外部電源に切替可)

細かい差異はマイクロファンのサイト上に有るので
そちらをご参照ください。

一点気をつけないとならないのは、MEGA168と
FT232RLの間の配線のこと。
USB登載のarduinoは保護抵抗が挟まっていますが、
reduino-nanoは抵抗が挟まっていません。
MEGA168のrxd端子はFT232RLに
常時直結したままなので、ブレッドボード上に
もう一つマイコンとか置いて、そこからUSART経由
(rxd端子)でi/fを入力するようなことはできません。
 (下手に繋ぐとショートしちゃう…詳しくは各サイトの
  回路図ご参照)

なおtxd端子はMEGA168から出力するだけなので
問題ありません。

gainerのように、常時PC接続してUSARTを
PC接続専用と充てるなら問題ありませんが、
reduino-nanoをスタンドアロンで使い、別のマイコン
から信号を入力する場合にはその点注意が必要です。
(SPIなどによる接続にしないとならない)

まぁ、その一点を除けば、他の細身のaruinoを
買うよりもこちらの方が機能面、価格面では
メリットが大きいと思います。個人的にはかなり
お勧め!
消費電力制限用のポリスイッチなども登載している
んですよね。よくできてます。


さて、LEDピコピコを一通り堪能した後、
以前から一度試してみたかったことを実行して
みました。

昔、PIC16F873とCCS-Cで作ったステッピング
モーター制御のプログラムのコア部分の処理速度。
浮動少数計算ライブラリを使っていたため1回の計算に
かなり時間を要していたのがずっと気になっていました。

で、AVRはどうなの?と気になっていたんです。

arduinoのIDEは基本的にはC言語系なので、
CCS-Cのプログラム(の一部)をカット&ペースト
して試してみました。問題なく動きます。

で、かたやPIC16F873(@20MHz)、かたやAT-MEGA168(@16MHz)。
1回あたりの計算に要する時間は、前者が3.5ms程度に
対し、後者は0.35ms程度。
おぉ。なんと10倍の速さ!!!

でも、MIPS値の大きいAVRならその分速くなっても
納得するのですが、せいぜい5倍前後のはず…。
なんでこんなに速いんだろう?と冷静に考えてみました。

16F873はハードウェア乗算命令の無いコア。
一方MEGA168はハードウェア乗算命令が2クロックで
計算可能。あぁ。多分これでしょう。

なるほど。やっぱAVR、速いねぇ!!
24Fxxxxシリーズに相当するのかな。

それにarduinoのIDE。こういう実験がサクッと
できちゃって、超便利だー!

そのうち、私のサイト上にもarduinoのコーナーを
こっそり増設したいと思います。
使い方とか言語リファレンスとか、ブートローダーの
読み書き方法など、備忘録的な感じの内容になると
思いますが。まぁ、期待せずにお待ちください。
(実験用の環境・ボードの色合いが濃いので、
 これを固定的に組み込んで使うという用途は
 あまり無いでしょうから…実験用の備忘録が
 使い勝手良いかと。)


そういえば、arduino-IDEにはAVR-STUDIO
のようなシミュレーション環境が載ってないので、
常に実機確認しか出来ないのかな?
ICDも使えないだろうし(少なくとも端子は無い)。

そうすると、ますますロジアナが重要になるな…。



コメント ( 0 )
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする