// Every-PWMTEST-1
// 2021.5.11
// Arduino Nano Every を使用する。
// PWM周波数を15.7kHzにする。
#define PWM 10
#define CH1 4
#define CH2 18
#define CH4 5
#define CH8 19
void setup() {
pinMode(PWM,OUTPUT);
pinMode(CH1,INPUT);
pinMode(CH2,INPUT);
pinMode(CH4,INPUT);
pinMode(CH8,INPUT);
TCA0.SINGLE.CTRLA = 0b0101; //PWM周波数の変更
Serial.begin(9600);
}
void loop() {
int dt;
if (digitalRead(CH1)==LOW && digitalRead(CH2)==LOW && digitalRead(CH4)==LOW && digitalRead(CH8)==LOW){
dt = 0 ;
} else if (digitalRead(CH1)==HIGH && digitalRead(CH2)==LOW && digitalRead(CH4)==LOW && digitalRead(CH8)==LOW){
dt = 1 ;
} else if (digitalRead(CH1)==LOW && digitalRead(CH2)==HIGH && digitalRead(CH4)==LOW && digitalRead(CH8)==LOW){
dt = 3 ;
} else if (digitalRead(CH1)==HIGH && digitalRead(CH2)==HIGH && digitalRead(CH4)==LOW && digitalRead(CH8)==LOW){
dt = 5 ;
} else if (digitalRead(CH1)==LOW && digitalRead(CH2)==LOW && digitalRead(CH4)==HIGH && digitalRead(CH8)==LOW){
dt = 8 ;
} else if (digitalRead(CH1)==HIGH && digitalRead(CH2)==LOW && digitalRead(CH4)==HIGH && digitalRead(CH8)==LOW){
dt = 13 ;
} else if (digitalRead(CH1)==LOW && digitalRead(CH2)==HIGH && digitalRead(CH4)==HIGH && digitalRead(CH8)==LOW){
dt = 25 ;
} else if (digitalRead(CH1)==HIGH && digitalRead(CH2)==HIGH && digitalRead(CH4)==HIGH && digitalRead(CH8)==LOW){
dt = 38 ;
}else if (digitalRead(CH1)==LOW && digitalRead(CH2)==LOW && digitalRead(CH4)==LOW && digitalRead(CH8)==HIGH){
dt = 51 ;
}else if (digitalRead(CH1)==HIGH && digitalRead(CH2)==LOW && digitalRead(CH4)==LOW && digitalRead(CH8)==HIGH){
dt = 76 ;
}else if (digitalRead(CH1)==LOW && digitalRead(CH2)==HIGH && digitalRead(CH4)==LOW && digitalRead(CH8)==HIGH){
dt = 102 ;
}else if (digitalRead(CH1)==HIGH && digitalRead(CH2)==HIGH && digitalRead(CH4)==LOW && digitalRead(CH8)==HIGH){
dt = 127 ;
}else if (digitalRead(CH1)==LOW && digitalRead(CH2)==LOW && digitalRead(CH4)==HIGH && digitalRead(CH8)==HIGH){
dt = 175 ;
}else if (digitalRead(CH1)==HIGH && digitalRead(CH2)==LOW && digitalRead(CH4)==HIGH && digitalRead(CH8)==HIGH){
dt = 204 ;
}else if (digitalRead(CH1)==LOW && digitalRead(CH2)==HIGH && digitalRead(CH4)==HIGH && digitalRead(CH8)==HIGH){
dt = 230 ;
}else if (digitalRead(CH1)==HIGH && digitalRead(CH2)==HIGH && digitalRead(CH4)==HIGH && digitalRead(CH8)==HIGH){
dt = 255 ;
}
Serial.println(dt);
analogWrite(PWM,dt);
delay (50000);
}