Interface編集部
[連載]FreeRTOS入門<第1回>のサポート・ページ(2021年5月号掲載)
■ブレッドボードで体験する方法
連載の第1回で紹介するグラフィカル・データ・ロガーは,本誌2021年4月号の特集 第2部 第2章で製作したトレーニング・ボードで試せますが,部品を集めればブレッドボードでも同様に試せます.
●用意する部品
マイコン・ボードと複合センサ,Wi-Fiモジュール以外は,同等品であれば流用可能です.ここでは編集部の実験で使った部品を参考に示します.★印が付いている部品以外は,第2部 第2章のサポート・ページで紹介した部品と同じです.
部品 | 型名 | 参考価格 | 個数 |
マイコン・ボード | SAM E51 Curiosity Nano Evaluation Kit(マイクロチップ・テクノロジー) | 1,800円(Digi-Key,Mouser,RSコンポーネンツ等から入手可能) | 1 |
複合センサ | AE-BME280(秋月電子通商) | 1,080円 | 1 |
★Wi-Fiモジュール | SSCI-023412(スイッチサイエンス) | 926円 | 1 |
SPI接続の128×160ドットLCD(ST7735S搭載) | M018C7735A(aitendo) | 825円(ST7735S/ST7735B搭載の同等品なら流用可) | 1 |
★microSDカード・ソケット | DM3AT-2P(aitendo) | 240円(2.54mmピッチ変換基板付きなら流用可) | 1 |
USB-UART変換アダプタ | TTL-232R-3V3(FTDI) | 1,950円(TTL3.3Vタイプの同等品なら流用可) | 1 |
半固定ボリューム(10kΩ) | 3386K-EY5-103TR(SUNTAN TECHNOLOGY CO LTD) | 50円(同等品なら流用可) | 2 |
赤色LED | OSR5JA3Z74A | 10円(同等品なら流用可) | 1 |
緑色LED | OSG8HA3Z74A | 10円(同等品なら流用可) | 1 |
抵抗(470Ω) | CF25J470RB(FAITHFUL LINK INDUSTRIAL CORP.) | 100本入りで100円(同等品なら流用可) | 1 |
抵抗(1kΩ) | CF25J1KB(FAITHFUL LINK INDUSTRIAL CORP.) | 100本入りで100円(同等品なら流用可) | 1 |
★抵抗(10kΩ) | CFS50J10KB(FAITHFUL LINK INDUSTRIAL CORP.) | 100本入りで100円(同等品なら流用可) | 6 |
★コンデンサ(1μF) | RDER71H105K2K1H03B(村田製作所) | 20円(同等品なら流用可能) | 4 |
ブレッドボード | SAD-12(サンハヤト) | 4,840円(同等品なら流用可能) | 1 |
コネクタ付きケーブル | コネクタ付ケーブル 20cm 40P オスオス(SUNHOKEY Electronics Co.,Ltd.) | 160円(同等品なら流用可) | 1 |
ジャンパ・ワイヤ | 165-011-000(E-CALL ENTERPRISE CO., LTD.) | 300円(同等品なら流用可) | 1 |
ピン・ヘッダ(LCD用) | PHA-1x40SG(Useconn Electronics Ltd.) | 35円(同等品なら流用可) | 1 |
●回路
ブレッドボードで実験するときの回路は次の通りです.回路図の画像をクリックすると,PDFファイルが表示されます.
●組み立て
上記の回路図に従って,ブレッドボード上に回路を組み立てます.マイコン・ボードや複合センサ,Wi-Fiモジュール,LCDはあらかじめピン・ヘッダをはんだ付けしておいてください.組み立て後のようすを次に示します.
●トレーニング・ボードからの変更点
マイコン・ボードSAM E51 Curiosity Nano Evaluation Kitは,マイコンの一部端子が外部と接続されていません.そのため,グラフィカル・データ・ロガーを製作するときは,一部の端子配置を変更しておきます.端子配置の変更に伴う修正は次の通りです.これらの変更設定済みのプロジェクト・ファイルは,下記から入手できます.
・ブレッドボード用のサンプル・プログラム
▼端子配置
変更が必要な端子は次の通りです.★印が付いている部品以外は,第2部 第2章のサポート・ページで説明した変更内容と同じです.
信号名 | トレーニング・ボードの端子 | SAM E51 Curiosity Nano Evaluation Kitの端子 |
LCDのRST信号 | PA14 | PA21 |
LCDのRS信号 | PA15 | PB31 |
半固定ボリューム抵抗POT1のADC入力 | PB2(ADC0 AIN14) | PB4(ADC1 AIN6) |
半固定ボリューム抵抗POT2のADC入力 | PB3(ADC0 AIN15) | PB5(ADC1 AIN7) |
★Wi-FiモジュールのRxD信号 | PB16(SERCOM5 PAD0) | PA22(SERCOM5 PAD0) |
★Wi-FiモジュールのTxD信号 | PA21(SERCOM5 PAD3) | PA23(SERCOM5 PAD1) |
★USB-UART変換アダプタのRX信号 | PA22(SERCOM3 PAD0) | PA17(SERCOM3 PAD0) |
★USB-UART変換アダプタのTX信号 | PA23(SERCOM3 PAD1) | PA16(SERCOM3 PAD1) |
★スイッチS1の入力 | PA0 | PB6 |
★スイッチS2の入力 | PA1 | PB7 |
▼MHCの設定
周辺モジュールとしてA-Dコンバータを使う場合は,ADC0ではなくADC1を使用してください.
タイマTC4,TC5に使うクロックは,[MHC]-[Tools]-[Clock Configuration]で,[Peripheral Clock Configuration]をクリックして,「TC4,TC5」の行のクロック設定を[GCLK2]に設定してください.
Wi-Fiモジュールに接続するSERCOM5の設定では,「Receive Pinout」の設定をSERCOM PAD[0]に変更してください.
その他の設定内容は本誌と同じです.MHCでの端子設定は次の通りにします.
▼プログラムの追記
A-Dコンバータに関する記述は,周辺モジュール名(ADC0→ADC1),端子名を変更してください.
・A-Dコンバータの有効化
ADC0_Enable(); → ADC1_Enable();
・POT1のA-D変換
ADC0_ChannelSelect(ADC_POSINPUT_AIN14, ADC_NEGINPUT_GND);
ADC0_ConversionStart();
while(!ADC0_ConversionStatusGet());
result = ADC0_ConversionResultGet();
Potent.mes.pot1 = (3.3 * result) / 4095;
↓
ADC1_ChannelSelect(ADC_POSINPUT_AIN6, ADC_NEGINPUT_GND);
ADC1_ConversionStart();
while(!ADC1_ConversionStatusGet());
result = ADC1_ConversionResultGet();
Potent.mes.pot1 = (3.3 * result) / 4095;
・POT2のA-D変換
ADC0_ChannelSelect(ADC_POSINPUT_AIN15, ADC_NEGINPUT_GND);
ADC0_ConversionStart();
while(!ADC0_ConversionStatusGet());
result = ADC0_ConversionResultGet();
Potent.mes.pot2 = (3.3 * result) / 4095;
Potent.mes.kind = ‘V’;
↓
ADC1_ChannelSelect(ADC_POSINPUT_AIN7, ADC_NEGINPUT_GND);
ADC1_ConversionStart();
while(!ADC1_ConversionStatusGet());
result = ADC1_ConversionResultGet();
Potent.mes.pot2 = (3.3 * result) / 4095;
Potent.mes.kind = ‘V’;
■関連リファレンス
本誌で参照している各種リファレンスへのリンクを次に示します.