<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Japanese Makers &#187; 音</title>
	<atom:link href="http://yururisha.daa.jp/blog/?feed=rss2&#038;tag=%E9%9F%B3" rel="self" type="application/rss+xml" />
	<link>http://yururisha.daa.jp/blog</link>
	<description>～Japanese Maker が日本を元気にする！～</description>
	<lastBuildDate>Thu, 20 Feb 2014 12:59:21 +0000</lastBuildDate>
	<language>ja</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=3.8.41</generator>
	<item>
		<title>音を出してみる　～ Arduino LV8 ～</title>
		<link>http://yururisha.daa.jp/blog/?p=1245</link>
		<comments>http://yururisha.daa.jp/blog/?p=1245#comments</comments>
		<pubDate>Wed, 19 Dec 2012 02:50:04 +0000</pubDate>
		<dc:creator><![CDATA[yururisha]]></dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[音]]></category>

		<guid isPermaLink="false">http://www.japanese-makers.com/?p=1245</guid>
		<description><![CDATA[圧電スピーカー(または圧電サウンダーとも呼ぶ)を使って音を出してみる。 ArduinoのどれかのデジタルピンとGNDの間に圧電スピーカーを接続するだけの簡単な回路。 &#160; ピーと音が鳴るだけだが、圧電スピーカーを使用すると簡単に音を出せる。 &#160; 【　回路　】 &#160; GNDと9番ピンの間に圧電スピーカーを配置するだけ。 &#160; 【完成写真】 &#160; &#160; [...]]]></description>
				<content:encoded><![CDATA[<p>圧電スピーカー(または圧電サウンダーとも呼ぶ)を使って音を出してみる。</p>
<p>ArduinoのどれかのデジタルピンとGNDの間に圧電スピーカーを接続するだけの簡単な回路。</p>
<p><span id="more-1245"></span></p>
<p>&nbsp;<br />
ピーと音が鳴るだけだが、圧電スピーカーを使用すると簡単に音を出せる。<br />
&nbsp;</p>
<p>【　回路　】<br />
&nbsp;<br />
<a href="http://yururisha.daa.jp/blog/wp-content/uploads/2012/12/0d40a5e4a645fc6b96e767d64ac0878e16.png" rel="prettyPhoto"><img class="alignnone size-medium wp-image-1247" title="無題" src="http://yururisha.daa.jp/blog/wp-content/uploads/2012/12/0d40a5e4a645fc6b96e767d64ac0878e16-300x195.png" alt="" width="300" height="195" /></a></p>
<p>GNDと9番ピンの間に圧電スピーカーを配置するだけ。</p>
<p>&nbsp;</p>
<p>【完成写真】<br />
&nbsp;<br />
<a href="http://yururisha.daa.jp/blog/wp-content/uploads/2012/12/20121217_212255.jpg" rel="prettyPhoto"><img class="alignnone size-medium wp-image-1246" title="音を出すセンサー" src="http://yururisha.daa.jp/blog/wp-content/uploads/2012/12/20121217_212255-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>&nbsp;</p>
<p>【　必要な部品　】<br />
&nbsp;</p>
<ul>
<li>圧電スピーカー</li>
<li>ジャンパワイヤー　2本</li>
<li>Arduino Uno</li>
</ul>
<p>&nbsp;</p>
<p>【　スケッチ　】<br />
&nbsp;</p>
<pre class="brush:shell">#define PIEZO 9

// 遅延時間
#define DELAY_TIME 1

void setup() {
  pinMode(PIEZO, OUTPUT);
}

void loop() {
  digitalWrite(PIEZO, HIGH);
  delay(DELAY_TIME);
  digitalWrite(PIEZO, LOW);
  delay(DELAY_TIME);
}</pre>
<p>&nbsp;</p>
<p><strong>音＝振動</strong>　なのですばやくON、OFFを繰り返すと圧電スピーカーを使って振動を作り出すことが出来るのだ。<br />
&nbsp;</p>
<p>&nbsp;<br />
1Loop中にdelay(1)が2回繰り返されているので、波形は以下のようになっている。<br />
&nbsp;<br />
<a href="http://yururisha.daa.jp/blog/wp-content/uploads/2012/12/0d40a5e4a645fc6b96e767d64ac0878e17.png" rel="prettyPhoto"><img src="http://yururisha.daa.jp/blog/wp-content/uploads/2012/12/0d40a5e4a645fc6b96e767d64ac0878e17.png" alt="" title="無題" width="291" height="179" class="alignnone size-full wp-image-1263" /></a><br />
&nbsp;</p>
<p>2ミリ秒の周期の波形だ。これを周波数に直すと以下になる。f＝1/T　(f：周波数、T：周期)<br />
&nbsp;</p>
<p>f = 1 / 0.002 = 500(HZ)<br />
&nbsp;</p>
<p>delay()による時間はあまり正確ではないので、このスケッチだと約500HZの音が出ている事になる。(delay(2)にすると半分の250HZになる)</p>
<p>&nbsp;</p>
<p>先の例では、delay()を使っていたため、いちばん高い周波数でも500HZまでしか作れなかった。より高い周波数を出すには、<strong>delayMicroseconds</strong>を使えば良い。</p>
<p>&nbsp;</p>
<p>先のスケッチの数値を少し変更＆delay()をdelayMicrosecondsにしただけだ。<br />
&nbsp;</p>
<pre class="brush:shell">

#define PIEZO 9

// 遅延時間
#define DELAY_TIME 500

void setup() {
  pinMode(PIEZO, OUTPUT);
}

void loop() {
  digitalWrite(PIEZO, HIGH);
  delayMicroseconds(DELAY_TIME);
  digitalWrite(PIEZO, LOW);
  delayMicroseconds(DELAY_TIME);
}

</pre>
<p>&nbsp;</p>
<p>1Loop中にdelayMicroseconds(500)が2回繰り返されている。計算方法は、f＝1/T　(f：周波数、T：周期)　なので以下のようになる。<br />
&nbsp;</p>
<p>f = 1 / 0.001 = 1000(HZ)<br />
&nbsp;</p>
<p>1000HZ = 1KHZ の周波数を出している事になる。<br />
&nbsp;</p>
<p>&nbsp;</p>
<p>ちょっと工夫してみる。</p>
<p>&nbsp;<br />
ループ処理で何回か処理を繰り返し音を変えてみる。<br />
&nbsp;</p>
<pre class="brush:shell">

#define PIEZO 9

// 遅延時間
#define DELAY_TIME1 400
#define DELAY_TIME2 500

void setup() {
  pinMode(PIEZO, OUTPUT);
}

void loop() {
  
  int i;
  for (i=0; i<400; i++) {
    digitalWrite(PIEZO, HIGH);
    delayMicroseconds(DELAY_TIME1);
    digitalWrite(PIEZO, LOW);
    delayMicroseconds(DELAY_TIME1);
  }
  
  for (i=0; i<200; i++) {
    digitalWrite(PIEZO, HIGH);
    delayMicroseconds(DELAY_TIME2);
    digitalWrite(PIEZO, LOW);
    delayMicroseconds(DELAY_TIME2);
  }
}
</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://yururisha.daa.jp/blog/?feed=rss2&#038;p=1245</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
