PICマイコン電子工作入門〜応用編〜

応用編では、PICマイコンが持っているさまざまな機能を実装することにより、多くの知識を習得します。

シリーズ記事
第1回 全体像 PICマイコン電子工作入門の応用編です。最初に全体像と製作するもの説明します。 応用編の進め方 PICマイコン電子工作入門の基礎編では、PIC12F1822を使用してタイマー...

シリーズ記事
第2回 PWM制御(1) 〜PWMとは〜 最初に「PWM」とは何かを理解します。 PWMとは PWMとは「Pulse Width Modulation」の略で、変調方式の一つです。。。。。。。 って感じで説明を始めてもさっぱり...って...

シリーズ記事
第3回 PWM制御(2) 〜PWM制御プログラムを作成する〜 今回はLEDをPWM制御するプログラムを作ります。 今回やってみること 前回はPWM制御の概要を確認しました。 今回は、PWM制御のプログラムを作成して実際にLEDの明るさを...

シリーズ記事
第4回 PWM制御(3) 〜PWM機能を使う〜 今回はPICマイコンのPWM機能を使ってLEDの明るさを調整します。 PWM機能? 前回はLEDをPWM制御して明るさを調整しました。PWM制御ってプログラムで簡単に実現できること...

シリーズ記事
第5回 PWM制御(4) 〜PWM機能を実装する〜 今回は、基礎編で製作したタイマープログラムにPWM機能を実装します。 実装する内容 前回までに、PWM制御方法を二通り確認しました。一つは、__delay_us()を使用して時...

シリーズ記事
第6回 PWM制御(5) 〜チャレンジ課題〜 今回はPWM制御に関するチャレンジ課題です。 PWM制御プログラム2通り PWMの最後はチャレンジ課題で締めくくりたいと思います。 前回までに、LEDを2通りの方法でPWM制御...

シリーズ記事
第7回 ADコンバータ(1) 〜ADコンバータとは〜 今回からADコンバータについて説明します。 ADコンバータとは 基礎編では基本的なタイマーを製作して、前回までの応用編ではPWMを説明するために、無理やり感満載って感...

シリーズ記事
第8回 ADコンバータ(2) 〜回路を設計する〜 今回はADコンバータ機能を利用する回路を設計します。 追加する機能の説明 基礎編で製作したタイマーは、タイマーの時間を変更したい場合、プログラムを変更してPIC12F1...

シリーズ記事
第9回 ADコンバータ(3) 〜回路を実装する〜 今回は、ADコンバータを利用する回路をブレッドボード上に実装します。 回路図の確認 前回の記事で、「次回はプログラムを作ります」なんて終わり方をしましたが、すみ...

シリーズ記事
第10回 ADコンバータ(4) 〜ADコンバータ設定方法〜 今回は、ADコンバータプログラムの設定部分の解説です。 ADコンバータプログラム概要 ADコンバータ機能を利用したスイッチ回路の設計と実装が終わりましたので、今回か...

シリーズ記事
第11回 ADコンバータ(5) 〜プログラムを完成させる〜 今回はADコンバータ機能を利用したプログラムを完成させます。 ADコンバータプログラムまとめ ちょっとしつこいですが... ADコンバータ機能を利用するための必要なこと...

シリーズ記事
第12回 ADコンバータ(6) 〜チャレンジ課題〜 今回はチャレンジ課題です。 ADコンバータの設定を変えてみよう ADコンバータの設定のところで、結果の値をADRESに右詰にするようにしました。 この設定を左詰にすると...

シリーズ記事
第13回 EEPROM(1) 〜EEPROMとは〜 今回からEEPROMを使ったプログラムを作成してみます。 現在のタイマー機能の問題点 前回までのプログラムで、タイマー時間を設定する機能を追加することができました。 ...

シリーズ記事
第14回 EEPROM(2) 〜タイマー設定値保存機能を追加する〜 今回はEEPROMを利用してタイマー設定時間を保存する機能を追加します。 追加機能の仕様を決める EEPROMのデータ読み書き、初期設定の方法がわかりましたので、早速これ...

シリーズ記事
第15回 EEPROM(3) 〜チャレンジ課題〜 EEPROMに関するチャレンジ課題に挑戦してみましょう! timeValueの問題点 前回のプログラムで、タイマー時間を管理する変数、timerValueは、EEPROMの読み出し、書き込み...

シリーズ記事
第16回 割込み処理(1) 〜割込み処理とは〜 今回から割込み処理を実装していきます。 割込み処理とは マイコンを使った電子工作の情報をネットで検索していると、「割込み処理」という言葉がよく出てきます。マイ...

シリーズ記事
第17回 割込み処理(2) 〜割込み処理プログラムの基本構造〜 割込み処理プログラムの基本構造について説明します。 これから行うことの説明 割込み処理プログラムの説明をするために、今まで作成していたタイマープログラムはいっ...

シリーズ記事
第18回 割込み処理(3) 〜割込み処理プログラムテンプレ〜 今回は、PICマイコンの割込み処理の仕組みと必要な設定内容について説明します。 PICマイコンの割込みの仕組み 割込み処理の実装を行う前に、PICマイコンの割込み処理の...

シリーズ記事
第19回 割込み処理(4) 〜タイマープログラムへの実装〜 今までの内容を踏まえて、タイマープログラムに割込み処理を実装します。 動作仕様 それでは今までの内容を元に、タイマープログラムに割込み処理を追加しましょう。 タ...

シリーズ記事
第20回 タッチセンサ(1) 〜タッチセンサの原理〜 応用編の最後として、タッチセンサ機能を実装します。 タッチセンサ機能を実装しよう! 最近はスマホが必需品になっていて、スマホの画面を当たり前のようにタッチ操作し...

シリーズ記事
第21回 タッチセンサ(2) 〜タッチ検知の仕組み〜 前回はコンデンサの原理について説明しました。今回はその原理をどのように利用すればタッチを検知できるか説明します。 復習 タッチ検知の仕組みの説明の前に、前回の...

シリーズ記事
第22回 タッチセンサ(3) 〜タッチセンサ基本プログラム〜 今回は、PICマイコンでタッチ検知をするためのプログラムの基本構造を説明します。 タッチ検知プログラムの基本構造 タッチ検知プログラムの詳細を説明する前に、プログ...

シリーズ記事
第23回 タッチセンサ(4) 〜タイマープログラム実装〜 今回は、タイマープログラムのスタートボタンをタッチスイッチに変更します。 変更内容 前回の記事で、タッチセンサの基本プログラムを作りました。今回は、タイマープ...

シリーズ記事
第24回 タッチセンサ(5) 〜補足〜 実用的な電子工作をする際に、タッチセンサを使用する場合の注意事項などの補足を説明します。 タッチセンサ値の計測時間 前回までの記事では、タイマープログラムに実...

シリーズ記事
第25回 MPLAB Code Configurator(1) 〜MCCとは〜 この応用編の最後として、MPLABXのプラグイン機能である「MCC」について説明します。 MCCとは MCC (Microchip Code Configurator)は、一言でいうとプログラムの基本部分...

シリーズ記事
第26回 MPLAB Code Configurator(2) 〜比較用プログラム〜 今回は、MCCと比較のための手書きプログラム(?)を作成します。 手書きの場合のプロジェクト構成 次回以降の記事で、MCCを使用したプログラムを作成しますが、比較のため...

シリーズ記事
第27回 MPLAB Code Configurator(3) 〜MCC画面構成〜 今回からMCCを使用してADコンバータを利用したプログラムを自動生成? 作成?していきます。 説明の進め方 今回の記事ではMCCの画面構成の説明と、おおざっぱな作業の流れ...

シリーズ記事
第28回 MPLAB Code Configurator(4) 〜基本設定〜 今回はMCC設定画面で、マイコンの基本設定を行います。 設定の流れ これから、デフォルトで表示されている機能モジュール、「System Module」「Pin Module」「Interrupt...

シリーズ記事
第29回 MPLAB Code Configurator(5) 〜ADコンバータ機能追加〜 今回はMCC上でADコンバータ機能を追加します。 今回行うこと MCCの例題としてADコンバータを使用しますので、今回はMCC上でADコンバータ機能を追加します。 前回の基本...

シリーズ記事
第30回 MPLAB Code Configurator(6) 〜生成されたプログラム内容〜 今回は自動生成されたプログラムの内容を確認します。 MCC生成コードの構成 それでは再度MCCが生成したプログラムコードの構成を確認しておきましょう。 それぞれのファ...

シリーズ記事
第31回 MPLAB Code Configurator(7) 〜プログラム完成〜 今回は自動生成されたプログラムを利用して、スイッチとLEDを制御します。 動作仕様 何度も確認してすみませんが、今回作成するプログラムの動作仕様を再度確認します。...

シリーズ記事
最終回 MCC(8) 〜MCC設定変更〜 応用編の最終回です。 説明内容 今回でMCCの説明は最後になります。また応用編の最終回です。 今までMCC上で一通りの設定を行い、プログラムを自動生成し、最後にプログ...