差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
arduino:grovebeginnerkit [2023/05/30 11:50] – [10. 3-Axis Accelerator] baba | arduino:grovebeginnerkit [2024/05/21 11:00] (現在) – [3. OLED Display 0.96] baba | ||
---|---|---|---|
行 86: | 行 86: | ||
</ | </ | ||
- | <code .c countdown.pde> | + | <file .c countdown.pde> |
void setup() | void setup() | ||
{ | { | ||
行 97: | 行 97: | ||
delay(1000); | delay(1000); | ||
} | } | ||
- | </code> | + | </file> |
- | <code .c ring.pde> | + | <file .c ring.pde> |
// Reference: http:// | // Reference: http:// | ||
void setup() | void setup() | ||
行 159: | 行 159: | ||
delay(1500); | delay(1500); | ||
} | } | ||
- | </code> | + | </file> |
==== 音階で音を鳴らしてみる ==== | ==== 音階で音を鳴らしてみる ==== | ||
ON/ | ON/ | ||
行 180: | 行 180: | ||
* https:// | * https:// | ||
- | <code .c nokiatune.pde> | + | <file .c nokiatune.pde> |
float getFreq(int n) | float getFreq(int n) | ||
{ | { | ||
行 187: | 行 187: | ||
void setup() | void setup() | ||
{ | { | ||
- | pinMode(6, OUTPUT); | + | pinMode(5, OUTPUT); |
} | } | ||
int interval = 250; | int interval = 250; | ||
void loop() { | void loop() { | ||
- | tone(6, getFreq(76), | + | tone(5, getFreq(76), |
delay(interval/ | delay(interval/ | ||
- | tone(6, getFreq(74), | + | tone(5, getFreq(74), |
delay(interval/ | delay(interval/ | ||
- | tone(6, getFreq(66), | + | tone(5, getFreq(66), |
delay(interval); | delay(interval); | ||
- | tone(6, getFreq(68), | + | tone(5, getFreq(68), |
delay(interval); | delay(interval); | ||
- | tone(6, | + | tone(5, |
delay(interval/ | delay(interval/ | ||
- | tone(6, getFreq(71), | + | tone(5, getFreq(71), |
delay(interval/ | delay(interval/ | ||
- | tone(6, getFreq(62), | + | tone(5, getFreq(62), |
delay(interval); | delay(interval); | ||
- | tone(6, getFreq(64), | + | tone(5, getFreq(64), |
delay(interval); | delay(interval); | ||
- | tone(6, getFreq(71), | + | tone(5, getFreq(71), |
delay(interval/ | delay(interval/ | ||
- | tone(6, getFreq(69), | + | tone(5, getFreq(69), |
delay(interval/ | delay(interval/ | ||
- | tone(6, getFreq(61), | + | tone(5, getFreq(61), |
delay(interval); | delay(interval); | ||
- | tone(6, getFreq(64), | + | tone(5, getFreq(64), |
delay(interval); | delay(interval); | ||
- | tone(6, getFreq(69), | + | tone(5, getFreq(69), |
delay(interval*4); | delay(interval*4); | ||
delay(interval*4); | delay(interval*4); | ||
} | } | ||
- | </code> | + | </file> |
==== 余談 ==== | ==== 余談 ==== | ||
鳴らしたいノート番号を指定することでその周波数を計算することができますが、その逆である「鳴らしたい周波数が決まっている場合、それはピアノの鍵盤でいうところのどの位置になるのか?」を計算するには、方程式をnについてとけば良いです。 | 鳴らしたいノート番号を指定することでその周波数を計算することができますが、その逆である「鳴らしたい周波数が決まっている場合、それはピアノの鍵盤でいうところのどの位置になるのか?」を計算するには、方程式をnについてとけば良いです。 | ||
行 230: | 行 230: | ||
==== 3. OLED Display 0.96 ==== | ==== 3. OLED Display 0.96 ==== | ||
Arduino Library Managerから U8g2 をインストールしてから,以下のコードを実行 | Arduino Library Managerから U8g2 をインストールしてから,以下のコードを実行 | ||
- | < | + | < |
#include < | #include < | ||
#include < | #include < |