<?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>Nucleo | 即戦力モノづくり!エンジニアへの道標</title>
	<atom:link href="https://depfields.com/tag/nucleo/feed/" rel="self" type="application/rss+xml" />
	<link>https://depfields.com</link>
	<description>組み込み（マイコン）スキルを楽しんで学びながら身につけて短期間で効率よく自由自在に扱えるようになりたいと思いませんか？</description>
	<lastBuildDate>Mon, 03 Jul 2023 03:25:47 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.3</generator>

<image>
	<url>https://depfields.com/wp-content/uploads/2020/07/cropped-favicon-1-32x32.png</url>
	<title>Nucleo | 即戦力モノづくり!エンジニアへの道標</title>
	<link>https://depfields.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>STM32マイコン Nucleoボードを使った温度計</title>
		<link>https://depfields.com/thermometer-apl/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=thermometer-apl</link>
		
		<dc:creator><![CDATA[めかのとろ]]></dc:creator>
		<pubDate>Fri, 28 Aug 2020 04:07:31 +0000</pubDate>
				<category><![CDATA[計測アプリ]]></category>
		<category><![CDATA[計測]]></category>
		<category><![CDATA[AD変換]]></category>
		<category><![CDATA[Nucleo]]></category>
		<guid isPermaLink="false">https://depfields.com/?p=6153</guid>

					<description><![CDATA[<p>安価なサーミスタをセンサーの素子として使用した温度計をSTM32マイコン（Nucleoボード）で実現するアプリケーションを作ります。簡易なプログラムですがCortex-M3コアマイコンで浮動小数点演算を使ったアプリで他に [&#8230;]</p>
<p>The post <a href="https://depfields.com/thermometer-apl/">STM32マイコン Nucleoボードを使った温度計</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></description>
										<content:encoded><![CDATA[<div class="veu_autoEyeCatchBox"><img fetchpriority="high" width="640" height="372" src="https://depfields.com/wp-content/uploads/2020/09/thermometer-4294021_640.jpg" class="attachment-large size-large wp-post-image" alt="" decoding="async" srcset="https://depfields.com/wp-content/uploads/2020/09/thermometer-4294021_640.jpg 640w, https://depfields.com/wp-content/uploads/2020/09/thermometer-4294021_640-300x174.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ボード）で実現するアプリケーションを作ります。簡易なプログラムですが<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">Cortex-M3コアマイコンで浮動小数点演算を使ったアプリ</span></strong>で他にいろいろな算術演算アプリにも発展できます。</p>



<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">NTC特性</span></strong>をもったものです。 NTC特性のものは温度上昇につれ、抵抗値がゆるやかに減少するタイプですが、<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">ミスタは103AT-2</span></strong>で<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">B定数</span></strong>は<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">3435K</span></strong>,　基準温度<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">T<sub>25</sub>(25℃)</span></strong>でのサーミスタの<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">抵抗値R<sub>25</sub></span></strong>は<span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter"><strong>10kΩ</strong>で</span>す。サーミスタ抵抗値<strong>R</strong>と温度<strong>T</strong>の関係式は下記のものですが、この関係式の温度は絶対温度(K)です。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/09/v-r-formula.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/09/v-r-formula.jpg" alt="" class="wp-image-7212" width="492" height="296"/></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>温度と抵抗値は自然対数の関数となっており、グラフを対数表で表すと温度上昇につれなだらかに抵抗値が減少しているのがわかります。データシートにある抵抗値と上記の計算式による値はほぼ一致しているのが確認できます。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/09/temp-characteristic2.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/09/temp-characteristic2.jpg" alt="" class="wp-image-6171" width="568" height="432" srcset="https://depfields.com/wp-content/uploads/2020/09/temp-characteristic2.jpg 556w, https://depfields.com/wp-content/uploads/2020/09/temp-characteristic2-300x228.jpg 300w" sizes="(max-width: 568px) 100vw, 568px" /></a><figcaption>温度ー抵抗特性</figcaption></figure>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/09/temp-characteristic-table.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/09/temp-characteristic-table.jpg" alt="" class="wp-image-6159" width="291" height="546" srcset="https://depfields.com/wp-content/uploads/2020/09/temp-characteristic-table.jpg 290w, https://depfields.com/wp-content/uploads/2020/09/temp-characteristic-table-160x300.jpg 160w" sizes="(max-width: 291px) 100vw, 291px" /></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>温度をマイコンで計測するにはサーミスタの抵抗値を知る必要があります。抵抗値を知るには電圧に変換したアナログ値をマイコンで読み取り、マイコンプログラム内で抵抗値に変換します。</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> このサンプルでは上限電圧としてのマイコン電圧Vdd(3.3V)とGND間にサーミスタRと抵抗器Ro（サーミスタのR<sub>25</sub>と同じ程度の値のもの 10kΩ ）を直列に接続しています。中間の電圧Vが温度変化に応じて変化しますのでこの電圧をAD変換で読み取り、<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/09/voltage-resister.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/09/voltage-resister.jpg" alt="" class="wp-image-6232" width="491" height="283" srcset="https://depfields.com/wp-content/uploads/2020/09/voltage-resister.jpg 491w, https://depfields.com/wp-content/uploads/2020/09/voltage-resister-300x173.jpg 300w" sizes="(max-width: 491px) 100vw, 491px" /></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>サーミスタの抵抗値がわかればあとは温度に変換する式に入力して演算すればよいわけですが、この式では<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>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/09/v-r-formula2.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/09/v-r-formula2.jpg" alt="" class="wp-image-6177" width="387" height="192" srcset="https://depfields.com/wp-content/uploads/2020/09/v-r-formula2.jpg 387w, https://depfields.com/wp-content/uploads/2020/09/v-r-formula2-300x149.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>この演算を実現するには、まず自然対数log関数を使用するために<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">"math.h"をインクルード</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>ですので、273.15を引いて<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"><a href="https://depfields.com/wp-content/uploads/2020/09/program1.jpg"><img decoding="async" width="648" height="770" src="https://depfields.com/wp-content/uploads/2020/09/program1.png" alt="" class="wp-image-11287" srcset="https://depfields.com/wp-content/uploads/2020/09/program1.png 648w, https://depfields.com/wp-content/uploads/2020/09/program1-252x300.png 252w" sizes="(max-width: 648px) 100vw, 648px" /></a></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><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">抵抗値に相当する電圧(ADCValue_IN0)</span></strong>をAD変換で取り込むのですがこのサンプルプログラムでは連続変換に指定していますので<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">任意のタイミングで取得でき、141行で抵抗値に変換</span></strong>しています。<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">3.3V入力時にデジタル値4096</span></strong>となるようにしています。142行は表示数字桁数を設定するものです。</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>143行で<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">log関数による浮動小数点演算を実施して温度を求めています</span></strong>。144行は表示数字桁数の設定です。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/09/program2.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/09/program2.png" alt="" class="wp-image-11286" width="580" height="135" srcset="https://depfields.com/wp-content/uploads/2020/09/program2.png 632w, https://depfields.com/wp-content/uploads/2020/09/program2-300x70.png 300w" sizes="(max-width: 580px) 100vw, 580px" /></a></figure>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/09/circuit.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/09/circuit.jpg" alt="" class="wp-image-6725" width="473" height="350"/></a><figcaption>接続図</figcaption></figure>



<figure class="wp-block-image size-large"><img decoding="async" width="503" height="337" src="https://depfields.com/wp-content/uploads/2020/09/thermometer.jpg" alt="" class="wp-image-6167" srcset="https://depfields.com/wp-content/uploads/2020/09/thermometer.jpg 503w, https://depfields.com/wp-content/uploads/2020/09/thermometer-300x201.jpg 300w" sizes="(max-width: 503px) 100vw, 503px" /></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>0.5秒周期でサーミスタ抵抗値と温度を表示しています。サーミスタ温度-抵抗値特性表の値とほぼ一致していることが確認できます。指でサーミスタをつまむと温度が体温近くまで上昇するのがわかります。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/09/temp-monitor.jpg" alt="" class="wp-image-6165" width="540" height="430" srcset="https://depfields.com/wp-content/uploads/2020/09/temp-monitor.jpg 539w, https://depfields.com/wp-content/uploads/2020/09/temp-monitor-300x239.jpg 300w" sizes="(max-width: 540px) 100vw, 540px" /><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>このサンプルプログラムは簡易的なものですが、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">STM32F103RB搭載Cortex-M3コアで浮動小数点演算を使った例</span></strong>を扱いました。他に、非線形演算のSIN関数、COS関数などをつかったアプリにも応用できます。</p>
</div></div></div>



<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 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>NUCLEO-F103RBに搭載している<strong>STM32F103RB</strong>は<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">Cortex-M3コア</span></strong>マイコンで<span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b"><strong>浮動小数点を演算</strong></span>するためのハードウェアDSP(Digital Signal Processor)は搭載しておらず演算は<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">ソフトウェアによる</span></strong>ものですが、それを特別に意識しないでも実現できます。このサンプルの温度演算のような比較的低速なアプリケーションでは問題はないでしょうが、例えばFFTアナライザーなど高速演算を必要とする浮動小数点演算を行うアプリケーションの場合にはハードウェアのDSPを搭載したCortex-M4など上位マイコンが有利です。</p>
</div>



<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='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/thermometer/'>温度計アプリ</a></h3>
                <div class="text-muted text-small"><i class="fas fa-copy"></i> 1 ファイル <i class="fas fa-hdd ml-3"></i> 9.04 KB</div>
            </div>
            <div class="ml-3">
                <a href='#unlock' class='wpdm-download-link wpdm-download-locked btn btn-primary ' data-package='6169'>ダウンロード</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/thermometer-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/4accd6d9f0d97e5f853fabf7ebe071915bfe2912570f3b43216a11993be2f275.jpeg" alt="" /></figure><div class="lkc-title"><div class="lkc-title-text">Thermometer using STM32 Nucleo | Most Powerful Bible to Become an Embedded En...</div></div><div class="lkc-url">https://en.depfields.com/thermometer-apl/</div><div class="lkc-excerpt">I will create an application to realize a thermometer using an inexpensive thermistor as a sensor element with an STM32 MCU (Nucleo board). It is a simple program, but it can be developed into various other arithmetic applications using fl</div></div><div class="clear"></div></div></a></div></div><p>The post <a href="https://depfields.com/thermometer-apl/">STM32マイコン Nucleoボードを使った温度計</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>STM32 Nucleoで加速度センサを使ってみる</title>
		<link>https://depfields.com/accel-apl/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=accel-apl</link>
		
		<dc:creator><![CDATA[めかのとろ]]></dc:creator>
		<pubDate>Sat, 29 Aug 2020 04:46:33 +0000</pubDate>
				<category><![CDATA[計測アプリ]]></category>
		<category><![CDATA[USART]]></category>
		<category><![CDATA[Nucleo]]></category>
		<category><![CDATA[計測]]></category>
		<category><![CDATA[AD変換]]></category>
		<guid isPermaLink="false">https://depfields.com/?p=6708</guid>

					<description><![CDATA[<p>加速度センサとは 加速度センサというものはいろいろなセンサの中でも製品内の見えない場所で使われていることが多いので利用率が高い割にはどのようなものかを知らない人が多いかもしれません。 例えば、スマホでは内部の加速度センサ [&#8230;]</p>
<p>The post <a href="https://depfields.com/accel-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="428" src="https://depfields.com/wp-content/uploads/2020/10/rocket-launch-67643_640.jpg" class="attachment-large size-large wp-post-image" alt="" decoding="async" srcset="https://depfields.com/wp-content/uploads/2020/10/rocket-launch-67643_640.jpg 640w, https://depfields.com/wp-content/uploads/2020/10/rocket-launch-67643_640-300x201.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></div>




<h2 class="wp-block-heading">加速度センサとは</h2>



<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom"><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">加速度センサ</span></strong>というものはいろいろなセンサの中でも製品内の見えない場所で使われていることが多いので利用率が高い割にはどのようなものかを知らない人が多いかもしれません。</p>



<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom">例えば、スマホでは内部の加速度センサにかかる重力から傾きを検知して画面の向きを変えたり、振動を計測する歩数計アプリなどに使われています。</p>



<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom">今回使用する加速度センサはKinox社の3次元空間の加速度 をX,Y,Z軸で検出できるセンサ本体KXTC9-2050に50Hzのローパスフィルタ用コンデンサを装備したモジュールとなったものです。</p>



<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom">検出した加速度には<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">動き、振動、衝撃などによる加速度</span></strong>に加えて重力(G)もオフセット分(DC分）として含まれるので、X,Y,Z軸方向の重力成分が分かれば<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">センサの傾きも検出</span></strong>できます。</p>



<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom">加速度センサを利用したアプリケーションとしては<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>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/KXTC9-2050.jpg" alt="" class="wp-image-6808" width="287" height="206" srcset="https://depfields.com/wp-content/uploads/2020/10/KXTC9-2050.jpg 461w, https://depfields.com/wp-content/uploads/2020/10/KXTC9-2050-300x216.jpg 300w" sizes="(max-width: 287px) 100vw, 287px" /><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> 加速度センサKXTC9-2050 は<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">±2Gの範囲内</span></strong>で加速度を検出できます。仕様表1の出力から、例えば、X,Y軸を水平面とし、Z軸に重力方向にセンサを設置すると、X,Y出力は重力成分はゼロなので1.65V, Z軸出力は1G分を含むので2.32(=1.65+0.66)Vとなるはずです。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/10/仕様表1.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/仕様表1.jpg" alt="" class="wp-image-6823" width="599" height="333" srcset="https://depfields.com/wp-content/uploads/2020/10/仕様表1.jpg 599w, https://depfields.com/wp-content/uploads/2020/10/仕様表1-300x167.jpg 300w" sizes="(max-width: 599px) 100vw, 599px" /></a><figcaption> 仕様表1(データシートより) </figcaption></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>加速度センサは加速度を検知するものですが信号には重力加速度成分を<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">オフセット分（DC成分）</span></strong>として含んでいます。<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">重力Gは9.8[m/sec<sup>2</sup>]で地面の向きに一定にかかっている加速度</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>しています。どういうことでしょうか。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/10/重力成分.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/重力成分.jpg" alt="" class="wp-image-6829" width="388" height="226" srcset="https://depfields.com/wp-content/uploads/2020/10/重力成分.jpg 388w, https://depfields.com/wp-content/uploads/2020/10/重力成分-300x175.jpg 300w" sizes="(max-width: 388px) 100vw, 388px" /></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>加速度センサでは実際の動作から 重力加速度成分を直接検出しているのではなく、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">重力に対する垂直抗力を検出している</span></strong>のです。したがって、机上など水平面に静止させると重力加速度Gと釣り合っている垂直抗力が重力Gとして検出されます。</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>となりますので、実際の動作の加速度にオフセット分（DC分）として含まれます。例えばZ軸の実際の重力方向（マイナス方向）に自由落下させると加速度センサ出力のZ軸成分は垂直抗力による重力オフセット分がキャンセルされてゼロ、つまり1.65Vになります。</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/KXTC9-2050_dir.jpg" alt="" class="wp-image-6830" width="407" height="293" srcset="https://depfields.com/wp-content/uploads/2020/10/KXTC9-2050_dir.jpg 461w, https://depfields.com/wp-content/uploads/2020/10/KXTC9-2050_dir-300x216.jpg 300w" sizes="(max-width: 407px) 100vw, 407px" /><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>加速度センサを扱ったアプリケーションで、<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>加速度センサはアイディアしだいでさまざまな用途に発展できる面白いセンサです。今回はその前準備として加速度センサの出力がどのようなものであるかを確認するために加速度3軸分の加速度出力をモニターするアプリを作成します。</p>
</div></div></div>



<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>していきます。</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>としてSTM32の<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">AD変換</span></strong>を使用します。ペリフェラルAD変換は<strong><a href="https://depfields.com/adc/" target="_blank" aria-label=" (opens in a new tab)" rel="noreferrer noopener">ADコンバータ【STM32のADコンバータ詳細】</a></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>STM32のAD変換ではアナログ信号入力のパラメータとして、センサの<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">出力インピーダンス</span></strong>を指定する必要があります。メーカーの仕様表3(データシート)より<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">出力インピーダンスは平均32kΩ</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/仕様表2.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/仕様表2.jpg" alt="" class="wp-image-6824" width="612" height="161" srcset="https://depfields.com/wp-content/uploads/2020/10/仕様表2.jpg 612w, https://depfields.com/wp-content/uploads/2020/10/仕様表2-300x79.jpg 300w" sizes="(max-width: 612px) 100vw, 612px" /></a><figcaption> 仕様表2(データシートより) </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>加速度センサの信号をモニターするアプリにはアナログ入力3点およびPCへのシリアル通信を使用します。今回の AD変換 はアナログ信号が3点ありますので<strong><a href="https://depfields.com/dma/">DMA(Direct Memorry Access)</a></strong>と組み合わせると効率がよいです。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/10/仕様表.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/仕様表.jpg" alt="" class="wp-image-6809" width="497" height="284" srcset="https://depfields.com/wp-content/uploads/2020/10/仕様表.jpg 497w, https://depfields.com/wp-content/uploads/2020/10/仕様表-300x171.jpg 300w" sizes="(max-width: 497px) 100vw, 497px" /></a><figcaption>仕様表</figcaption></figure>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/10/配線図.jpg" alt="" class="wp-image-6818" width="517" height="361" srcset="https://depfields.com/wp-content/uploads/2020/10/配線図.jpg 517w, https://depfields.com/wp-content/uploads/2020/10/配線図-300x209.jpg 300w" sizes="(max-width: 517px) 100vw, 517px" /><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>実際のプログラムではX,Y,Z軸3点アナログ信号入力用にそれぞれポートPA0,PA1,PA4をアナログ入力AD1_CH0,AD1_CH1,AD1_CH4に設定し、AD変換を<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">複数チャネルデータをDMAによりメモリに自動転送</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>してシリアル通信で送信しています。</p>
</div></div></div>



<figure class="wp-block-image size-large"><a href="https://depfields.com/wp-content/uploads/2020/10/section1.png"><img decoding="async" width="606" height="967" src="https://depfields.com/wp-content/uploads/2020/10/section1.png" alt="" class="wp-image-6838" srcset="https://depfields.com/wp-content/uploads/2020/10/section1.png 606w, https://depfields.com/wp-content/uploads/2020/10/section1-188x300.png 188w" sizes="(max-width: 606px) 100vw, 606px" /></a></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>AD変換の初期設定では<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>



<figure class="wp-block-image size-large"><a href="https://depfields.com/wp-content/uploads/2020/10/section2.png"><img decoding="async" width="617" height="705" src="https://depfields.com/wp-content/uploads/2020/10/section2.png" alt="" class="wp-image-6839" srcset="https://depfields.com/wp-content/uploads/2020/10/section2.png 617w, https://depfields.com/wp-content/uploads/2020/10/section2-263x300.png 263w" sizes="(max-width: 617px) 100vw, 617px" /></a></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>このアプリでは1秒毎に加速度成分のX軸,Y軸,Z軸の電圧値（整数）をシリアル送信してPCターミナルでモニターしています。加速度センサーをX,Y軸平面上に静止させているので<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">Z軸に重力加速度成分がオフセット分として追加</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>静止しているため、重力の影響を受ける成分（垂直抗力分）だけ  基準値約1.65Vに対して出力に変化が現れます。</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>X軸、Y軸についても重力の影響をうける向きに傾けると出力が変化するのがわかります。</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/output-monitor.jpg" alt="" class="wp-image-6834" width="560" height="426" srcset="https://depfields.com/wp-content/uploads/2020/10/output-monitor.jpg 560w, https://depfields.com/wp-content/uploads/2020/10/output-monitor-300x228.jpg 300w" sizes="(max-width: 560px) 100vw, 560px" /><figcaption>Z軸方向の重力（電圧値：整数）</figcaption></figure>



<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/accel-gravity-apl/'>加速度センサでの重力計測</a></h3>
                <div class="text-muted text-small"><i class="fas fa-copy"></i> 1 ファイル <i class="fas fa-hdd ml-3"></i> 5.99 KB</div>
            </div>
            <div class="ml-3">
                <a href='#unlock' class='wpdm-download-link wpdm-download-locked btn btn-primary ' data-package='6954'>ダウンロード</a>
            </div>
        </div>
    </div>
</div>

</div>



<p></p>



<div class="linkcard"><div class="lkc-external-wrap"><a class="lkc-link no_icon" href="https://en.depfields.com/accel-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/e834d1c33e999e43d46d98170ccc43b30179469f963d4acb3904c239c68b8c0a.jpeg" alt="" /></figure><div class="lkc-title"><div class="lkc-title-text">Accelerometer using STM32 Nucleo | Most Powerful Bible to Become an Embedded ...</div></div><div class="lkc-url">https://en.depfields.com/accel-apl/</div><div class="lkc-excerpt">What is an Accelerometer?Among various sensors, accelerometers are often used in invisible places in products, so many people may not know what they are, despite their high utilization.For example, it is used in smartphones t</div></div><div class="clear"></div></div></a></div></div><p>The post <a href="https://depfields.com/accel-apl/">STM32 Nucleoで加速度センサを使ってみる</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<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>
		<item>
		<title>マイコン学習の初心者にArduinoでなくSTM32 Nucleoをすすめるわけ</title>
		<link>https://depfields.com/nucleo/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=nucleo</link>
		
		<dc:creator><![CDATA[めかのとろ]]></dc:creator>
		<pubDate>Wed, 06 May 2020 13:57:38 +0000</pubDate>
				<category><![CDATA[組み込みマイコンスキル全般]]></category>
		<category><![CDATA[STM32]]></category>
		<category><![CDATA[Nucleo]]></category>
		<guid isPermaLink="false">https://depfields.com/?p=5189</guid>

					<description><![CDATA[<p>現役エンジニア社長のめかのとろです。組み込みエンジニアをめざしているひとにとって、本格的に勉強を始めるためにどんなものを教材にすれば効率よく短期間で本当につかえるスキルが身につくのかを検討しておすすめでとっておきの方法を [&#8230;]</p>
<p>The post <a href="https://depfields.com/nucleo/">マイコン学習の初心者にArduinoでなくSTM32 Nucleoをすすめるわけ</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></description>
										<content:encoded><![CDATA[<div class="veu_autoEyeCatchBox"><img width="409" height="291" src="https://depfields.com/wp-content/uploads/2020/07/nureo-f103rb.jpg" class="attachment-large size-large wp-post-image" alt="" decoding="async" srcset="https://depfields.com/wp-content/uploads/2020/07/nureo-f103rb.jpg 409w, https://depfields.com/wp-content/uploads/2020/07/nureo-f103rb-300x213.jpg 300w" sizes="(max-width: 409px) 100vw, 409px" /></div>
<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom">現役エンジニア社長のめかのとろです。<br>組み込みエンジニアをめざしているひとにとって、本格的に勉強を始めるためにどんなものを教材にすれば<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">効率よく短期間で本当につかえるスキルが身につくのか</span></strong>を検討しておすすめでとっておきの方法を紹介します。</p>



<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom">ここでは電子工作において巷で大流行の<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">Arduino</span></strong>とARMのオープンソース開発環境である<span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter"><strong>Mbed</strong></span>、そして今回の紹介する<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter"><a href="https://depfields.com/board/" target="_blank" rel="noreferrer noopener" title="ARMで電子工作しながら学習するのにお勧めNucleo開発ボード">Nucleoマイコンボード</a>を使いこなすために<a href="https://depfields.com/environment/" target="_blank" rel="noreferrer noopener" title="ARMマイコンSTM32の学習におすすめの開発環境【初心者必見】"><strong>開発環境</strong>STM32CubeIDE</a>をカスタマイズしたもの</span></strong>との比較をしていきます。</p>









<h2 class="wp-block-heading">Arduinoについて</h2>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image"><img decoding="async" width="335" height="268" data-id="5222" src="https://depfields.com/wp-content/uploads/2020/08/arduino.jpg" alt="" class="wp-image-5222" srcset="https://depfields.com/wp-content/uploads/2020/08/arduino.jpg 335w, https://depfields.com/wp-content/uploads/2020/08/arduino-300x240.jpg 300w" sizes="(max-width: 335px) 100vw, 335px" /></figure>



<figure class="wp-block-image"><img decoding="async" width="370" height="285" data-id="5221" src="https://depfields.com/wp-content/uploads/2020/08/sensor-shield-2.jpg" alt="" class="wp-image-5221" srcset="https://depfields.com/wp-content/uploads/2020/08/sensor-shield-2.jpg 370w, https://depfields.com/wp-content/uploads/2020/08/sensor-shield-2-300x231.jpg 300w" sizes="(max-width: 370px) 100vw, 370px" /><figcaption class="wp-element-caption">Arduino センサーシールド</figcaption></figure>



<figure class="wp-block-image"><img decoding="async" width="417" height="341" data-id="5208" src="https://depfields.com/wp-content/uploads/2020/08/arduino-board.jpg" alt="" class="wp-image-5208" srcset="https://depfields.com/wp-content/uploads/2020/08/arduino-board.jpg 417w, https://depfields.com/wp-content/uploads/2020/08/arduino-board-300x245.jpg 300w" sizes="(max-width: 417px) 100vw, 417px" /><figcaption class="wp-element-caption">Arduino</figcaption></figure>
</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>Arduinoの詳細に関しましては割愛しますが、いわずと知れた電子工作では巷で大流行のマイコン搭載システムです。ホビー向け用途の電子工作に最適でインターネット、書籍などの情報も豊富ですので初心者にとっては<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>利点は、工学の専門的な知識がなくても気軽にマイコンを使ったプログラミングで電子工作ができることです。レゴ®社のMindstorms®といったプログラミング商材がありますが、ちょっと遊び心があるところなど基本的なコンセプトは類似しています。プログラミングはC言語に似た専用のArduino言語によります。</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>似たような商材にRaspberry Piシリーズがありますが、これは電子工作用というよりOSも搭載した通信機能の充実したむしろ小型のPCであるためここでは取り上げません。</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>Arduinoでは<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">マイコンとハードウェアのインターフェース部分は隠蔽されてカプセル化されている</span></strong>ため、ユーザーはハードウェアをあまり意識しなくてもシステムができてしまいます。つまり、レゴMindstormsのように<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>させていく感じです。視覚的なブロック等を組み合わせて小学生でもプログラミングできるのに対して、Arduinoは専用のプログラミング言語を使うところが違いますが、基本的に同じようなものです。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-right 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>Arduinoは気軽にホビー感覚で始めるのに向いていてセンサーなどの周辺機器や情報が充実しているため、ちょっとしたアイディアで工作するには最適です。ただ、マイコンの仕様を知らなくてもプログラミングができてしまう反面、<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-right 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>Arduinoでいろいろなアプリを作成できるようになっても、それが<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">自分で根本から作り上げたものでないかぎり、組み込みというものをわかったことにはならないし、実践では使えません</span></strong>。<br>例えば、シリアル通信一つとっても、Aruduinoはできあいの関数一つで簡単にPCと通信できてしまいます。つまり、<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-right 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">Arduinoはホビー用途の電子工作向け</span></strong>で組み込みエンジニアを目指すひとがArduinoを使えるようになっても<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">Mbedについて</h2>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image"><img decoding="async" width="181" height="176" data-id="5223" src="https://depfields.com/wp-content/uploads/2020/08/mbed-logo.jpg" alt="" class="wp-image-5223"/></figure>



<figure class="wp-block-image"><img decoding="async" width="370" height="285" data-id="5221" src="https://depfields.com/wp-content/uploads/2020/08/sensor-shield-2.jpg" alt="" class="wp-image-5221" srcset="https://depfields.com/wp-content/uploads/2020/08/sensor-shield-2.jpg 370w, https://depfields.com/wp-content/uploads/2020/08/sensor-shield-2-300x231.jpg 300w" sizes="(max-width: 370px) 100vw, 370px" /><figcaption class="wp-element-caption">Arduino センサシールド</figcaption></figure>



<figure class="wp-block-image"><img decoding="async" width="409" height="291" data-id="5045" src="https://depfields.com/wp-content/uploads/2020/07/nureo-f103rb.jpg" alt="" class="wp-image-5045" srcset="https://depfields.com/wp-content/uploads/2020/07/nureo-f103rb.jpg 409w, https://depfields.com/wp-content/uploads/2020/07/nureo-f103rb-300x213.jpg 300w" sizes="(max-width: 409px) 100vw, 409px" /><figcaption class="wp-element-caption">Nucleo Mbed対応ボード</figcaption></figure>
</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>最近よく「<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">Mbedではじめる電子工作入門</span></strong>」の類をよく目にするのですが、MbedはARM社がメーカーの垣根をこえたオープンな開発環境を提唱しているものであって、ARMマイコンに慣れたプロの開発者、企画者に適していて、電子工作用途ではArduinoでは物足らず<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ARMマイコンでとくにIoTアプリを手掛けたい人</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">Mbedはさまざまな種類のマイコン開発の試作などを容易で有利にすすめるプロ向け</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>このシステムの開発環境はクラウド上にあるため、どの端末からもUSBケーブルがあれば転送までできるのが特徴です。ARMマイコンをメーカーの垣根を超えて汎用的に使用できるのが最大の特徴ですが、そのためにも<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">Arduinoのようにハードウェア部分のインターフェースは抽象的なものに隠蔽されていて</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/08/cloud.jpg" alt="" class="wp-image-5210" width="404" height="214" srcset="https://depfields.com/wp-content/uploads/2020/08/cloud.jpg 472w, https://depfields.com/wp-content/uploads/2020/08/cloud-300x159.jpg 300w" sizes="(max-width: 404px) 100vw, 404px" /><figcaption class="wp-element-caption">Mbedのクラウド環境開発とIoT</figcaption></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-right 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>Mbedシステムはハードウェアの知識とマイコン開発の経験があるプロフェッショナルのエンジニアが開発期間短縮などで使用するのには強力なツールであると思います。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-right 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>各マイコンの仕様を新規開発の度に確認しながらものにするのにかかる時間をメーカーの垣根をこえたMbedシステムで開発期間を短縮させて肝心のアプリプログラミングに集中できるのは評価できます。しかし、Arduinoと同じく、簡単に開発ができる反面もあります。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-right 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>初心者に限った話ではありますがいきなり高性能のARMマイコンのハードウェア部分を抽象化した環境で開発するのですから、ホビーの電子工作に限っては使い勝手はよいと思いますが、組み込みエンジニアを目指す人がいきなりこの環境になれてしまうのは問題があって、そのうち壁にぶちあたりままならなくなるのは明らかです。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-right 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>



<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><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ハードウェアとマイコンとのインターフェース部分を抽象化して意識しないでもプログラミングできるMbedは組み込みマイコン学習には向いていません</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>大手メーカーなどで専門分野ごとに分業するなら中身を知らなくても成り立つかもしれませんが、副業やフリーランスなど独立して仕事をする場合はなおさらです。モノづくりをするのにハードウェアを知らずしてソフトウェアのプログラミングだけで実現しようとすることはありえない話で、初心者がいきなり利便性だけでMbedを採用するとそこを勘違いするのではという懸念があります。</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>もう一つ、Mbedを使うには対応した専用のボードが必要です。<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">裸のARMマイコンには使用できなく</span></strong>、どこまでいっても<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">Mbed専用ボードでシステムの評価に使用するのが条件</span></strong>です。</p>
</div></div></div>



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



<h2 class="wp-block-heading">当サイトで提唱するマイコン開発環境STM32CubeIDE with SPL</h2>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-5 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image"><img decoding="async" width="300" height="285" data-id="5224" src="https://depfields.com/wp-content/uploads/2020/08/nucleo.jpg" alt="" class="wp-image-5224"/></figure>



<figure class="wp-block-image"><img decoding="async" width="370" height="285" data-id="5221" src="https://depfields.com/wp-content/uploads/2020/08/sensor-shield-2.jpg" alt="" class="wp-image-5221" srcset="https://depfields.com/wp-content/uploads/2020/08/sensor-shield-2.jpg 370w, https://depfields.com/wp-content/uploads/2020/08/sensor-shield-2-300x231.jpg 300w" sizes="(max-width: 370px) 100vw, 370px" /><figcaption class="wp-element-caption">Arduinoセンサシールド</figcaption></figure>



<figure class="wp-block-image"><img decoding="async" width="409" height="291" data-id="5045" src="https://depfields.com/wp-content/uploads/2020/07/nureo-f103rb.jpg" alt="" class="wp-image-5045" srcset="https://depfields.com/wp-content/uploads/2020/07/nureo-f103rb.jpg 409w, https://depfields.com/wp-content/uploads/2020/07/nureo-f103rb-300x213.jpg 300w" sizes="(max-width: 409px) 100vw, 409px" /><figcaption class="wp-element-caption">Nucleo-F103RB</figcaption></figure>
</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>マイコンを使った組み込みの勉強を電子工作から始めたいけれど<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">Arduinoでは実用的とはいえない</span></strong>し、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">Mbedは抽象的すぎて敷居が高い</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">総合開発環境STM32CubeIDEにSPLを組み込んだものです。SPL</span></strong>は<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">Standard Peripheral Library</span></strong>と呼ばれる、STM32マイコンを使うのに使用する<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">HALライブラリ</span></strong>に対するものです。<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">SPL</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>ので初心者でもマイコンが扱えるのです。この<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">SPL</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>これに対して、現在メーカーが推奨しているHALライブラリはSPLに似ていますが、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">かなり抽象化されている</span></strong>ため冗長な部分があってちょっと中身を調べようとするとわかりにくいです。ただし、SPLを使った学習である程度STM32マイコンに慣れてしまったあとでは、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">基本的に類似しているHALを扱うのは容易</span></strong>です。いきなり抽象的なものから学習するのではなく地に足のついた<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">SPLで基礎を固めてから次に進むほうが後々つぶしが効く</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">HALはある程度基礎のあるベテランは積極的に採用すべきもの</span></strong>だと考えます。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/08/recommend-system.jpg" alt="" class="wp-image-5213" width="543" height="573" srcset="https://depfields.com/wp-content/uploads/2020/08/recommend-system.jpg 504w, https://depfields.com/wp-content/uploads/2020/08/recommend-system-285x300.jpg 285w" sizes="(max-width: 543px) 100vw, 543px" /></figure>



<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom"><strong>このマイコンと開発環境を使うメリット</strong></p>



<ol>
<li><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ARMコアSTM32マイコンの勉強が簡単に始められる</span></strong>。</li>



<li>教材ボードとして使うNucleo-F103RBは<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">安価で容易に取得</span></strong>できる。</li>



<li>Nucleoボードは<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter"><a href="https://depfields.com/implement/" target="_blank" rel="noreferrer noopener" title="マイコンプログラム実装【ST-LINKを使ったプログラム転送】">プログラム転送用ツールのST-LINK</a>が含まれている</span></strong>のでUSBケーブルとPCがあれば使用できる。</li>



<li>教材に使用するボードは<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">Arduinoと互換性がある</span></strong>のでArduino用の資産が使えて電子工作でいろいろ発展させやすい。</li>



<li><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">当サイトの学習用STM32CubeIDE with SPLにはOSとして<a href="https://depfields.com/freertos/" target="_blank" rel="noreferrer noopener" title="FreeRTOS【STM32学習向け】">FreeRTOS</a>も搭載</span></strong>していますので、かなり高度なアプリケーションの開発もできます。</li>



<li>マイコン開発環境は<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">学習用にシンプルな構成</span></strong>としているので、簡単に構築でき、すぐに学習を始められる。</li>
</ol>



<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom"><strong>デリット</strong></p>



<ul>
<li>現在では日本語対応が完全ではない。他の環境で作成したアプリを使うと文字化けしてしまう。そのうち解決できると期待。</li>



<li>今のところ、STM32F1シリーズにしか対応していない。ただし、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">学習用ではこれで十分</span></strong>で、ある程度慣れたあとではSPLでもCortex-M4コアのF4シリーズに移植したり、さらにはHALドライバへ発展させることが<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">容易にできる</span></strong>ので心配はいらない。</li>
</ul>



<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-button"><a class="wp-block-button__link has-white-color has-vivid-red-background-color has-text-color has-background wp-element-button" href="https://depfields.com/environment/"><span style="color:#ffffff" class="tadv-color"><strong>当サイトで提唱する開発環境STM32CubeIDE with SPLの構成方法はこちら</strong></span></a></div>



<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-button"><a class="wp-block-button__link has-white-color has-vivid-red-background-color has-text-color has-background wp-element-button" href="https://depfields.com/board"><span style="color:#ffffff" class="tadv-color"><strong>教材ボードNucleo-F103RBについてはこちら</strong></span></a></div>



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



<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>Arduino、Mbedでの開発環境に共通したものは<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>これはIoTが普及するようになり、アプリケーションに<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>。<br>従来のものにマイコンが付加され、最近ではそれにさらにIoTが付加されただけであって<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>むしろ、ソフトウェア（プログラミング）の部分は将来的にAIにとって代わられるかもしれません。</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>は今に始まったことではなくマイコン開発業界に限られず、いまではPC、スマホ、自動車等を使用するにあたっては中身を知らなくても簡単に扱えます。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/05/testing-circuit-1468062_1920-1024x685.jpg" alt="" class="wp-image-441" width="402" height="269" srcset="https://depfields.com/wp-content/uploads/2020/05/testing-circuit-1468062_1920-1024x685.jpg 1024w, https://depfields.com/wp-content/uploads/2020/05/testing-circuit-1468062_1920-300x201.jpg 300w, https://depfields.com/wp-content/uploads/2020/05/testing-circuit-1468062_1920-768x514.jpg 768w, https://depfields.com/wp-content/uploads/2020/05/testing-circuit-1468062_1920-1536x1028.jpg 1536w, https://depfields.com/wp-content/uploads/2020/05/testing-circuit-1468062_1920.jpg 780w" sizes="(max-width: 402px) 100vw, 402px" /></figure>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-right 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-right 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">Arduino</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">Mbed</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>かArduinoと同じく<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-right 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-right 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 style="display: inline-block; background: #191970; padding: 5px 10px; color: #ffffff; border-radius: 5px 5px 0px 0px;"><strong>ポイント</strong></div>
<div style="background: #ffffea; border-radius: 0px 10px 10px 10px; padding: 10px; border: 3px solid #191970;">
<p>電子工作で大人気のArduinoを筆頭にさまざまなマイコンの開発環境の中でも、当サイトでは学習に最適な<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">Nucleoボードを使用した開発システム</span></strong>の紹介をしています。<br><br>■　<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">STM32CubeIDE with SPL + FreeRTOS</span></strong>)<br>■　<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">電子工作などアプリケーションを作成するのに多くのツール（Arduinoと互換）、情報が多い</span></strong>こと<br>■　<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">ハードウェアとマイコン間のインターフェースを意識しながら学習する</span></strong>こと（最重要）<br>■　ArduinoやMbedシステムに比べて<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">汎用性が高いのでより実践力がつく</span></strong>こと<br><br>マイコンを使った組み込みを開始する上で、電子工作に徹したホビー用途だけなのか、マイコンをつかった組み込み製品の設計、開発もしたいのかにより扱うマイコン開発環境の選択肢もちがいます。将来性を考慮すると<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>
<p>&nbsp;</p>



<p><br /><div class="linkcard"><div class="lkc-external-wrap"><a class="lkc-link no_icon" href="https://en.depfields.com/nucleo/" 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/b00ea3bdaa95d95a98fdaf00c170d8b9ca465a201c7b9196ac3d7988d7fb8149.jpeg" alt="" /></figure><div class="lkc-title"><div class="lkc-title-text">Why recommend STM32 Nucleo instead of Arduino for beginners in microcontrolle...</div></div><div class="lkc-url">https://en.depfields.com/nucleo/</div><div class="lkc-excerpt">For those who are aiming to become embedded engineers, I will introduce the recommended and best way to start learning in earnest, considering what kind of educational materials will help you acquire truly useful skills efficiently and in</div></div><div class="clear"></div></div></a></div></div></p><p>The post <a href="https://depfields.com/nucleo/">マイコン学習の初心者にArduinoでなくSTM32 Nucleoをすすめるわけ</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>LEDをマイコンでPWM調光する【STM32 Nucleo】</title>
		<link>https://depfields.com/led-dimming/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=led-dimming</link>
		
		<dc:creator><![CDATA[めかのとろ]]></dc:creator>
		<pubDate>Sun, 14 Jun 2020 00:20:21 +0000</pubDate>
				<category><![CDATA[タイマを使ったアプリ]]></category>
		<category><![CDATA[タイマ]]></category>
		<category><![CDATA[Nucleo]]></category>
		<guid isPermaLink="false">https://depfields.com/?p=5373</guid>

					<description><![CDATA[<p>マイコンのデジタル出力を使ってLEDを調光するにはどうすればいいのでしょうか。調光するというあたかもアナログ的に明るさを連続でコントロールするのにマイコンのデジタル出力を使って行う手品のような種あかしを解説していきます。 [&#8230;]</p>
<p>The post <a href="https://depfields.com/led-dimming/">LEDをマイコンでPWM調光する【STM32 Nucleo】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></description>
										<content:encoded><![CDATA[<div class="veu_autoEyeCatchBox"><img width="400" height="303" src="https://depfields.com/wp-content/uploads/2020/08/LED-dimming-1.jpg" class="attachment-large size-large wp-post-image" alt="" decoding="async" srcset="https://depfields.com/wp-content/uploads/2020/08/LED-dimming-1.jpg 400w, https://depfields.com/wp-content/uploads/2020/08/LED-dimming-1-300x227.jpg 300w" sizes="(max-width: 400px) 100vw, 400px" /></div>
<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom">マイコンのデジタル出力を使ってLEDを調光するにはどうすればいいのでしょうか。調光するというあたかもアナログ的に明るさを連続でコントロールするのにマイコンのデジタル出力を使って行う手品のような種あかしを解説していきます。</p>





<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>タイマの応用アプリケーションとしてLED点灯をPMW出力をつかった調光をおこなってみましょう。通常LEDの発光はマイコン出力のON/OFFを切り替えるだけで点灯・消灯ができる<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>マイコンのデジタル出力を使って、LEDを調光するにはどうすればいいのでしょうか。調光するというあたかもアナログ的に明るさを連続でコントロールするのにデジタル出力を使って行うのは手品みたいなものですがマイコンを使うと簡単にできてしまうのです。それでは種明かしをしていきましょう。</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>通常、LED点灯はマイコン出力をONすると回路がつながり点灯します。LEDを使った製品で明るさを調整して節電したり、センサに内蔵したLEDなどでは光強度を調整する機能をもたせたりするために<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-full is-resized"><a href="https://depfields.com/wp-content/uploads/2020/06/tim-dimming1.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/06/tim-dimming1.jpg" alt="" class="wp-image-13307" width="459" height="294" srcset="https://depfields.com/wp-content/uploads/2020/06/tim-dimming1.jpg 514w, https://depfields.com/wp-content/uploads/2020/06/tim-dimming1-300x193.jpg 300w" sizes="(max-width: 459px) 100vw, 459px" /></a></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>LEDへの出力がパルスでも100Hz程度では<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">パルスのON/OFF期間の比率（duty比）を変えることで明るさの強度を調整することができる</span></strong>ことと、OFFになる時間を調整することで<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出力</span></strong>については解説しました。<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">LEDの調光はこのPWMを応用したもの</span></strong>です。このアプリケーション例では<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">100Hzの出力パルスのON/OFF期間を調整してLEDの明るさを調整</span></strong>しています。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/08/tim-dimming2.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/08/tim-dimming2.jpg" alt="" class="wp-image-5377" width="590" height="306" srcset="https://depfields.com/wp-content/uploads/2020/08/tim-dimming2.jpg 590w, https://depfields.com/wp-content/uploads/2020/08/tim-dimming2-300x156.jpg 300w" sizes="(max-width: 590px) 100vw, 590px" /></a></figure>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/08/led-dimming.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/08/led-dimming.jpg" alt="" class="wp-image-5804" width="373" height="313" srcset="https://depfields.com/wp-content/uploads/2020/08/led-dimming.jpg 373w, https://depfields.com/wp-content/uploads/2020/08/led-dimming-300x252.jpg 300w" sizes="(max-width: 373px) 100vw, 373px" /></a><figcaption>LED調光接続回路</figcaption></figure>



<figure class="wp-block-image size-large is-resized"><a href="https://depfields.com/wp-content/uploads/2020/08/tim-dimming-pwmsetting.jpg"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/08/tim-dimming-pwmsetting.jpg" alt="" class="wp-image-5379" width="746" height="276" srcset="https://depfields.com/wp-content/uploads/2020/08/tim-dimming-pwmsetting.jpg 746w, https://depfields.com/wp-content/uploads/2020/08/tim-dimming-pwmsetting-300x111.jpg 300w" sizes="(max-width: 746px) 100vw, 746px" /></a></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>このアプリ例ではRTOSを利用して1500msごとにLEDをON/OFFするタスクと10msごとにPWMのduty比をセットするタスクを実行しています。</p>
</div></div></div>



<figure class="wp-block-image size-full is-resized"><a href="https://depfields.com/wp-content/uploads/2020/08/pwm-duty-setting.png"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/08/pwm-duty-setting.png" alt="" class="wp-image-5660" width="597" height="552" srcset="https://depfields.com/wp-content/uploads/2020/08/pwm-duty-setting.png 597w, https://depfields.com/wp-content/uploads/2020/08/pwm-duty-setting-300x277.png 300w" sizes="(max-width: 597px) 100vw, 597px" /></a></figure>



<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-media-text is-stacked-on-mobile" style="grid-template-columns:76% auto"><figure class="wp-block-media-text__media"><video controls src="https://depfields.com/wp-content/uploads/2022/02/LED-dimming.mp4"></video></figure><div class="wp-block-media-text__content">
<p class="has-large-font-size"></p>
</div></div>



<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 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">PWMのduty値を変えるとLEDを調光できます</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>を入力に追加して得られたアナログ値に比例してduty値を変化させると<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">ボリュームで調光</span></strong>できるようになります。<span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b"><strong>シリアル通信</strong></span>により外部から与えた数値にduty値を対応させると<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-margin-top"><div class="vk_block-margin-md--margin-top"></div></div>



<p><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">STM32タイマのPWM</span></strong>に関しましては<strong><a href="https://depfields.com/timer" target="_blank" aria-label=" (opens in a new tab)" rel="noreferrer noopener">タイマ・カウンタ【STM32の高機能・汎用タイマ詳細】</a></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>で解説しています。</p>



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



<p>1.5s毎に点滅を繰り返すタイプ<br><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/led-dimming/'>LEDの調光</a></h3>
                <div class="text-muted text-small"><i class="fas fa-copy"></i> 1 ファイル <i class="fas fa-hdd ml-3"></i> 3.83 KB</div>
            </div>
            <div class="ml-3">
                <a href='#unlock' class='wpdm-download-link wpdm-download-locked btn btn-primary ' data-package='5384'>ダウンロード</a>
            </div>
        </div>
    </div>
</div>

</div></p>



<p> ユーザーSWを押した時だけ点灯するタイプ <br><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/led-dimming2/'>LEDの調光その２</a></h3>
                <div class="text-muted text-small"><i class="fas fa-copy"></i> 1 ファイル <i class="fas fa-hdd ml-3"></i> 4.15 KB</div>
            </div>
            <div class="ml-3">
                <a href='#unlock' class='wpdm-download-link wpdm-download-locked btn btn-primary ' data-package='5806'>ダウンロード</a>
            </div>
        </div>
    </div>
</div>

</div></p>



<div class="linkcard"><div class="lkc-external-wrap"><a class="lkc-link no_icon" href="https://en.depfields.com/led-dimming/" 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/48cb6c1c6386d7786a8688d1e0b00d7aefa2262981580b1e634426553ff59608.jpeg" alt="" /></figure><div class="lkc-title"><div class="lkc-title-text">PWM dimming of LEDs with MCU [STM32 Nucleo] | Most Powerful Bible to Become a...</div></div><div class="lkc-url">https://en.depfields.com/led-dimming/</div><div class="lkc-excerpt">How can we use the digital output of MCU to dim LEDs? I will explain the magic trick of using the digital output of MCU to control the brightness continuously in an analog manner, as if dimming were a magic trick.As an application of</div></div><div class="clear"></div></div></a></div></div><p>The post <a href="https://depfields.com/led-dimming/">LEDをマイコンでPWM調光する【STM32 Nucleo】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></content:encoded>
					
		
		<enclosure url="https://depfields.com/wp-content/uploads/2022/02/LED-dimming.mp4" length="11507777" type="video/mp4" />

			</item>
		<item>
		<title>Lチカで始めるSTM32 Nucleoマイコン【組み込みの登竜門】</title>
		<link>https://depfields.com/gpio-led-toggle-apl/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=gpio-led-toggle-apl</link>
		
		<dc:creator><![CDATA[めかのとろ]]></dc:creator>
		<pubDate>Fri, 12 Jun 2020 05:22:50 +0000</pubDate>
				<category><![CDATA[汎用入出力を使ったアプリ]]></category>
		<category><![CDATA[GPIO]]></category>
		<category><![CDATA[Nucleo]]></category>
		<guid isPermaLink="false">https://depfields.com/?page_id=3156</guid>

					<description><![CDATA[<p>STM32のペリフェラルGPIOを設定して出力のLEDを点滅させることは実施している動作自体は単純ですが使用するマイコンの初期設定からビルド、そしてマイコンまでの転送まで一連の手順が成功したことを意味しています。まずは手 [&#8230;]</p>
<p>The post <a href="https://depfields.com/gpio-led-toggle-apl/">Lチカで始めるSTM32 Nucleoマイコン【組み込みの登竜門】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></description>
										<content:encoded><![CDATA[<div class="veu_autoEyeCatchBox"><img width="600" height="450" src="https://depfields.com/wp-content/uploads/2020/06/d11467-3-385946-0.jpg" class="attachment-large size-large wp-post-image" alt="" decoding="async" srcset="https://depfields.com/wp-content/uploads/2020/06/d11467-3-385946-0.jpg 600w, https://depfields.com/wp-content/uploads/2020/06/d11467-3-385946-0-300x225.jpg 300w" sizes="(max-width: 600px) 100vw, 600px" /></div>
<p class="vk_block-margin-sm--margin-top vk_block-margin-sm--margin-bottom"><strong><a href="https://depfields.com/gpio/" target="_blank" rel="noreferrer noopener">STM32のペリフェラルGPIO</a></strong>を設定して出力のLEDを点滅させることは実施している動作自体は単純ですが使用するマイコンの初期設定からビルド、そしてマイコンまでの転送まで一連の手順が成功したことを意味しています。まずは手順にしたがって点滅まで到達してください。</p>



<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>マイコンのプログラムで最も初歩的なプログラムといえば出力に接続したLEDを任意に点灯、消灯させるいわゆる<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">Lチカプログラム</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>実施している動作自体は単純なものですが、出力のLEDをコントロールすることは、使用しているマイコンの<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>開発全体から見ると小さな一歩ですが、マイコンを操作するひと、特に初心者にとってははじめの大きな関門を突破したことになります。組み込み技術の登竜門的なアプリケーションです。</p>
</div></div></div>



<h2 class="wp-block-heading">Lチカの回路</h2>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/06/gpio_NUCLEO.jpg" alt="" class="wp-image-5313" width="345" height="283" srcset="https://depfields.com/wp-content/uploads/2020/06/gpio_NUCLEO.jpg 363w, https://depfields.com/wp-content/uploads/2020/06/gpio_NUCLEO-300x245.jpg 300w" sizes="(max-width: 345px) 100vw, 345px" /><figcaption class="wp-element-caption">押ボタンスイッチとLED</figcaption></figure>



<div style="background: #ffffea; padding: 8px 19px; margin: 2em 0; border-top: solid 10px #00ccff; solid 5px #1a66ff; box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.33); word-break: break-all;">
<p><strong>設定仕様：</strong><br><strong>入力</strong>：<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">PC13</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>&nbsp;押しボタンスイッチ<br><strong>出力</strong>：<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">PA5</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>+500Ω+LED</p>
</div>
<p>&nbsp;</p>



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



<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/gpio/'>初歩Lチカプログラム</a></h3>
                <div class="text-muted text-small"><i class="fas fa-copy"></i> 1 ファイル <i class="fas fa-hdd ml-3"></i> 1.94 KB</div>
            </div>
            <div class="ml-3">
                <a href='#unlock' class='wpdm-download-link wpdm-download-locked btn btn-primary ' data-package='3194'>ダウンロード</a>
            </div>
        </div>
    </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>アプリgpio.cは入力としての<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">押しボタンSWを押したときだけ出力LEDが点灯</span></strong>するプログラムです。単純なものですが、これには<strong>マイコンを操作するための最小限の要素が含まれています</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>GPIOをアプリケーションで使うにあたって、必須なものは<strong>①<span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">指定したGPIO入力ポートのピン状態を読み込むこと</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>



<p><span style="background-color: #003300; color: #ffffff;">&nbsp; ① 指定したGPIOポートのピン状態の読み込み&nbsp;</span></p>



<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">GPIO_ReadInputDataBit関数</span></strong>を使用します。</p>
</div></div></div>



<p>関数プロトタイプ：<br>uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)</p>



<p>設定例：if((!GPIO_ReadInputDataBit(<strong>GPIOC</strong>, <strong>GPIO_Pin_13</strong>))==SET){}//PC13の読み込み</p>



<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>関数の第1引数は<strong>設定対象のGPIOポートを指定</strong>します。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/06/gpio-parameter2.jpg" alt="" class="wp-image-2129" width="232" height="216"/><figcaption class="wp-element-caption">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>関数の第２引数は<strong>使用するピンを指定</strong>します。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/06/gpio-parameter3.jpg" alt="" class="wp-image-3227" width="236" height="489" srcset="https://depfields.com/wp-content/uploads/2020/06/gpio-parameter3.jpg 236w, https://depfields.com/wp-content/uploads/2020/06/gpio-parameter3-145x300.jpg 145w" sizes="(max-width: 236px) 100vw, 236px" /><figcaption class="wp-element-caption">GPIOピン</figcaption></figure>



<p><span style="background-color: #003300; color: #ffffff;">&nbsp;② 指定したGPIOポートのピンへ出力設定をセット&nbsp;</span></p>



<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>指定したGPIOポートのピンへ出力状態をセット(1)するにはGPIO_SetBits関数を使用します。</p>
</div></div></div>



<p>関数プロトタイプ：<br>void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)</p>



<p>設定例：GPIO_SetBits(<strong>GPIOA</strong>, <strong>GPIO_Pin_5</strong>);//PA5をセット(1)に設定</p>



<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>GPIO_ReadInputDataBit関数</strong>と<strong>同じ</strong>です。</p>
</div></div></div>



<p><span style="background-color: #003300; color: #ffffff;">&nbsp;指定したGPIOポートのピン出力へ設定をリセット&nbsp;</span></p>



<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>指定したGPIOポートのピンへ出力状態をリセット(0)するにはGPIO_ResetBits関数を使用します。<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">GPIO_SetBits関数の反転</span></strong>です。</p>
</div></div></div>



<div style="background: #ffffea; padding: 8px 19px; margin: 2em 0; border-top: solid 10px #00ccff; solid 5px #1a66ff; box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.33); word-break: break-all;">
<p>gpio.cでは押ボタンスイッチを押すと入力PC13がSET(1)となり出力PA5が１でLEDが点灯します。</p>
</div>


<div class="linkcard"><div class="lkc-external-wrap"><a class="lkc-link no_icon" href="https://en.depfields.com/gpio-led-toggle-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/bf83f1174a4e62b9e8dead200572789568906b2d4b83e9c04baca4bb2fc5bbd2.jpeg" alt="" /></figure><div class="lkc-title"><div class="lkc-title-text">STM32 Nucleo MCU starting with LED blinking [Gateway to Embedded system] | Mo...</div></div><div class="lkc-url">https://en.depfields.com/gpio-led-toggle-apl/</div><div class="lkc-excerpt">Setting the STM32&#039;s peripheral GPIOs to blink the output LEDs is a simple operation in itself, but it means that the series of steps from the initial setup of MCU to the build and transfer to MCU have been successfully completed.The m</div></div><div class="clear"></div></div></a></div></div><p>The post <a href="https://depfields.com/gpio-led-toggle-apl/">Lチカで始めるSTM32 Nucleoマイコン【組み込みの登竜門】</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>ARMで電子工作しながら学習するのにお勧めNucleo開発ボード</title>
		<link>https://depfields.com/board/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=board</link>
		
		<dc:creator><![CDATA[めかのとろ]]></dc:creator>
		<pubDate>Thu, 28 May 2020 04:14:00 +0000</pubDate>
				<category><![CDATA[組み込みに使われるマイコン]]></category>
		<category><![CDATA[STM32CubeIDE]]></category>
		<category><![CDATA[STM32]]></category>
		<category><![CDATA[Nucleo]]></category>
		<guid isPermaLink="false">https://depfields.com/?page_id=1541</guid>

					<description><![CDATA[<p>STM32マイコン搭載のNucleoボードを教材に使用する理由 マイコンボード仕様 ピンタイプ：I 入力　O 出力　I/O 入出力、S 供給電源I/Oレベル：FT 5V耐圧　無記入 電源電圧 教材ボードを利用したプログラ [&#8230;]</p>
<p>The post <a href="https://depfields.com/board/">ARMで電子工作しながら学習するのにお勧めNucleo開発ボード</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></description>
										<content:encoded><![CDATA[<div class="veu_autoEyeCatchBox"><img width="409" height="291" src="https://depfields.com/wp-content/uploads/2020/05/nureo-f103rb.jpg" class="attachment-large size-large wp-post-image" alt="" decoding="async" srcset="https://depfields.com/wp-content/uploads/2020/05/nureo-f103rb.jpg 409w, https://depfields.com/wp-content/uploads/2020/05/nureo-f103rb-300x213.jpg 300w" sizes="(max-width: 409px) 100vw, 409px" /></div>




<h2 class="wp-block-heading">STM32マイコン搭載のNucleoボードを教材に使用する理由</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>できすぐにでも実機にて学習を開始できますので、マイコンの操作は<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>当サイトで教材として使用するボードはARM Cortex-M3コア<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">STM32F103RB</span></strong>を搭載した<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">NUCLEO-F103RB</span></strong>で行います。これ以外のSTM32シリーズのマイコンでもよいのですが、<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>。教材のマイコン操作に慣れたころには、他の仕様のSTM32マイコンへは容易に移植できるスキルが身についているでしょう。</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>NUCLEO-F103RB以外</strong>のSTM32マイコンが搭載されているボードでは、特にSTM32F1シリーズマイコンの場合は、互換性があるため同じSPL（Standard Peripheral Library)が使用でき、プロジェクト作成時に相当のMPUを選定して、SPL内で指定する<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>STM32マイコン</strong>でもSTM32F1シリーズでない場合、例えばCortex-M4コア搭載のSTM32F4シリーズではF4シリーズ専用SPLを使用する必要があり、当サイトで使用しているF1シリーズのSPLとは互換性がありませんので、そのままでは使用できません。STM32F1シリーズのマイコンで基本を理解したあとでは、移植もそんなに難しいものではありませんので使えるようになりますが、慣れないうちはF1シリーズで、特に<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">当サイトと同じ環境のNUCLEO-F103RBを使用することをおすすめ</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>STM32F4などはCortex-M4を搭載していて、STM32F1(Cortex-M3)の上位機種となり、動作クロックも高く、浮動小数点演算機能をハードウェアで実現できたり高性能・高機能ではありますが、初心者の学習目的ではSTM32F1で過不足はまったくありません。また、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">STM32F4</span></strong>は当サイトで学習用として奨励しているSPLでも機能させることはできるのですが、性能・機能を活かすためにはできるだけ<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">最新のライブラリであるHAL(Hardware Abstruction Layer)ライブラリを使うほうがよい</span></strong>ため、F1シリーズで慣れてから上位機種を選ぶことをおすすめします。</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">STM32F103RBが搭載</span></strong>されています。外部クロック発振源として水晶振動子8MHzを搭載しており、システムクロックは72MHzとしています。通常のアプリケーションでは十分な処理速度です。</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>Nucleoボードはデバッガ用<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ST-Linkを内蔵</span></strong>していますのでUSBケーブルのみで学習を開始できます。</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>このボードはSTエレクトロニクス社のNUCLEOシリーズでSTM32F1マイコンを搭載したものです。NUCLEOシリーズの特徴は<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ARM Mbed開発環境に対応</span></strong>した基板であることに加えて、電子工作で大人気の<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">Arduino Uno Rev.3と互換のIOピンヘッダを搭載している</span></strong>ので電子工作でArduinono対応の数多い資産を利用することができます。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/05/nureo-f103rb.jpg" alt="" class="wp-image-4970" width="482" height="343" srcset="https://depfields.com/wp-content/uploads/2020/05/nureo-f103rb.jpg 409w, https://depfields.com/wp-content/uploads/2020/05/nureo-f103rb-300x213.jpg 300w" sizes="(max-width: 482px) 100vw, 482px" /><figcaption>教材ボードNUCLEO-F103RB</figcaption></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>以下に、教材マイコンボードの仕様を示します。<br>プログラム転送や学習のためのマイコン動作をちょっとした軽負荷で動作確認するだけであれば<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ボードに内蔵のST-LINK</span></strong>へ<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">USBケーブルを介して電源が供給されますので外付け電源は不要</span></strong>です。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/05/table-mc_rb.jpg" alt="" class="wp-image-5029" width="509" height="217" srcset="https://depfields.com/wp-content/uploads/2020/05/table-mc_rb.jpg 473w, https://depfields.com/wp-content/uploads/2020/05/table-mc_rb-300x128.jpg 300w" sizes="(max-width: 509px) 100vw, 509px" /><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>ボード上にはヘッダピンとソケットがありますが、外側のヘッダピン(CN7/CN10)がSTMマイコン直結のMorphoコネクタとよばれるものです。内側のソケット(CN8/CN9)はArduinoに互換なのでこのボード自体をArduinoの互換機として開発もできるし、Arduino用の外付けシールドなどを活用することもできます。当サイトではArduinoの開発のことは割愛します。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/05/learning_board_nucleo.jpg" alt="" class="wp-image-5080" width="555" height="566"/><figcaption>NUCLEO-F103RBレイアウト</figcaption></figure>



<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>下記にSTM32F103RBのピン番号をそれに対応する機能をまとめました。この<strong>ピン番号はマイコン自体のもの</strong>であってNulecoのMorphoコネクタの番号ではありませんのでご注意ください。例えば、CN7の１番目は"<strong>PC10"</strong>であるからSTM32F103RBのピン51に直結しています。</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>下記のピン定義表からこのピンはデフォルトでは汎用入出力Cポートの10として入力か出力で使用することができますが、リマップするとUSART3_TXで使うこともできるようになります。</p>
</div></div></div>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/08/table_pin.jpg" alt="" class="wp-image-6718" width="478" height="2382" srcset="https://depfields.com/wp-content/uploads/2020/08/table_pin.jpg 478w, https://depfields.com/wp-content/uploads/2020/08/table_pin-60x300.jpg 60w, https://depfields.com/wp-content/uploads/2020/08/table_pin-308x1536.jpg 308w, https://depfields.com/wp-content/uploads/2020/08/table_pin-411x2048.jpg 411w" sizes="(max-width: 478px) 100vw, 478px" /><figcaption>STM32F103RBピン定義表</figcaption></figure>



<p>ピンタイプ：I 入力　O 出力　I/O 入出力、S 供給電源<br>I/Oレベル：FT 5V耐圧　無記入  電源電圧</p>



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



<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>通常、C言語のプログラミングを学習するためには、<br>例えばWINDOS上で動作するC言語の開発環境として、Visual Studio等開発環境を構築してプログラミング学習を行います。</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">printf文を使ってモニター表示で確認</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">学習目的がWindowsアプリの作成などはっきりとしている場合には有効</span></strong>で学習しながらスキルアップも図ることができるのですが、単にC言語学習だけが目的の場合では<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>この方法の利点はPCだけでC言語を学習できることですが、コンパイラがマイコン用ではありませんので、<span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter"><strong>マイコン用C言語コンパイラに適用する場合は変数の型など仕様変更が必要</strong></span>です。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/05/cprograming.jpg" alt="" class="wp-image-1573" width="502" height="256" srcset="https://depfields.com/wp-content/uploads/2020/05/cprograming.jpg 506w, https://depfields.com/wp-content/uploads/2020/05/cprograming-300x153.jpg 300w" sizes="(max-width: 502px) 100vw, 502px" /><figcaption>C言語総合開発環境</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>これに対して、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">教材ボードを使用したC言語学習を行う方法</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">PCとシリアル通信できる環境を構成</span></strong>すると、実際のマイコン内で動作するC言語によるプログラムをPCにモニター表示できるようになるので<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">実践的なC言語プログラミングとマイコン操作の学習を同時に行うことができる</span></strong>ようになります。プログラム実行環境(マイコン)と異なるシステム（PC）で開発をおこなう<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>環境構築に必要なものはPCの他に、教材ボード（マイコン）、USB-UART変換ケーブルおよびST-Linkデバッガと呼ばれるものです。PCだけではC言語学習ができないのはデメリットですが、これからマイコンを始める人にとっては<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">マイコンを直接操作するC言語の動作を確認しながら学習できる</span></strong>のは大きなメリットとなります。また、C言語のコンパイラがSTM32マイコン用のものですので、<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-right 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>STM32マイコン用プログラムを作成する総合開発環境STM32CubeIDEとST-Linkデバッガの組み合わせで、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">マイコンと通信してプログラムを動作</span></strong>させます。プログラムの動作をPC上でモニター確認するために、シリアル通信をおこないます。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-right 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>PC上にはターミナルソフト（端末エミュレータ）と呼ばれる通信ソフトを使用して、シリアル通信を行います。マイコンとの接続は<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">UART-USB変換ケーブルを使用</span></strong>します。ST-Linkの接続からマイコン電源は供給されますのでC言語学習目的では外付け電源はなくても動作します。</p>
</div></div></div>



<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-right 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>初心者にとっては環境構築をすべて理解しておこなうことは難しいのですが、とにかく、PCとシリアル通信ができる環境を整えるところから始まります。</p>
</div></div></div>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/05/clossdevelop_a.jpg" alt="" class="wp-image-5028" width="699" height="426" srcset="https://depfields.com/wp-content/uploads/2020/05/clossdevelop_a.jpg 680w, https://depfields.com/wp-content/uploads/2020/05/clossdevelop_a-300x183.jpg 300w" sizes="(max-width: 699px) 100vw, 699px" /><figcaption>クロス開発環境</figcaption></figure>



<div style="display: inline-block; background: #191970; padding: 5px 10px; color: #ffffff; border-radius: 5px 5px 0px 0px;"><strong>ポイント</strong></div>
<div style="background: #ffffea; border-radius: 0px 10px 10px 10px; padding: 10px; border: 3px solid #191970;">
<p>マイコン学習にあたって最低限必要な機材：<br />・<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">マイコンボード(STM32F1xx Cortex-M3搭載)<br />・USBケーブル（Mini USB Type-B)<br /></span></strong>・<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">プログラム転送用デバッガST-LINK/V2：<span style="color: #ff0000;">Nucleoボードには内蔵</span><br />・信号入力用SW類（押しボタンSWなど）：<span style="color: #ff0000;">Nucleoボードには内蔵</span><br />・信号出力確認用ランプ類（LEDなど）：<span style="color: #ff0000;">Nucleoボードには内蔵</span><br />・電流制限用抵抗器やボリューム：<span style="color: #ff0000;">外付けでLEDなどを使用する場合</span></span></strong></p>
<p>あれば便利なツール：<br />・<strong><span class="vk_highlighter" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" data-color="#fffd6b">USB-UART変換ケーブル</span></strong>（これがあれば入出力はPCモニターで確認できる!!）</p>
</div>



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



<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>市販のマイコンボードでSTM32F1xx（Cortex-M3)シリーズが搭載されているものは当サイトの内容を一部実践で動作確認することに使用することができます。</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>ただし、当サイトで使用するアプリケーションプログラムは指定の教材ボード (NUCLEO-F103RB) 用ですので搭載している<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-spacer vk_spacer"><div class="vk_spacer-display-pc" style="height:20px"></div><div class="vk_spacer-display-tablet" style="height:10px"></div><div class="vk_spacer-display-mobile" style="height:5px"></div></div>



<figure class="wp-block-gallery has-nested-images columns-4 is-cropped wp-block-gallery-7 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img decoding="async" width="582" height="357" data-id="3374" src="https://depfields.com/wp-content/uploads/2020/06/stm32discovery.jpg" alt="" class="wp-image-3374" srcset="https://depfields.com/wp-content/uploads/2020/06/stm32discovery.jpg 582w, https://depfields.com/wp-content/uploads/2020/06/stm32discovery-300x184.jpg 300w" sizes="(max-width: 582px) 100vw, 582px" /><figcaption>STMVLDiscovery(F100RB)</figcaption></figure>



<figure class="wp-block-image size-large"><img decoding="async" width="409" height="291" data-id="4970" src="https://depfields.com/wp-content/uploads/2020/05/nureo-f103rb.jpg" alt="" class="wp-image-4970" srcset="https://depfields.com/wp-content/uploads/2020/05/nureo-f103rb.jpg 409w, https://depfields.com/wp-content/uploads/2020/05/nureo-f103rb-300x213.jpg 300w" sizes="(max-width: 409px) 100vw, 409px" /><figcaption>Nucleo-F103RB</figcaption></figure>



<figure class="wp-block-image size-large"><img decoding="async" width="554" height="407" data-id="3373" src="https://depfields.com/wp-content/uploads/2020/06/stbee.jpg" alt="" class="wp-image-3373" srcset="https://depfields.com/wp-content/uploads/2020/06/stbee.jpg 554w, https://depfields.com/wp-content/uploads/2020/06/stbee-300x220.jpg 300w" sizes="(max-width: 554px) 100vw, 554px" /><figcaption>STBee (STM32F103VE)</figcaption></figure>



<figure class="wp-block-image size-large"><img decoding="async" width="424" height="309" data-id="3375" src="https://depfields.com/wp-content/uploads/2020/06/stm32f103c8.jpg" alt="" class="wp-image-3375" srcset="https://depfields.com/wp-content/uploads/2020/06/stm32f103c8.jpg 424w, https://depfields.com/wp-content/uploads/2020/06/stm32f103c8-300x219.jpg 300w" sizes="(max-width: 424px) 100vw, 424px" /><figcaption>STM32F103C8 board</figcaption></figure>
<figcaption class="blocks-gallery-caption">市販の教材ボード</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>市販の教材ボードを選ぶにはマイコンがSTM32F１xxシリーズが搭載されていることと、SWDデバッガ用ピンPA13とPA14が使えるものが条件です。</p>
</div></div></div>



<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>入出力用パーツとしては押しボタンスイッチ、LED、抵抗器などがあればよいのですが、最近では電子工作入門キットとしてある程度まとめられたものが販売されています。抵抗器は330Ω程度のものと、1kΩ程度のものを使用します。詳細は「<strong><a href="https://depfields.com/applications/">アプリケーションと実践</a></strong>」章の各アプリで使用する配線図にあります。</p>
</div></div></div>



<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-9 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img decoding="async" width="537" height="346" data-id="3385" src="https://depfields.com/wp-content/uploads/2020/06/bread-board-1.jpg" alt="" class="wp-image-3385" srcset="https://depfields.com/wp-content/uploads/2020/06/bread-board-1.jpg 537w, https://depfields.com/wp-content/uploads/2020/06/bread-board-1-300x193.jpg 300w" sizes="(max-width: 537px) 100vw, 537px" /><figcaption>ブレッドボード</figcaption></figure>



<figure class="wp-block-image size-large"><img decoding="async" width="510" height="378" data-id="3386" src="https://depfields.com/wp-content/uploads/2020/06/jump-wire-1.jpg" alt="" class="wp-image-3386" srcset="https://depfields.com/wp-content/uploads/2020/06/jump-wire-1.jpg 510w, https://depfields.com/wp-content/uploads/2020/06/jump-wire-1-300x222.jpg 300w" sizes="(max-width: 510px) 100vw, 510px" /><figcaption>ジャンプワイヤ</figcaption></figure>



<figure class="wp-block-image size-large"><img decoding="async" width="780" height="447" data-id="3387" src="https://depfields.com/wp-content/uploads/2020/06/parts-1.jpg" alt="" class="wp-image-3387" srcset="https://depfields.com/wp-content/uploads/2020/06/parts-1.jpg 780w, https://depfields.com/wp-content/uploads/2020/06/parts-1-300x172.jpg 300w, https://depfields.com/wp-content/uploads/2020/06/parts-1-768x440.jpg 768w" sizes="(max-width: 780px) 100vw, 780px" /><figcaption>電子部品類</figcaption></figure>
<figcaption class="blocks-gallery-caption">教材部品</figcaption></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>外付けの部品を使用しないでプログラムの動作を確認するだけであれば、プログラム転送用デバッガST-LINKから電源が供給されるので外付けの電源は不要です。通常はPCのUSBバスパワーからの電源で300mAまで供給でき、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ST-Linkデバイス側で保護回路によりUSB電流を管理</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>電源電流が300mAを超える負荷のかかる入出力の部品を装着する場合は<strong>外付け電源(DC5/7-12V)が必要</strong>です。<br>例えば、WiFiモジュールでの通信を行う場合などUSBポートからの電源では不足気味の場合は<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter"><strong>外部から</strong>５V電源を供給すると安定します。</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>Nucleoシリーズのボードへの電源供給は<strong>USBポートからのUSBバスパワー</strong>の他に、外部電源を供給することができます。<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">５V外部電源の場合</span></strong>（最大500mA)は<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">E5V</span></strong>(CN7-6)へ、<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">７~12V外部電源</span></strong>（最大800mA)の場合は<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">VIN</span></strong>(CN7-24またはCN6-8)へ接続します。外部電源を使用する場合はボード上の<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">ジャンパピンJP5をE5V側に設定すると有効</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>ただし、ジャンパピンJP5をE5V側に設定するとUSBの電流保護回路が切断され機能しない状態となり最悪PCの<strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">USBポートにダメージを与える恐れがあるため</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>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/08/external-power-supply.jpg" alt="" class="wp-image-6973" width="594" height="466" srcset="https://depfields.com/wp-content/uploads/2020/08/external-power-supply.jpg 594w, https://depfields.com/wp-content/uploads/2020/08/external-power-supply-300x235.jpg 300w" sizes="(max-width: 594px) 100vw, 594px" /><figcaption> 外部電源使用時の設定 </figcaption></figure>



<ol class="is-style-vk-numbered-circle-mark"><li><strong>JP5をEV5側に設定</strong>する</li><li>外部電源をE5V(5V)かVIN(7~12V)に接続し、電源を投入する</li><li><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">電源ランプLD3の点灯を確認</span></strong></li><li><strong><span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">USBを接続</span></strong>（<strong>USBポートに接続するのは最後</strong>にすることが重要）</li></ol>



<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 style="display: inline-block; background: #191970; padding: 5px 10px; color: #ffffff; border-radius: 5px 5px 0px 0px;"><strong>ポイン</strong>ト</div>
<div style="background: #ffffea; border-radius: 0px 10px 10px 10px; padding: 10px; border: 3px solid #191970;">
<p><strong>Nucleoボードへの供給電源は3通り：<br></strong><strong>・USBから供給（JP5: U5V側）ST-Linkデバイス側でUSB電流を管理</strong><br><strong>・５VをE5Vへ供給（JP5: E5V側）<br>・7~12VをVINへ供給（JP5: E5V側）</strong></p>
<p><strong>（重要）外部電源を使う場合は先に外部電源を投入してから最後にUSBケーブルを接続すること！</strong></p>
</div>
<p>&nbsp;</p>



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



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="https://depfields.com/wp-content/uploads/2020/06/power-supply.jpg" alt="" class="wp-image-3396" width="450" height="293" srcset="https://depfields.com/wp-content/uploads/2020/06/power-supply.jpg 533w, https://depfields.com/wp-content/uploads/2020/06/power-supply-300x196.jpg 300w" sizes="(max-width: 450px) 100vw, 450px" /><figcaption>外付け電源</figcaption></figure>





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



<p></p>


<div class="linkcard"><div class="lkc-external-wrap"><a class="lkc-link no_icon" href="https://en.depfields.com/board/" 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/5038820c610d054a04b61c56808a533c405e2bae2172acf00fe44f0a0fd29669.jpeg" alt="" /></figure><div class="lkc-title"><div class="lkc-title-text">STM32Nucleo board recommended for learning while electronics work | Most Powe...</div></div><div class="lkc-url">https://en.depfields.com/board/</div><div class="lkc-excerpt">Why use Nucleo boards with STM32 microcontrollers for teaching materials?The shortest way to learn MCUs is to actually operate a MCU and check its operation by yourself. If the operating environment is the same as the one explaine</div></div><div class="clear"></div></div></a></div></div><p>The post <a href="https://depfields.com/board/">ARMで電子工作しながら学習するのにお勧めNucleo開発ボード</a> first appeared on <a href="https://depfields.com">即戦力モノづくり!エンジニアへの道標</a>.</p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
