ロボ研の藤田大悟です。

今月は、光センサーを「がじぇるね」をつかって制御し、テルミンのような装置をつくってみました。

光センサーは明るいと抵抗値が低くなり、暗くなると抵抗値が上がる半導体です。

これを「アナログ入力」させることで、光の明るさによって信号がかわり、それにそって音を変える装置をつくれます。

下に書いてあるようなプログラミングを書くと簡単につくることができます。

KIMG0424

 

 

ーーー
#include
const int SENSOR = 14;
const int BUZZER = 13;

int sensVAL = 0;

void setup() { pinMode(SENSOR, INPUT);
pinMode(BUZZER, OUTPUT);
}

void loop() {
sensVAL = analogRead(SENSOR)*1.5; if (sensVAL >= 63 && sensVAL < 127) tone(BUZZER, 262); else if (sensVAL >= 127 && sensVAL < 191) tone(BUZZER, 294);  else if (sensVAL >= 191 && sensVAL < 255) tone(BUZZER, 330);  else if (sensVAL >= 255 && sensVAL < 319) tone(BUZZER, 349);  else if (sensVAL >= 319 && sensVAL < 383) tone(BUZZER, 392);  else if (sensVAL >= 383 && sensVAL < 447) tone(BUZZER, 440); else if (sensVAL >= 447 && sensVAL < 511) tone(BUZZER, 494);  else if (sensVAL >= 511 && sensVAL < 575) tone(BUZZER, 523);  else if (sensVAL >= 575 && sensVAL < 639) tone(BUZZER, 587); else if (sensVAL >= 639 && sensVAL < 703) tone(BUZZER, 659);  else if (sensVAL >= 703 && sensVAL < 767) tone(BUZZER, 698);  else if (sensVAL >= 767 && sensVAL < 831) tone(BUZZER, 784); else if (sensVAL >= 831 && sensVAL < 895) tone(BUZZER, 880);  else if (sensVAL >= 895 && sensVAL < 959) tone(BUZZER, 988);  else if (sensVAL >= 959) tone(BUZZER, 1047); else delay(500);}