Arduino Uno 3作目 255段階の調光LEDライト

v03_AnalogBrightnessLoopBtnState.ino


int LED = 9;
int BUTTON = 7;
int val=0;
int old_val=0;
int state=0;

int brightness=128;        //明るさ
unsigned long startTime=0; //いつ初めたか?
int i=0;

void setup(){
  pinMode(LED,OUTPUT);   //LEDが出力である
  pinMode(BUTTON,INPUT); //BUTTONが入力である 
}

void loop() {
  val = digitalRead(BUTTON);
  //変化があるか?
  if((val==HIGH)&&(old_val==LOW)){
      state=1-state;
      startTime=millis();
      delay(10);
      
  }
  //ボタンが押し続けられているか?
  if((val==HIGH)&&(old_val==HIGH)){
    //500ms以上押されているか?
    if(state==1 && (millis()-startTime)>500){
      brightness++;
      delay(10);
      if(brightness > 255){
        brightness=0;
      }
    }
  }
  
  old_val=val;
  
  if(state==1){
      analogWrite(LED, brightness);
  }else{
    analogWrite(LED, 0);
  }
}

Arduino Uno 2作目

ゆっくりついたり消えたりするFor Loop

これは簡単なのだが次に向けての序章


int LED = 9;
int i=0;

void setup(){
  pinMode(LED,OUTPUT);   //LEDが出力である 
}

void loop() {

    for(i=0;i<255;i++){
      analogWrite(LED, i);
      delay(10);
    }
     
           
    for(i=255;i>0;i--){
      analogWrite(LED, i);
      delay(10);
    } 

}

Arduino Uno とArduino 1.0.x IDE と Mac Book Airであそんだ。

Arduino UnoもMacBookAirも古いのでIDEはArduino 1.0.5を使った

https://www.arduino.cc/en/Main/OldSoftwareReleases#previous

Arduino 1.0.xThese packages are no longer supported by the development team.

1.0.5Windows
Windows Installer
MAC OS X
を使った

コードがこれ

//ボタンが押されている間 LEDを点灯
//#define LED 13 //LEDが接続されているピン
//#define BUTTON 7 //ボタンが接続されているピン
int LED = 13; //LEDが接続されているピン
int BUTTON = 7; //ボタンが接続されているピン
int val = 0; //入力ピンの状態がこの変数に保存される

void setup(){
  pinMode(LED,OUTPUT);   //LEDが出力である
  pinMode(BUTTON,INPUT); //BUTTONが入力である 
}

void loop() {
  val = digitalRead(BUTTON);
  if(val==HIGH){
  digitalWrite(LED, HIGH);   // turn the LED on (HIGH is the voltage level)
  }else{               // wait for a second
  digitalWrite(LED, LOW);    // turn the LED off by making the voltage LOW
  }
}