วันเสาร์ที่ 18 เมษายน พ.ศ. 2552

ไฟกระพริบกำหนดความเร็วจาก interrup ภายนอก




วันนี้มาทำไฟกระพริบขั้นเทพพพพ...(ไม่รู้เทพอะไร) กัน การทดลองนี้จะใช้ interrupt0 และ interrupt1 สำหรับ interrupt0 จะอยู่ที่ขาdigital2 ส่วน interrupt2 จะอยู่ที่ขา digital3 (digital1 ไม่มีนะครับ)


int pin = 13;
volatile int time = 200;


void setup()
{
pinMode(pin, OUTPUT);
attachInterrupt(0, blink_f, FALLING);
attachInterrupt(1, blink_s, FALLING);
}

void loop()
{

digitalWrite(pin, HIGH);
delay(time);
digitalWrite(pin, LOW);
delay(time);
}

void blink_f()
{
if(time>1000)
{
time=200;
}
time=time+100;

}
void blink_s()
{
if(time <200)
{
time=200;
}
time=time-100;
}


ลองทายซิว่า
เราจะต่อวงจรอย่างไร
โปรแกรมทำงานอย่างไร

ไม่มีความคิดเห็น: