「ホタログ5」の編集履歴(バックアップ)一覧はこちら

ホタログ5 - (2007/07/27 (金) 15:55:44) の1つ前との変更点

追加された行は緑色になります。

削除された行は赤色になります。

**2007.7.27 -&bold(){違うアルゴリズム} 値を処理し、LEDを制御するための、今までのとは違うアルゴリズムを思いついたので、それをやってみようと思う。 -&bold(){そのためのメモ} -不安定なので絶対やらないが、LEDアナログ制御の方法メモ (LED 明→暗/analogWright 1→255) #highlight(c){{ /* * Code for cross-fading 3 LEDs, red, green and blue, * or one tri-color LED, using PWM * The program cross-fades slowly from red to green, * green to blue, and blue to red * The debugging code assumes Arduino 0004, * as it uses the new Serial.begin()-style functions * Clay Shirky <clay.shirky@nyu.edu> の、改版 */ // Output int redPin = 10; int greenPin = 11; int bluePin = 12; // Program variables int redVal = 255; int greenVal = 1; int blueVal = 1; int i = 0; int wait = 50; void setup() { pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); pinMode(bluePin, OUTPUT); Serial.begin(9600); } // Main program void loop() { i += 1; // Increment counter if (i < 255) // First phase of fades { redVal -= 1; // Red down greenVal += 1; // Green up blueVal = 1; // Blue low } else if (i < 509) // Second phase of fades { redVal = 1; // Red low greenVal -= 1; // Green down blueVal += 1; // Blue up } else if (i < 763) // Third phase of fades { redVal += 1; // Red up greenVal = 1; // Green low blueVal -= 1; // Blue down } else // Re-set the counter, and start the fades again { i = 0; } // Write current values to LED pins analogWrite(redPin, redVal); analogWrite(greenPin, greenVal); analogWrite(bluePin, blueVal); delay(wait); Serial.println(redVal); } }} -デジタル制御の方法 (未) >&bold(){コメント} #comment(vsize=2,nsize=20,size=40) ---- **2007.7.26 -&bold(){見切りについて} 思い切って見切りをつけたのはいいが、良い解決策が思い浮かばない。 結局LED制御もマイコン使わないと駄目なんじゃ・・・とか思いつつ。 >&bold(){コメント} #comment(vsize=2,nsize=20,size=40) ---- **2007.7.24 -&bold(){見切り} 思い切って、実装の方法を違う方法にしました。 なぜなら、プログラム実行速度の不安定さが解消されないから! #image(プログラム速度.JPG) 図7.24 プログラムの実行速度 -&bold(){今まで} ■プログラム部分 #highlight(c){{ 平均取るforループ{   平均値計算   黄色LED制御    (1)点灯 or (2)消灯   赤、青色LED制御    (3)赤色LED点灯、青色LED消灯    (4)赤色LED消灯、青色LED点灯 } 平均値を使って、温度が上昇しているか下降しているか判断{   上昇していたらLED点灯(1)へ   下降していたらLED消灯(2)へ } 平均値を使って最大値を計算 振幅幅が減少したら赤色LED点灯、青色LED消灯(3)へ 振幅幅が増加したら赤色LED消灯、青色LED点灯(4)へ }} -&bold(){これから} ■プログラム部分 #highlight(c){{ 平均取るforループ{   平均値計算 } 平均値を使って、温度が上昇しているか下降しているか判断{   上昇していたらLED点灯(1)へ   下降していたらLED消灯(2)へ } 平均値を使って最大値を計算 振幅幅が減少したら赤色LED点灯、青色LED消灯(3)へ 振幅幅が増加したら赤色LED消灯、青色LED点灯(4)へ }} ■実装部分 #highlight(c){{ 黄色LED制御    (1)点灯 or (2)消灯   赤、青色LED制御    (3)赤色LED点灯、青色LED消灯    (4)赤色LED消灯、青色LED点灯 }} >&bold(){コメント} #comment(vsize=2,nsize=20,size=40) ---- ---- today: &counter(today) yesterday: &counter(yesterday)
**2007.7.27 -&bold(){違うアルゴリズム} 値を処理し、LEDを制御するための、今までのとは違うアルゴリズムを思いついたので、それをやってみようと思う。 -&bold(){そのためのメモ} 不安定なので絶対やらないが、LEDアナログ制御の方法メモ (LED 明→暗/analogWright 1→255) #highlight(c){{ /* * Code for cross-fading 3 LEDs, red, green and blue, * or one tri-color LED, using PWM * The program cross-fades slowly from red to green, * green to blue, and blue to red * The debugging code assumes Arduino 0004, * as it uses the new Serial.begin()-style functions * Clay Shirky <clay.shirky@nyu.edu> の、改版 */ // Output int redPin = 10; int greenPin = 11; int bluePin = 12; // Program variables int redVal = 255; int greenVal = 1; int blueVal = 1; int i = 0; int wait = 50; void setup() { pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); pinMode(bluePin, OUTPUT); Serial.begin(9600); } // Main program void loop() { i += 1; // Increment counter if (i < 255) // First phase of fades { redVal -= 1; // Red down greenVal += 1; // Green up blueVal = 1; // Blue low } else if (i < 509) // Second phase of fades { redVal = 1; // Red low greenVal -= 1; // Green down blueVal += 1; // Blue up } else if (i < 763) // Third phase of fades { redVal += 1; // Red up greenVal = 1; // Green low blueVal -= 1; // Blue down } else // Re-set the counter, and start the fades again { i = 0; } // Write current values to LED pins analogWrite(redPin, redVal); analogWrite(greenPin, greenVal); analogWrite(bluePin, blueVal); delay(wait); Serial.println(redVal); } }} -デジタル制御の方法 (未) >&bold(){コメント} #comment(vsize=2,nsize=20,size=40) ---- **2007.7.26 -&bold(){見切りについて} 思い切って見切りをつけたのはいいが、良い解決策が思い浮かばない。 結局LED制御もマイコン使わないと駄目なんじゃ・・・とか思いつつ。 >&bold(){コメント} #comment(vsize=2,nsize=20,size=40) ---- **2007.7.24 -&bold(){見切り} 思い切って、実装の方法を違う方法にしました。 なぜなら、プログラム実行速度の不安定さが解消されないから! #image(プログラム速度.JPG) 図7.24 プログラムの実行速度 -&bold(){今まで} ■プログラム部分 #highlight(c){{ 平均取るforループ{   平均値計算   黄色LED制御    (1)点灯 or (2)消灯   赤、青色LED制御    (3)赤色LED点灯、青色LED消灯    (4)赤色LED消灯、青色LED点灯 } 平均値を使って、温度が上昇しているか下降しているか判断{   上昇していたらLED点灯(1)へ   下降していたらLED消灯(2)へ } 平均値を使って最大値を計算 振幅幅が減少したら赤色LED点灯、青色LED消灯(3)へ 振幅幅が増加したら赤色LED消灯、青色LED点灯(4)へ }} -&bold(){これから} ■プログラム部分 #highlight(c){{ 平均取るforループ{   平均値計算 } 平均値を使って、温度が上昇しているか下降しているか判断{   上昇していたらLED点灯(1)へ   下降していたらLED消灯(2)へ } 平均値を使って最大値を計算 振幅幅が減少したら赤色LED点灯、青色LED消灯(3)へ 振幅幅が増加したら赤色LED消灯、青色LED点灯(4)へ }} ■実装部分 #highlight(c){{ 黄色LED制御    (1)点灯 or (2)消灯   赤、青色LED制御    (3)赤色LED点灯、青色LED消灯    (4)赤色LED消灯、青色LED点灯 }} >&bold(){コメント} #comment(vsize=2,nsize=20,size=40) ---- ---- today: &counter(today) yesterday: &counter(yesterday)

表示オプション

横に並べて表示:
変化行の前後のみ表示: