add week 9
This commit is contained in:
@ -0,0 +1,32 @@
|
||||
const int button_pin = 2;
|
||||
const int sound_pin = 9;
|
||||
|
||||
bool is_playing = false;
|
||||
int button_prev= LOW;
|
||||
float freq = 440;
|
||||
|
||||
float midiToFreq(int midi){
|
||||
return 440.*pow(2.,(midi-69.)/12.);
|
||||
}
|
||||
|
||||
void setup() {
|
||||
pinMode(button_pin,INPUT);
|
||||
pinMode(sound_pin, OUTPUT);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
auto button_state = digitalRead(button_pin);
|
||||
|
||||
if(button_prev == LOW && button_state==HIGH){
|
||||
is_playing = !is_playing;
|
||||
freq = midiToFreq(random(65,100));
|
||||
}
|
||||
if(is_playing){
|
||||
tone(sound_pin,freq);
|
||||
}else{
|
||||
noTone(sound_pin);
|
||||
}
|
||||
|
||||
delay(20);
|
||||
button_prev = button_state;
|
||||
}
|
Reference in New Issue
Block a user