Arduinoで電子ピアノ

Arduinoの開発環境を利用した電子ピアノ

秋月電子で売っている安い小さいチップ
(AVRマイコン ATTINY13A-PU)を使う
ArduinoIDEでプログラムできる(手順は、別途書きます)


ピン配置は
ボタンを鍵盤代わりにして、ADCで読めばいいような??


各ボタンに固有の抵抗値を設定してADCに入力します

計算では、次のようにADCへの入力値が変化します
抵抗値         入力
 5100     Kp    5.00
   560  0.9011  4.51
 1200  0.8095  4.05
 2200  0.6986  3.49
 3300  0.6071  3.04
 5100  0.5000  2.50
 7500  0.4048  2.02
12000  0.2982  1.49
18000  0.2208  1.10

サンプルプログラム
//Vcc = 5v
//#define sMax 900
//Vcc = 3v3
#define sensorMax 580
#define keyPin A0
#define spkPin 9
//int oto[] = {0,131,147,165,175,196,220,247,262};
int oto[] = {0,262,294,330,349,392,440,494,523};
void setup() {
}
void loop() {
  int sensorValue = analogRead(keyPin);
  int onkai = map(sensorValue, 0, sensorMax,0,8);
  if(onkai != 0){
    tone(spkPin, oto[onkai]);
  }else{
    noTone(spkPin);
  }
  delay(10);
}

と思って試したらエラー出まくりでいったん中止です。
Arduinoで動いてもAttinyで動くわけではない・・・というあたりまえのことでした。
サイズを小さくするために・・・どうするか


コメント