以前から気になってましたが、PICを使えば事足りるという
ことで、手を出していませんでした。
ハンダを使わなくても、簡単に回路の試験等ができそうなの
で、「arduino」をいじってみることにしました。
入門キットなるものを購入しました。
NETであさると、PICとはそもそも考え方が違うようで、やは
り細かい制御をするには、PICにはかなわないようです。
Q&Aのサイトで、以下のような記述を見かけました。
当を得た解説だと思います。以下、抜粋です。
>arduinoは、ハードウエアの事を全く知らなくても、
>拡張シールドと、公開されたスケッチを組み合わ
>せる事により、マイコンで目的を達成する為の大
>変優れたシステムです。
>いかにも合理主義のヨーロッパ人が考えつきそう
>な発想です。
>しかも、誠に残念な事にarduinoのスケッチ言語は、
>C言語「風」なのであって、決してC言語では有りません。
>他の汎用のC言語を習得する事が目的の場合には、
>実は全く役に立ちません。
>内部に使用されている、AVRマイコンの汎用のC言語に
>移植して使う事すら不可能であり、細かな制御を行う為
>の言語としては出来ない事は有りませんが、細かな制
>御を行う場合には、汎用のC言語を使った方が遥かに
>簡単に記述が可能です。
マイコンのことを知らなくても、必要なシールド(拡張基盤)
を使い、公開されているスケッチ(プログラム)を使うことで、
比較的簡単に目的を果たすことができることで、広まった
ようです。
しかし、内部に使われている、AVRマイコンの日本語の書籍
は一冊しかなく、日本語の資料を得ることは、ほとんど不可能
のようです。
ということで、限界を見極めながら、いろいろ遊んでみようと
思います。
基板上のLEDを点滅させるスケッチ(プログラム)は、
#define LED_PIN 13
void setup() {
pinMode(LED_PIN, OUTPUT);
}
void loop() {
digitalWrite(LED_PIN, HIGH);
delay(3000);
digitalWrite(LED_PIN, LOW);
delay(3000);
}
これだけですんでしまうようです。まあ、手軽と言えば
お手軽です。一般のC言語では、main()に当たる関数が
loop()になってます。
---アドバイスをいただきました。コンパイルの過程で
main()関数が追加されるようで、使用者はただ、
意識はしなくてもいいとのことのようです。
細部については不明ですが、define等の記述は、c言語
と同じですね。