Sim's blog

電子工作はじめてみました

ArduinoでSerial.printを使ってみる

2009-05-19 23:35:04 | AVR
ArduinoでCDSを使ってみるの続きになります。

Arduinoでは、Serial.ほにゃ、という命令を使って、PCと通信することができます。通信はArduinoをつないでいるUSBケーブル経由で、PCからはシリアルポートのように見えます。Arduino IDEはシリアルモニターボタンを押すことで通信端末になります。TeraTermとかの通信ソフトを使ってもいいです。

というわけで今回は、前回作った回路をそのまま使って、センサーからの読み取り値をPC側に通信します。
AnalogInputのスケッチを改造しました。
// アナログ入力をシリアルで表示する
int cdsPin = 2;    // cdsをつないだアナログ入力ピンの番号
int val = 0;       // センサーから読み取った値を格納する変数

void setup() {              // 初期設定
  Serial.begin(9600);       // 通信速度は9600bps
}

void loop() {               // 無限ループ
  val = analogRead(cdsPin); // センサーから値を読む
  Serial.println(val);      // PCに送信する
  delay(300);               // 300ミリ秒待つ
}

と、このくらい書くとcdsで読み取った値をPCで見ることができます。
部屋の明かりで100くらい、手で影を作ると400くらい、手で覆ってやると700くらいになります。部屋を真っ暗にすると1000近い値が出ます。

Arduino IDEで通信している様子です。クリックすると大きくなります。


Serial.ほにゃの使い方はArduino日本語リファレンスのページに使い方が載っています。

中で何が起きているのか見ることができるので、デバッグに役立ちます。

Arduinoモニタープログラム参加中
電子部品・半導体の通販サイト - チップワンストップ



「万能USB-JTAGプログラマを近々リリース!」

2009-05-19 21:49:59 | FPGA
なひたふさんのブログで「万能USB-JTAGプログラマを近々リリース!」という記事が投稿されています。
USB接続で、Xilinx、Altera、Latticeと各社FPGAに、このケーブル一本で書き込みができるという、とてもうれしい仕様になっています。お値段も1万円を切るようがんばると書かれています。とても楽しみですね。
5/26~27に開催されるIPAX2009で展示されるとのことです。

ストロベリーリナックスさんの16x2行キャラクタ液晶モジュール

2009-05-19 21:40:51 | 電子工作
ストロベリーリナックスさんで16x2行キャラクタ液晶モジュール(3.3V I2C制御)という新商品の取扱いがはじまっています。
I2C制御なので、足の少ないマイコンでも平気、3.3V動作可能で低消費電力、といった特長があります。まだアプリケーションノートとかはないみたいなので、足がどんなピン配置になっているのか等の情報は分かりません。画像だと10ピンみたいなんですが、通信に使うのは2本で電源関係で2本、計4本なので、残る6ピン分は何なのか興味があります。裏に見える10ピンのフラットケーブルは、ピンの代わりにフラットケーブルでも接続できるということなんでしょうか?
データシートを見ると5Vも平気みたいな雰囲気です。


5/21 追記 ストロベリーリナックスさんに説明書やアプリケーションノートがアップロードされています。接続は5本(電源2本、リセット、通信2本)で、5本は未接続でいいそうです。特に未接続の2本はバックライトLED接続用ですが、この製品はバックライトがないので、将来の拡張用といった感じでしょうか。

キーワードベスト20 その2

2009-05-19 21:40:16 | その他
キーワードベスト20(2/26)の続きになります。

gooのあしあと解析を始めてから186日目です。過去90日分のアクセスデータが見れるので(90日を過ぎた分は捨てられる?)、残しておきます。
1  LPC2388                          881 (初登場)
2  ディジタル・デザイン・テクノロジ 817 (初登場)
3  HT7733A                          321 (前回 2位)
4  HT7733A                   250 (前回 6位)
5  pickit 3                         230 (前回 10位)
6  PICkit3                          212 (前回 17位)
7  sim's blog                       195 (前回 5位)
8  tl431                            195 (前回 9位)
9  eJackino                         174 (初登場)
10 lattice ダウンロードケーブル     166 (初登場)
11 PIC18F2550                       162 (前回 14位)
12 デジタルデザインテクノロジ       153 (初登場)
13 PDS5022S                 150 (初登場)
14 aitendo                          144 (前回 4位)
15 SG12864A                         142 (初登場)
16 rtc-8564nb                       137 (前回 12位)
17 ディジタルデザインテクノロジ     135 (初登場)
18 1.5V LED                         133 (初登場)
19 LT1172CN8               130 (前回19位)
20 pickit2 販売                     115 (初登場)

あいかわらず部品とか電子工作関係だけですね。
前回1位だった千石電商はランク外の23位になっています。
あいかわらずHT7733Aは力強いです。
今回の特徴はディジタル・デザイン・テクノロジの健闘です。微妙につづりの違うランクインが複数あります。全部足すと1位が逆転します。lattice関係がはいっているのも、DD誌のせいですね。
秋月オシロ(PDS5022S)さらに値下げ」でPDS5022S(通販コードM-01873)が32000円に値下げになっていることを書きましたが、現在では31000円になっています。
pickit3はマルツでの取り扱いが始まっています。実物を見て思ったのは、トランスペアレントな赤なので、弐号機とも専用ザクとも違った感じになっています。
HT7733Aは共立エレショップ以外に秋月でも取扱いがはじまりました。またHT7750Aは秋月マルツでの取り扱いもはじまりました。HT7737が新しく共立エレショップでの取り扱いがはじまっています。

2/25にカウンターをつけたので、現在のを記録しておきます。閲覧 173,079PV 訪問者 53,588IP。いっぱい見てくださってるんですね。ありがとうございます。


ArduinoでCDSを使ってみる

2009-05-19 00:39:21 | AVR
せっかくチップワンストップさんからArduino Duemilanoveをいただいたので、何か簡単なことをしてみます。この前のセミナーで何度か名前が出ていたCDSを使ってみます。

CDSは光が当たると抵抗値が小さく、暗いと抵抗値が大きくなる素子です。Arduinoには、アナログ入力がありますが、直接抵抗値を読むことができないので、抵抗値を電圧に変換してやる必要があります。電圧変換は次のような回路にしました。



さっそくブレッドボードで回路を作ってみました。

抵抗はCDSの影にいます。

近づいてみると、こんな感じです。


ブレッドボードの配線図です。


元の回路図を折りたたんだみたいな感じですが、ブレッドボードに配線するときには、回路図を変形しないといけないことが多いです。パズルみたいな感じで楽しめます。

ハードはできたので、次はソフトです。ささっとスケッチを・・・Examplesからコピーしました。File→SketchBook→Analog→AnalogInputというスケッチを使います。このスケッチはアナログ入力2から読み取った値を使ってArduino上のLED(ディジタル出力の13番)を点滅させます。大きな値を読むと遅く、小さな値を読むと速く点滅します。実際はdelay(val);として読み取った値を直接ディレイにしているだけです。

今回のCDSを使った回路ですが、以下のような動作を行います。

明るい→CDSの抵抗が小さい→電圧が低い→小さな値が読める→速く点滅する
暗い →CDSの抵抗が大きい→電圧が高い→大きな値が読める→遅く点滅する

スケッチを改造すれば、明るいときと暗いときで動作を変えたりとか、明るくなると何かする、といったことも可能になります。ただし、明るいのと暗いのを判別するといった用途だと、読み取った値を元に明るいのか暗いのかを判断してやる必要があります。具体的には、あるしきい値より小さければ明るいと判断します。このしきい値ですが、CDSによって値が色々違うので試行錯誤して決めてやる必要があります。

抵抗の値はいいかげんに決めています。CDSのとる抵抗値の範囲によっては、抵抗値を調節してやる必要があるかもしれません。

部品の入手先です。
CDS 秋月 5mm 40円(I-00110)、11mm 150円(I-00247)
抵抗 10kΩ バラだと10円くらい?秋月だと100本100円。
ブレッドボード 秋月 EIC-801 250円(P-00315)
ブレッドボードジャンパーワイヤー 秋月 300円(P-00288) 本数の少ない250円のもあります。
ブレッドボード用ジャンプワイヤー 千石電商 サンハヤト100mm 420円

ジャンパーワイヤーを安く買うなら、こちらが安いです。
色々な抵抗の値をとりあえず入手したいときは、抵抗セットがお手軽です。私はサトー電気さんで買いました。エレ工房さくらいさんのも安いです。減り具合を見ていると自分がよく使う抵抗値が分かってくるので、まとめて買うことになります。私は100、1k、10kをよく使うみたいです。

さてさて、次は何をしましょう。

Arduinoモニタープログラム参加中
電子部品・半導体の通販サイト - チップワンストップ