[HOME] 究極の鳥型グライダー   (C)inakakoubouKANAI
PIC12F683を使った発見ブザーの製作
草むらに降りたときに発見ブザーがあると便利です。飛行中にトビに追われたとき、着陸を知らせたいときにも尾を上げるか、下げるとブザーを鳴ると便利です。その操作をPICにプログラミングして、100円ショップで買った防犯ブザーから取り出した圧電ブザーを慣らします。

 1.使う部品
  マイクロコンピュータ PIC12F683 
  ソケット
  ダイオード E102 
  コンデンサー 0.1μF
  抵抗器 10kΩ
  トランジスタ  2SC1815Y
電子ブザー(または、防犯ブザーから取り出した圧電ブザーでも良い)

2.防犯ブザーから圧電ブザーを取り出す
100円ショップで買った防犯ブザーのフタを開けて、基板にカッターで傷を付けてニッパで切り、圧電ブザーの発信器を取り出します。
 
 
ブザー部分をケースを切り抜いて取り出し A の部分をショートします。

発信器と圧電ブザーを使います。

発信器の+と-にPICの回路をつなぎます。


3.配線
PICがブザーを鳴らす回路を作ります。
  ダイオード、コンデンサー、抵抗、トランジスタ、ブザー、PICソケットを使います。
全部で150円程度です。
<抵抗R1>
 マイコンの出力電圧 = 5V
 ベースエミッタ間飽和電圧 = 1.0V
 ベース電流 = 負荷の電流 ÷ 直流電流増幅率  = 30mA ÷  200 =  0.15 mA (2倍して0.3mA)
抵抗R1 = (マイコンの出力電圧 - ベースエミッタ間飽和電圧) ÷ ベース電流 = ( 5V  - 1.0V ) ÷  0.3mA = 10 kΩ
 
プログラムを書き込んだPICをソケットに挿したら、完成です。
動作を確かめ、問題があったら、プログラミングからやり直します。100回ほど書き直しができます。

 電子ブザーを使った発見ブザー

 圧電ブザーを使った発見ブザー

4.プログラミングの準備 (費用:5000円程度)
PICを使うために必要な物です。
パソコン パソコンの画面でC言語(またはアセンブラ)を使ってプログラミングします。 PICkit3、MPLABが使えるパソコンはWindows,LINUX,MACなどがある。
  PICkit3    USBでパソコンとつなぎ、PICにプログラムを書き込む装置です。
5000円程度ですが、機能が公開されているために同じ機能でもっと安価なものも売られています。
  書き込みアダプター   ソケットにPICをさして、PICにPICkit3からプログラムを書き込めるようにします。
200円程度で作ります。
 
  MPLAB X IDE  PICkit3へ作ったプログラムを送るソフトで、ネットからダウンロードします。 無料です。2020年は X IDE になっている。
  MPLAB XCコンパイラ  MPLAB X IDEをインストールするときに同時にインストールされるPIC専用のC言語です。MPLAB X IDEを起動して利用します。 無料です。いろいろな種類のCコンパイラーがある。Cコンパイラによって命令語の使い方が異なります。
5.プログラミングソフトをセットアップする
  MPLAB X IDE のインストール



※MPLAB X IDEからXCコンパイラが起動できるようになります。
https://www.microchip.com/mplab/mplab-x-ideを開きMPLAB X IDEをダウンロードしてインストールする。

  ↓

  ↓

  ↓

※MAC、Linux用もある。
      
  MPLAB XCコンパイラのインストール



※PIC専用のC言語です。PICの設定をする記述ができます。
https://www.microchip.com/mplab/mplab-x-ideを開きMPLAB Cをダウンロードしてインストールする。

  ↓

  ↓

  ↓


インストールの途中でMPLABと統合をする。



ライセンスを選ばなければ、無料版になる。
無料版は、最適化が行われない。

6.PICの仕様
 PIC12F683    詳しくはデータシートを調べる
最大20MHzのクロックで動作し、AD変換内蔵で内部発振による動作が可能
内部発振は、ソフトウエアにて変更可能最大8MH
スリープモードをサポート
動作電源電圧 2.0-5.5V
A/D変換 10ビット分解能
PWMサポート
プログラムメモリー 2048ワード
SRAM揮発性メモリー 128バイト
EEPROM不揮発性メモリー 256バイト
<絶対最大定格>
 ・動作温度  -40℃~125℃
 ・保存温度  -65℃~150℃
 ・電源電圧  -0.3V~6.5V
 ・入力電圧  -0.3V~電源電圧+0.3V
 ・出力電流  最大25mA
VDDは、電源+、VSSは、電源-

GP0~GP2,GP4~GP5は入出力として使用でき
各ピンは最大25mAの電流が流せる。

GP3は入力専用で出力には使用できない。
Vss 電源(0V) 
Vdd 電源(+5V) 
GP5/T1CKI/OSC1/CLKIN 出力用に設定 

GP0~GP2,GP4~GP5は入出力として使用でき、各ピンは最大25mAの電流が流せる。
GP3は入力専用で出力には使用できない。

GP4/AN3/^T1G/OSC2/CLKOUT 入力用に設定 
GP3/MCLR/Vpp PICkit3に接続
GP2/AN2/T0CKI/INT/COUT/CCP1 空き
GP1/AN1/CIN-/Vref/ICSPCLK PICkit3に接続 
GP0/AN0/CIN+/ICSPDAT/ULPWU PICkit3に接続 

7.プログラムで何をするか、手順を考える
受信機から、デジタル信号が出ます。
デジタル信号は、20msec程度の周期で、送信機のレバーがニュートラルのときの1.52msecを中心に1~2msec程度に変化します。
そこで、送信機のレバーを下げたときと、上げたときにブザーが鳴るようにしたいと思います。
  


 
 
 <手順>
 1 タイマー0を使って、0.01msecごとに受信機からのGP4を調べ、信号がONになっている回数を調べる。
 2 信号が162回以上ONだったら、GP5をONにする。 
 3 信号が142回以上ONだったら、GP5をOFFにする。
信号が142回より短かったら、GP5をONにする。

8.C言語のプログラミングソフトの起動
C言語でプログラミングするには、MPLAB X IDE を起動して、以下の手順で行います。
(1)プロジェクトの作成からはじめます。
 File → New Project を選択 
Choose Project → Standard Project 
Select Device → Family = Mid Range 8-bit → PIC12F683 
Select Header → 変更無し 
 「4.Select Plugin Bord」はパス。
Select Compiler → XC8 
Select Project Name and Folder → Project Name = PIPI → Encoding = ISO-2022-JP
以上でProjectに PIPI が追加される。 

(2)ソースファイルを開きC言語で記述する画面にします。
Projects の PIPI のSource File を選び、メニューから File → New File を選択する  
Choose File Tipe → Categries = MicrochipEmbedded → XC8 Compiler 、 FileTipe = main.c
 
Name and Location → File Name = PIPI1 、 Extenion = c 
 
  以上でC言語を記述するソースファイルの画面になる。
 
  /* から */までの間の注釈欄を作品名などに書き換える。
 

(3)ソースにコンフィグレーションを書きます。
選択するだけで、コンフィグレーションが書き出されます。コンフィグレーションでPICの基本的な使い方を指定します。
MLAB X IDEの画面で、 Production → Set Configuration Bits を左クリックする。
Option を選択する。 
 を左クリックして、表示された記述をコピーして、コーディングのページにペーストする。
 
<コンフィグレーションの設定項目> 
FOSC:外部クロックを使うか、内部クロックを使うか → INTFCCLK内部を使う 
WDTE:ウォッチドッグタイマー(フリーズしたときに復帰させる処理を書くときに使う)を使うか → OFF使わない
MCLRE:ハードウェアリセット(スイッチで再起動する)を使うか → OFF使わない
CP:プログラムプロテクト(プログラムの読み出しを保護)を使うか → OFF使わない
CPP:データプロテクト(データの読み出しを保護)を使うか → OFF使わない
BOREN:ブラウンアウト(電源が不安定になったときの処理)を使うか → ONにしてブラウンアウト発生時にマイコンを停止する
IESO:2段階クロック(外部クロックを使う前に内部クロックを使う)を使うか → OFF使わない
FCMEN:バックアップクロック(外部クロックが壊れたら内部クロックを使う)を使うか → OFF使わない

(4)メインルーチン、サブルーチンを書き加えます。


(5)PICに書き込む形式にビルドして完成です。
を左クリックしてビルドします。( → Clean and Build Main Project)
Loding completed と表示されれば成功です。

9.PICとPICkit3をつなぎプログラムを書き込むアダプターを作る (費用:200円程度)
PICのピンに直接、PICkit3をつながないで、ソケットを使ってつなぐようにすると便利です。
    ソケットと10KΩの抵抗で作ります。
小さいソケットでも16ピンの穴があるので、
半分を使います。 
レバーを動かして、PICを外したり、止めたりします。

10.PICへ書き込む
MPLAB X IDE を起動してから、
パソコン→PICKIT3→書き込みアダプター→PIC をつなぎ
以下の手順を実行します。

プロジェクトが開いていなかったら、開きます。
書き込みツールを PICkit3に指定します。
 
供給するPowerを指定します。
 
電圧を4Vにします。






4Vにします。
他の電圧だとうまくいかないようです。
を左クリックして、書き込みます。 
 Verify completeと表示されれば成功です。
 <TOP