[参考] : http://kousaku-kousaku.blogspot.jp/2008/05/arduino_26.html
(Arduino 界隈では超有名な建築発明工作ゼミ様です。)
可変抵抗の入力値を基に、LED の明るさを変えてみるだけのシンプルなサンプルです。
Arduino では analogRead() は 1024 段階でしたが、Intel Galileo は 4096 段階になっていますね。
[参考] : http://arduino.cc/en/ArduinoCertified/IntelGalileo
analogWrite() は情報見つからないのですが、とりあえず 256 段階ってことで、以下の例では 16 で割って使ってます。4096 段階出せてるような気がしないでもないけれど。。。
あと、PWM 出来るピンは 3, 5, 6, 9, 10, 11 です。
ピンの番号のところに ~ がついてるのが PWM 対応ってことみたい。
回路図をサクっと書ける fritzing だと、13 も ~ ついてるんですが、ダメそう。
Visual Studio でなぜか以下のようなエラーが出ておかしいなぁと思って 30 分くらい悩んだのでした。
First-chance exception at 0x775D0F63 in analogIO.exe: Microsoft C++ exception: _arduino_fatal_error at memory location 0x00CCF69C.
// Main.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "arduino.h" int _tmain(int argc, _TCHAR* argv[]) { return RunArduinoSketch(); } int led = 3; // This is the pin the LED is attached to. int val = 0; void setup() { } // the loop routine runs over and over again forever: void loop() { val = analogRead(0); Log(L"analogRead value = %dn", val); analogWrite(led, val/16); Log(L"analogWriten"); delay(100); }