「ホタログ2」の編集履歴(バックアップ)一覧はこちら
ホタログ2 - (2007/07/03 (火) 23:04:08) の1つ前との変更点
追加された行は緑色になります。
削除された行は赤色になります。
**2007.7.2
-&bold(){今日は就活?みたいな感じで}
何も進んでない2。 これはまずい。
でもホームページを作っている。ほぼ一息ついた。
明日は色をつけるプログラムを書く予定だったけど、
明後日のゼミが明日に移動になったので…、どうにか何とかしよう。
>&bold(){コメント}
#comment(vsize=2,nsize=20,size=40)
----
----
today: &counter(today)
yesterday: &counter(yesterday)
**2007.7.3
-&bold(){呼吸が速くなると、REDが赤色に変色するプログラム}
プログラムは書け、コンパイルは通ったけどまだ動作確認はしてない。先日回路を確認する際に、マイコンの接続等を全部ばらしたので、元に戻すのに時間がかかる。とりあえずドライバーが見当たらない。明日来て動作確認する。
以下、未確認プログラム。メモ。確認したら消す。
#hightlight(){{
/***
呼吸-LED2
pwmを用いた
***/
//sekibun
int i = 0;
int ad;
int valS[101];
long sum = 0;
int heikin1, heikin2;
int now;
//maxx
int maxx;
int widthh[4] = { 8, 8, 8, 8};
char line1, line2;
long t = 0;
long time1, time2;
long widadd = 8;
//黄色LED
int ledPin3 = 11; // LED connected to digi-pin 11
int YPW1 = 1;
int YPW2 = 4;
int k1 = 0;
//赤色LED
int ledPin2 = 12; // LED connected to digi-pin 12
int RPW1 = 1000;
int RPW2 = 4000;
int RPW3 = 100;
int k2 = 0;
//その他
//確認用
long r = 0;
long u = 0;
int ledPin = 13; // LED connect 13
int previousMillis = 0; // LED fu? modificado
int value = LOW; // Estado anterior del LED
int interval = 1000; // Intervalo de parpadeo
void setup()
{
Serial.begin(9600);
pinMode(ledPin3, OUTPUT); // Yellow pin as output
pinMode(ledPin2, OUTPUT); // Red pin as output
// 確認用
pinMode(ledPin, OUTPUT);
}
void loop()
{
sum = 0;
heikin1 = heikin2;
r++;
// ここで100幅分の平均値を計算
for(i=0 ; i<100 ; i++){
ad = analogRead(0);
valS[i] = ad;
sum += valS[i];
//LED_Yellow
if(k1 == 1){ // 下向きのベクトルのとき(温度下降時)
YPW1 = 1;
if(YPW2 <= 20){
YPW2 = YPW2 + 1 ; // LEDだんだん明るく
}
if(YPW2 > 20){
YPW1 = 0;
}
}
if(k1 == 0){ // 上向きのベクトルのとき(温度上昇時)
YPW1 = 1;
if(YPW2 >= 1){
YPW2 = YPW2 - 1;// LEDだんだん明るく
}
}
// pwm操作
digitalWrite(ledPin3, HIGH); // sets the LED on
delay(YPW1); // wait
digitalWrite(ledPin3, LOW); // sets the LED off
delay(YPW2); // wait
//LED_Red
if(k2 == 1){ // 下向きのベクトルのとき(温度下降時)
RPW1 = 1;
if(RPW2 <= 20){
RPW2 = RPW2 + RPW3 ; // LEDだんだん明るく
}
if(RPW2 > 20){
RPW1 = 0;
}
}
if(k2 == 0){ // 上向きのベクトルのとき(温度上昇時)
RPW1 = 1;
if(RPW2 >= 1){
RPW2 = RPW2 - RPW3;// LEDだんだん明るく
}
}
// pwm操作
digitalWrite(ledPin2, HIGH); // sets the LED on
delayMicroseconds(RPW1); // wait
digitalWrite(ledPin2, LOW); // sets the LED off
delayMicroseconds(RPW2); // wait
}
heikin2 = sum/100;
//* Down *//
if(heikin1 > heikin2){
if((line1 == 'U' && line2 == 'F') ||
(line1 == 'F' && line2 == 'U') ||
(line1 == 'U' && line2 == 'U')){
maxx = heikin1; // 極大値の更新
time1 = time2;
time2 = t;
widthh[0] = time2 - time1; // 振幅
line1 = line2;
line2 = 'D';
k1 = 1;
}
else if(line1 == 'F' && line2 == 'F'){
line1 = line2;
line2 = 'D';
k1 = 1;
}
else{
line1 = line2;
line2 = 'F';
}
}
//* Widthh for Red LED *//
widthh[3] = widthh[2];
widthh[2] = widthh[1];
widthh[1] = widthh[0];
widadd = (widthh[1] + widthh[2] + widthh[3])/3;
if(widthh[1] > widthh[2]){
k2 = 1;
RPW3 += 100;
}
else if(widthh[1] < widthh[2]){
k2 = 0;
RPW3 -= 100;
}
//* Up *//
else if(heikin1 < heikin2){
if((line1 == 'D' && line2 == 'F') ||
(line1 == 'F' && line2 == 'D') ||
(line1 == 'D' && line2 == 'D') ||
(line1 == 'F' && line2 == 'F')){
line1 = line2;
line2 = 'U';
k1 = 0;
}
else{
line1 = line2;
line2 = 'F';
}
}
//* Flat *//
else {
line1 = line2;
line2 = 'F';
}
// 確認用
if (millis() - previousMillis > interval) {
previousMillis = millis();
// Recuerda la ?ltima LED cambi?
if (value == LOW)
// Si el LED est? apagado lo enciende y viceversa.
value = HIGH;
else
value = LOW;
digitalWrite(ledPin, value);
Serial.println(i);
}
}
}}
>&bold(){コメント}
#comment(vsize=2,nsize=20,size=40)
----
**2007.7.2
-&bold(){今日は就活?みたいな感じで}
何も進んでない2。 これはまずい。
でもホームページを作っている。ほぼ一息ついた。
明日は色をつけるプログラムを書く予定だったけど、
明後日のゼミが明日に移動になったので…、どうにか何とかしよう。
>&bold(){コメント}
#comment(vsize=2,nsize=20,size=40)
----
----
today: &counter(today)
yesterday: &counter(yesterday)