Arduino/みんな試作機/MoriminAdvanced
をテンプレートにして作成
[
トップ
] [
新規
| |
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
#topicpath
** Arduino と CdS と圧電スピーカを使ったテルミンもどき楽...
-- 概要:~
明るさの変化でドレミを奏でます。音量は変わりません。とっ...
2010年度オープンキャンパスのために作成しました。~
~
CdS は廃棄に困ります。(個人的にはずっと持ちつづけるかな、...
CdS の代わりにフォトトランジスタを使う場合は[[Arduino/み...
~
~
-- ポイント~
--- 明るさを学習(というほど大袈裟ではない)して、音階を...
電源電圧が変わっても大丈夫なはずです。
--- プログラムがこなれていない。(試作ですから。)
--- 簡単(例によって。)~
--- 安い(例によって。)~
~
-- 配線~
[[USBに直結するタイプ>../../Arduino の自作/USBTYPE]]をも...
--- スピーカ :黒-グラウンド、赤-デジタル13番(マイコン...
--- 抵抗10kΩ:アナログ0番(マイコンの23番ピン)と電源
--- CdSセル :アナログ0番ピン(マイコンの23番ピン)とグラ...
&ref(sany0126.jpg,,320x240);~
※ スケッチを流し込んでしまった後は、ツェナーダイオードや...
~
-- ユニバーサル基板で作る~
自作Arduino互換機から ATmega168P(マイコンチップ)を引き抜...
配線が同じになるようにして移植する。
ところで、Arduino の Duemilanove などは、なぜフラットパ...
DIP(太い足が2列に並んでブレッドボードやユニバーサル基板...
基板設計も楽だろうし、足の数も多くなるし、安い。実際、Ja...
ところが、今回の試作で、DIP であることの重要な理由がわか...
それは、おそらく、ここでやったように、マイコンを抜いて、...
言葉をかえると、プロトタイプを、よりプロダクトに近いもの...
&ref(SANY0135.JPG,,320x240);~
~
-- プログラム~
Arduino 017 で [[Tone>http://code.google.com/p/rogue-code...
Arduino 018 に含まれる Tone はごく一部なので、やはり Tone...
#include <Tone.h>
#include <math.h>
Tone notePlayer;
int val = 0;
int maxv = 0;
int minv = 1024;
int note[]={ 262, 294, 330, 349, 393, 440, 494, 523};
int thre[]={minv,minv,minv,minv,minv,minv,minv,minv};
void setup(void)
{
notePlayer.begin(13);
}
void loop(void)
{
int i;
val = analogRead(0);
if ( minv > val ){
minv = val;
}
if ( maxv < val ){
maxv = val;
}
for( i = 0; i < 8; i++ ){
thre[i] = maxv - (int)((maxv-minv)*pow(((1.0*i+0.3)/7....
}
// lesser : brighter
if ( val > thre[0] ){
notePlayer.play(note[0],100);
}else if ( val > thre[1] ){
notePlayer.play(note[1],100);
}else if ( val > thre[2] ){
notePlayer.play(note[2],100);
}else if ( val > thre[3] ){
notePlayer.play(note[3],100);
}else if ( val > thre[4] ){
notePlayer.play(note[4],100);
}else if ( val > thre[5] ){
notePlayer.play(note[5],100);
}else if ( val > thre[6] ){
notePlayer.play(note[6],100);
}else if ( val > thre[7] ){
notePlayer.play(note[7],100);
}
delay(200);
}
~
~
-- 動作の様子([[YouTube>http://www.youtube.com/watch?v=bh...
#youtube_res(bhNO1FlrfA8)~
#clear
~
*** 記録 [#j3120b86]
-- 参考URL
--- [[Arduino Tone Library>http://code.google.com/p/rogue...
--- [[Arduinoで遊ぼう - 圧電スピーカでチクタク/なんでもつ...
--- [[MTM05 Scratch ワークショップ>http://scratch-ja.org/...
-- 履歴~
--- 2010-06-16 ユニバーサル基板化~
--- 2010-06-14 動画掲載~
--- 2010-06-11 音階を分けるAD変換された値を自動的に決め...
--- 2010-06-10 音が出る。配線もプログラムも、こんなに簡...
終了行:
#topicpath
** Arduino と CdS と圧電スピーカを使ったテルミンもどき楽...
-- 概要:~
明るさの変化でドレミを奏でます。音量は変わりません。とっ...
2010年度オープンキャンパスのために作成しました。~
~
CdS は廃棄に困ります。(個人的にはずっと持ちつづけるかな、...
CdS の代わりにフォトトランジスタを使う場合は[[Arduino/み...
~
~
-- ポイント~
--- 明るさを学習(というほど大袈裟ではない)して、音階を...
電源電圧が変わっても大丈夫なはずです。
--- プログラムがこなれていない。(試作ですから。)
--- 簡単(例によって。)~
--- 安い(例によって。)~
~
-- 配線~
[[USBに直結するタイプ>../../Arduino の自作/USBTYPE]]をも...
--- スピーカ :黒-グラウンド、赤-デジタル13番(マイコン...
--- 抵抗10kΩ:アナログ0番(マイコンの23番ピン)と電源
--- CdSセル :アナログ0番ピン(マイコンの23番ピン)とグラ...
&ref(sany0126.jpg,,320x240);~
※ スケッチを流し込んでしまった後は、ツェナーダイオードや...
~
-- ユニバーサル基板で作る~
自作Arduino互換機から ATmega168P(マイコンチップ)を引き抜...
配線が同じになるようにして移植する。
ところで、Arduino の Duemilanove などは、なぜフラットパ...
DIP(太い足が2列に並んでブレッドボードやユニバーサル基板...
基板設計も楽だろうし、足の数も多くなるし、安い。実際、Ja...
ところが、今回の試作で、DIP であることの重要な理由がわか...
それは、おそらく、ここでやったように、マイコンを抜いて、...
言葉をかえると、プロトタイプを、よりプロダクトに近いもの...
&ref(SANY0135.JPG,,320x240);~
~
-- プログラム~
Arduino 017 で [[Tone>http://code.google.com/p/rogue-code...
Arduino 018 に含まれる Tone はごく一部なので、やはり Tone...
#include <Tone.h>
#include <math.h>
Tone notePlayer;
int val = 0;
int maxv = 0;
int minv = 1024;
int note[]={ 262, 294, 330, 349, 393, 440, 494, 523};
int thre[]={minv,minv,minv,minv,minv,minv,minv,minv};
void setup(void)
{
notePlayer.begin(13);
}
void loop(void)
{
int i;
val = analogRead(0);
if ( minv > val ){
minv = val;
}
if ( maxv < val ){
maxv = val;
}
for( i = 0; i < 8; i++ ){
thre[i] = maxv - (int)((maxv-minv)*pow(((1.0*i+0.3)/7....
}
// lesser : brighter
if ( val > thre[0] ){
notePlayer.play(note[0],100);
}else if ( val > thre[1] ){
notePlayer.play(note[1],100);
}else if ( val > thre[2] ){
notePlayer.play(note[2],100);
}else if ( val > thre[3] ){
notePlayer.play(note[3],100);
}else if ( val > thre[4] ){
notePlayer.play(note[4],100);
}else if ( val > thre[5] ){
notePlayer.play(note[5],100);
}else if ( val > thre[6] ){
notePlayer.play(note[6],100);
}else if ( val > thre[7] ){
notePlayer.play(note[7],100);
}
delay(200);
}
~
~
-- 動作の様子([[YouTube>http://www.youtube.com/watch?v=bh...
#youtube_res(bhNO1FlrfA8)~
#clear
~
*** 記録 [#j3120b86]
-- 参考URL
--- [[Arduino Tone Library>http://code.google.com/p/rogue...
--- [[Arduinoで遊ぼう - 圧電スピーカでチクタク/なんでもつ...
--- [[MTM05 Scratch ワークショップ>http://scratch-ja.org/...
-- 履歴~
--- 2010-06-16 ユニバーサル基板化~
--- 2010-06-14 動画掲載~
--- 2010-06-11 音階を分けるAD変換された値を自動的に決め...
--- 2010-06-10 音が出る。配線もプログラムも、こんなに簡...
ページ名: