<?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>割り込み | 即戦力モノづくり!エンジニアへの道標</title>
	<atom:link href="https://depfields.com/tag/%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF/feed/" rel="self" type="application/rss+xml" />
	<link>https://depfields.com</link>
	<description>組み込み（マイコン）スキルを楽しんで学びながら身につけて短期間で効率よく自由自在に扱えるようになりたいと思いませんか？</description>
	<lastBuildDate>Mon, 11 Apr 2022 06:24:44 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.2.2</generator>

<image>
	<url>https://depfields.com/wp-content/uploads/2020/07/cropped-favicon-1-32x32.png</url>
	<title>割り込み | 即戦力モノづくり!エンジニアへの道標</title>
	<link>https://depfields.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>圧電ブザー・スピーカーを鳴らしてみよう【STM32 Nucleo】</title>
		<link>https://depfields.com/buzzer-apl/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=buzzer-apl</link>
		
		<dc:creator><![CDATA[めかのとろ]]></dc:creator>
		<pubDate>Sun, 14 Jun 2020 00:30:25 +0000</pubDate>
				<category><![CDATA[タイマを使ったアプリ]]></category>
		<category><![CDATA[タイマ]]></category>
		<category><![CDATA[割り込み]]></category>
		<category><![CDATA[Nucleo]]></category>
		<guid isPermaLink="false">https://depfields.com/?p=6722</guid>

					<description><![CDATA[<p>圧電ブザー・圧電スピーカーをSTM32マイコン（Nucleoボード） につなげて鳴らしてみましょう。今回は安価な圧電ブザー（形式：LF-MB12B06）を使いました。ペリフェラル　タイマの応用です。詳細はタイマ・カウンタ [&#8230;]</p>
<p>The post <a href="https://depfields.com/buzzer-apl/">圧電ブザー・スピーカーを鳴らしてみよう【STM32 Nucleo】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></description>
										<content:encoded><![CDATA[<div class="veu_autoEyeCatchBox"><img width="640" height="426" src="https://depfields.com/wp-content/uploads/2020/10/speaker_640.jpg" class="attachment-large size-large wp-post-image" alt="" decoding="async" srcset="https://depfields.com/wp-content/uploads/2020/10/speaker_640.jpg 640w, https://depfields.com/wp-content/uploads/2020/10/speaker_640-300x200.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></div>
<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom">圧電ブザー・圧電スピーカーをSTM32マイコン（Nucleoボード） につなげて鳴らしてみましょう。今回は安価な圧電ブザー（形式：LF-MB12B06）を使いました。<strong>ペリフェラル　タイマの応用</strong>です。詳細は<strong><a href="https://depfields.com/timer/" target="_blank" aria-label=" (opens in a new tab)" rel="noreferrer noopener">タイマ・カウンタ【STM32の高機能・汎用タイマ詳細】</a></strong>で解説しています。</p>







<h2 class="wp-block-heading">圧電ブザーの仕様</h2>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">圧電ブザー</span></strong>は発振回路を内蔵しており仕様に応じた電圧をかけると共鳴して音が発生する部品です。これとよく似た部品に<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">圧電スピーカー</span></strong>（サウンダー）がありますが、こちらは発振回路を内蔵しておらず任意の周波数パルスを与えて音を発生させます。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>今回のアプリでは圧電ブザー、圧電スピーカー両方で使用できるものに挑戦したいと思います。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/buzzer-lfmb12b06.jpg" alt="" class="wp-image-6733" width="407" height="306" srcset="https://depfields.com/wp-content/uploads/2020/10/buzzer-lfmb12b06.jpg 640w, https://depfields.com/wp-content/uploads/2020/10/buzzer-lfmb12b06-300x225.jpg 300w" sizes="(max-width: 407px) 100vw, 407px" /><figcaption>圧電ブザー外観</figcaption></figure>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/10/spec-table.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/spec-table.jpg" alt="" class="wp-image-6746" width="374" height="237"/></a><figcaption> ブザー LF-MB12B06 仕様書 </figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>このタイプは極性があり、プラス側(ピン足の長い方）に直流電圧、マイナス側にGNDを接続すると規定の音(2,300Hz)が発生します。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>ブザーに与える電圧はマイコン電圧と同じ3.3VDCを与えることにします。固定電圧の場合は連続音、3.3VDCのパルスにすると断続音になります。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">圧電スピーカーの場合は発振回路がない</span></strong>ので直流電圧を与えるだけでは音は発生せず、外部から音に応じた周波数のパルスを与える必要があります。断続音にしたい場合はこの発生パルスを断続的にブロック状態で発生させます。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>今回のアプリでは<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">圧電ブザー/圧電</span></strong><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">スピーカ</span></strong> <strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ーのどちらでも使用できるもの</span></strong>として、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">任意の周波数をブロック状態で発生</span></strong>させたものを圧電ブザーに与えて音を発生させることにします。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>部品によっては<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">保護抵抗</span></strong>として1k程度のものを<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">直列に接続する</span></strong>必要がありますが、今回のものは抵抗があると機能しませんでしたので使用していません。<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">保護抵抗の有無は仕様書等で確認してください</span></strong>。</p>
</div></div></div>



<h2 class="wp-block-heading">圧電ブザーとマイコンとの接続回路</h2>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/10/buzzer-circuit.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/buzzer-circuit.jpg" alt="" class="wp-image-6735" width="387" height="263" srcset="https://depfields.com/wp-content/uploads/2020/10/buzzer-circuit.jpg 387w, https://depfields.com/wp-content/uploads/2020/10/buzzer-circuit-300x204.jpg 300w" sizes="(max-width: 387px) 100vw, 387px" /></a><figcaption>圧電ブザー/スピーカー接続回路</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>タイマTIM3で<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">一定幅のパルスを任意の間隔で発生</span></strong>させます。<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">PWM出力機能</span></strong>を使用すると簡単です。任意の間隔（発生音の頻度）はTIM3タイマのサイクルを設定する <strong>自<span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">動リロードレジスタ（ARR）</span></strong> の設定値を調整します。出力パルスの幅（発生音の長さ）はPWM設定の一つで <span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter"><strong>キャプチャコンペアレジスタ(CCR)</strong></span> の設定値を調整します。タイムチャートで検討しながら設定すればよいです。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>圧電ブザーの場合はこのTIM3の出力（PA6）を与えるだけでよいのですが、圧電スピーカーの場合は各パルスが更に細かい<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">音源の周波数で構成されたもの</span></strong>でなければいけません。そこで、もう1段<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">タイマTIM4を追加</span></strong>します。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">タイマTIM4には音源周波数のパルスを出力するように設定</span></strong>して、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">タイマTIM3のパルス出力時にのみタイマTIM4の細かい音源パルスが出力</span></strong>されるようにすればよいのです。デジタル論理回路のAND回路のような感じです。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>この場合は、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">タイマTIM3の出力に同期した割り込み</span></strong>を使います。カウントサイクル毎に発生する<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">更新イベント割り込み</span></strong>とPWM出力の<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">キャプチャコンペア割り込み</span></strong>を利用してタイマTIM4のパルスを発生させたり、停止させたりします。</p>
</div></div></div>



<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom"> 割り込みに関しては詳細を <strong><a href="https://depfields.com/interrupt/" target="_blank" aria-label=" (opens in a new tab)" rel="noreferrer noopener">さまざまな割り込み【STM32の割り込み詳細】</a></strong>で解説しています。  </p>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-height"><div class="vk_block-margin-md--height"></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/10/time-chart2.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/time-chart2.jpg" alt="" class="wp-image-6738" width="562" height="314" srcset="https://depfields.com/wp-content/uploads/2020/10/time-chart2.jpg 574w, https://depfields.com/wp-content/uploads/2020/10/time-chart2-300x168.jpg 300w, https://depfields.com/wp-content/uploads/2020/10/time-chart2-320x180.jpg 320w" sizes="(max-width: 562px) 100vw, 562px" /></a></figure>



<figure class="wp-block-image size-full"><a href="https://depfields.com/wp-content/uploads/2020/10/time-chart1.jpg"><img decoding="async" width="646" height="346" src="https://depfields.com/wp-content/uploads/2020/10/time-chart1.jpg" alt="" class="wp-image-6737" srcset="https://depfields.com/wp-content/uploads/2020/10/time-chart1.jpg 646w, https://depfields.com/wp-content/uploads/2020/10/time-chart1-300x161.jpg 300w" sizes="(max-width: 646px) 100vw, 646px" /></a></figure>



<h2 class="wp-block-heading">プログラム構成</h2>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>プログラムのアウトラインです。今回は割り込みだけで処理しています。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/10/main.png"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/main.png" alt="" class="wp-image-6784" width="661" height="440" srcset="https://depfields.com/wp-content/uploads/2020/10/main.png 662w, https://depfields.com/wp-content/uploads/2020/10/main-300x200.png 300w" sizes="(max-width: 661px) 100vw, 661px" /></a><figcaption>ブザーアプリプログラムアウトライン</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>使用するペリフェラルはTIM3とTIM4およびそれぞれGPIOのAポートとBポートです。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/10/gpio-setting.png"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/gpio-setting.png" alt="" class="wp-image-6762" width="662" height="365" srcset="https://depfields.com/wp-content/uploads/2020/10/gpio-setting.png 662w, https://depfields.com/wp-content/uploads/2020/10/gpio-setting-300x165.png 300w" sizes="(max-width: 662px) 100vw, 662px" /></a><figcaption>GPIO設定</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>TIM3_CH1の設定です。TIM3_CH1へのカウンタクロックを10kHzに設定して<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">サイクルを自動リロードレジスタARR_TIM3で設定</span></strong>しています。ARR_TIM3が10000の場合はPWMモード時の周期は1秒です。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p> カウント中に自動リロードレジスタARR値を任意に変更したい場合は<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">カウンタモードをダウンカウンタに設定</span></strong>しておきます。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">カウンタモードはPWMモード1か2に指定</span></strong>します。PWMモードの<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">キャプチャコンペアレジスタCCRはメンバTIM_Pulseに設定</span></strong>します。この値でパルス幅を調整できます。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>タイマTIM3_CH1のサイクル更新毎に発生する<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">更新イベント割り込みTIM_IT_Update</span></strong>とPWMのキャプチャコンペア時に発生する<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">キャプチャコンペア割り込みTIM_CC1を有効</span></strong>にしてからカウンタを開始します。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/10/tim3-setting.png"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/tim3-setting.png" alt="" class="wp-image-6767" width="662" height="342" srcset="https://depfields.com/wp-content/uploads/2020/10/tim3-setting.png 662w, https://depfields.com/wp-content/uploads/2020/10/tim3-setting-300x155.png 300w" sizes="(max-width: 662px) 100vw, 662px" /></a><figcaption> TIM3設定 </figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p> 次にTIM4_CH1の設定です。圧電スピーカーで発生する音源パルスを設定します。このタイマもPWMモードを指定します。メンバTIM_Periodeの<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">自動リロードレジスタ(ARR)でパルス周期</span></strong>を、 圧電スピーカーの場合はARRに音源に対応した周波数になるように設定します。メンバTIM_Pulseの<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">キャプチャコンペアレジスタ(CCR)で パルス幅</span></strong>を設定します。これは通常ON/OFF比率50%のduty比でよいのではないでしょうか。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>PWMモードで2.5kHzのパルス（duty比50％）が出力する設定になっています。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">発振回路を内蔵している圧電ブザーには</span></strong>TIM4のパルス設定は必要はないので、PWMモードキャプチャコンペアレジスタで<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">パルス幅（duty比）を大きめに設定</span></strong>しておく方が本来の音に近づきます。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/10/tim4-setting.png"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/tim4-setting.png" alt="" class="wp-image-6773" width="659" height="213" srcset="https://depfields.com/wp-content/uploads/2020/10/tim4-setting.png 661w, https://depfields.com/wp-content/uploads/2020/10/tim4-setting-300x97.png 300w" sizes="(max-width: 659px) 100vw, 659px" /></a><figcaption>TIM4設定</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>最後に割り込みの設定です。TIM3_CH1のPWM出力<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">キャプチャコンペア割り込み</span></strong> でTIM4_CH1をPWMモードでカウントを開始させます。 TIM3_CH1の カウントサイクル毎に発生する<strong>更新イベント割り込み</strong>でTIM4 _CH1を強制的に出力ゼロにしています。ここでは適当なファームウェア関数の代わりに<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">レジスタを直接操作</span></strong>しています。 </p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/10/interrupt.png"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/interrupt.png" alt="" class="wp-image-6766" width="662" height="265" srcset="https://depfields.com/wp-content/uploads/2020/10/interrupt.png 662w, https://depfields.com/wp-content/uploads/2020/10/interrupt-300x120.png 300w" sizes="(max-width: 662px) 100vw, 662px" /></a><figcaption>割り込み処理</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>設定したTIM3とTIM4で発生するパルスは下記のようになります。TIM3のパルスに同期してTIM4が発生しています。今回のアプリ例ではTIM3のパルスは固定ですが、動作中に間隔(ARR)やパルス幅 (CCR) を変更するものに発展させてみてください。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/buzzer-output-pulse.jpg" alt="" class="wp-image-6739" width="462" height="347" srcset="https://depfields.com/wp-content/uploads/2020/10/buzzer-output-pulse.jpg 640w, https://depfields.com/wp-content/uploads/2020/10/buzzer-output-pulse-300x225.jpg 300w" sizes="(max-width: 462px) 100vw, 462px" /><figcaption>タイマTIM3とタイマTIM4の発生パルス</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>実際の圧電ブザー音です。TIM4のPWM出力によるduty比が50%ではすこしかすれた感じの音なので90%程度に設定したら本来の音に近づきました。</p>
</div></div></div>



<!--[if lt IE 9]><script>document.createElement('audio');</script><![endif]-->
<audio class="wp-audio-shortcode" id="audio-6722-1" preload="none" style="width: 100%;" controls="controls"><source type="audio/mpeg" src="https://depfields.com/wp-content/uploads/2020/10/buzzer-sound.mp3?_=1" /><a href="https://depfields.com/wp-content/uploads/2020/10/buzzer-sound.mp3">https://depfields.com/wp-content/uploads/2020/10/buzzer-sound.mp3</a></audio>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-margin-top"><div class="vk_block-margin-md--margin-top"></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img decoding="async" class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://depfields.com/wp-content/uploads/2020/05/instructor.jpg" alt=""/><figcaption class="vk_balloon_icon_name">めかのとろ</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content  "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>発振回路の内蔵していない<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">圧電スピーカーの場合は TIM4によるパルス周波数を変えると音色が変わります</span></strong>ので、TIM3のPWMによりパルス幅を調整して音長を変えたものと組み合わせるといろいろと面白いとおもいます。  </p>
</div></div></div>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-height"><div class="vk_block-margin-md--height"></div></div>



<div style="background: #00ccff; padding: 5px 10px; color: #ffffff; border-radius: 10px 10px 0 0;"><strong>コラム</strong></div>
<div style="background: #ffffea; padding: 10px; border: 2px solid #00ccff; border-radius: 0 0 10px 10px;">
<p><strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">オシロスコープの必然性について： <br></span></strong>今回のアプリのようにパルスを扱う場合は特に、想定したとおりに動作をしているかどうかの確認のためにも<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">オシロスコープで確認することが必要</span></strong>です。オシロスコープで実際の波形を確認して初めてプログラムの不具合や改善点などがわかります。今どきのオシロスコープはかつてのような高額なものでなく、扱う周波数帯などの性能にもよりますが一般の人でも取得可能な価格で販売されていますので、<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">テスターとともに保有しておいてほしい計測機器</span></strong>です。</p>
</div>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-height"><div class="vk_block-margin-md--height"></div></div>



<div style="background: #00ccff; padding: 5px 10px; color: #ffffff; border-radius: 10px 10px 0 0;"><strong>コラム</strong></div>
<div style="background: #ffffea; padding: 10px; border: 2px solid #00ccff; border-radius: 0 0 10px 10px;">
<p><strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">レジスタ操作について</span>： <br /><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">SPL（Standard Periferal Library)</span></strong>で使用できるファームウェア関数が存在すればそれを使えばよいのですが、ちょっとした操作をしたいのに適当な関数がない場合もあります。そんな時はレジスタを直接操作すればよいのですが、SPLの場合は<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">比較的シンプルなファームウェア関数</span></strong>ですので、関数内の<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">レジスタ操作が理解しやすく比較的簡単に応用しやすい</span></strong>です。そういった意味でも<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">マイコンの勉強にはSPLは向いている</span></strong>と思います。</p>
</div>



<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-height"><div class="vk_block-margin-md--height"></div></div>



<div class='w3eden'><!-- WPDM Link Template: Default Template -->

<div class="link-template-default card mb-2">
    <div class="card-body">
        <div class="media">
            <div class="mr-3 img-48"><img class="wpdm_icon" alt="アイコン"   src="https://depfields.com/wp-content/plugins/download-manager/assets/file-type-icons/box_download.png" /></div>
            <div class="media-body">
                <h3 class="package-title"><a href='https://depfields.com/download/buzzer-apl/'>ブザーアプリ</a></h3>
                <div class="text-muted text-small"><i class="fas fa-copy"></i> 1 ファイル <i class="fas fa-hdd ml-3"></i> 4.93 KB</div>
            </div>
            <div class="ml-3">
                <a href='#unlock' class='wpdm-download-link wpdm-download-locked btn btn-primary ' data-package='6951'>ダウンロード</a>
            </div>
        </div>
    </div>
</div>

</div>


<div class="linkcard"><div class="lkc-external-wrap"><a class="lkc-link no_icon" href="https://en.depfields.com/buzzer-apl/" target="_blank" rel="external noopener"><div class="lkc-card"><div class="lkc-info"><img class="lkc-favicon" src="https://www.google.com/s2/favicons?domain=en.depfields.com" alt="" width=16 height=16 /><div class="lkc-domain">Most Powerful Bible to Become an Embedded Engineer</div></div><div class="lkc-content"><figure class="lkc-thumbnail"><img class="lkc-thumbnail-img" src="//depfields.com/wp-content/uploads/pz-linkcard/cache/190fae9f0a694703768d612654f8fba039949ccc12d77fc2a28d15c820b83a8e.jpeg" alt="" /></figure><div class="lkc-title"><div class="lkc-title-text">Let&#039;s sound a piezoelectric buzzer and speaker [STM32 Nucleo] | Most Pow...</div></div><div class="lkc-url">https://en.depfields.com/buzzer-apl/</div><div class="lkc-excerpt">Let&#039;s connect a piezoelectric buzzer and speaker to an STM32 MCU (Nucleo board) and play them. This time, I used an inexpensive piezoelectric buzzer (model: LF-MB12B06). This is an application of a peripheral timer. For details, see Timer/</div></div><div class="clear"></div></div></a></div></div><p>The post <a href="https://depfields.com/buzzer-apl/">圧電ブザー・スピーカーを鳴らしてみよう【STM32 Nucleo】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></content:encoded>
					
		
		<enclosure url="https://depfields.com/wp-content/uploads/2020/10/buzzer-sound.mp3" length="111318" type="audio/mpeg" />

			</item>
	</channel>
</rss>
