//主婦に教えるマイコンプログラミング 11限目
//PWMで調光するプログラム
int ledPin = 3;
int button1Pin = 2;
int button2Pin = 4;
int ledBrightness = 0;
void setup() {
// LEDピンを出力に設定
pinMode(ledPin, OUTPUT);
// ボタンピンを入力に設定
pinMode(button1Pin, INPUT_PULLUP);
pinMode(button2Pin, INPUT_PULLUP);
}
void loop() {
// ボタンの状態を読み取る
int button1State = digitalRead(button1Pin);
int button2State = digitalRead(button2Pin);
// ボタン1が押されている間はLEDを明るくする
if (button1State == LOW) {
if (ledBrightness < 255) {
ledBrightness++;
}
}
// ボタン2が押されている間はLEDを暗くする
if (button2State == LOW) {
if (ledBrightness > 0) {
ledBrightness--;
}
}
// LEDの明るさを設定
analogWrite(ledPin, ledBrightness);
// 10ms待つ
delay(10);
}
—------------------------------------------------------------------
課題の解答例
//ボタン1で明るくする
//ボタン2で明かりが消えるプログラム
int ledPin = 3;
int button1Pin = 2;
int button2Pin = 4;
int ledBrightness = 0;
void setup() {
// LEDピンを出力に設定
pinMode(ledPin, OUTPUT);
// ボタンピンを入力に設定
pinMode(button1Pin, INPUT_PULLUP);
pinMode(button2Pin, INPUT_PULLUP);
}
void loop() {
// ボタンの状態を読み取る
int button1State = digitalRead(button1Pin);
int button2State = digitalRead(button2Pin);
// ボタン1が押されている間はLEDを明るくする
if (button1State == LOW) {
if (ledBrightness < 255) {
ledBrightness++;
}
}
// ボタン2が押されたら明かりが消える
if (button2State == LOW) {
ledBrightness = 0;
}
// LEDの明るさを設定
analogWrite(ledPin, ledBrightness);
// 10ms待つ
delay(10);
}
コメント
コメントを投稿