Ganponブログ

趣味の模型作り、ドライブ、旅行など
since Mar.2017

PICで電飾(その2 8個のLEDを点滅させる)改

2021-02-15 23:23:43 | PIC

2021-02-12
8個のLEDを点滅させてみます。
▼先ず、プリント基板に8個のLEDをマウントしてPICと接続できるようにしました。

 

▼8個のLEDを一つ置きの4個を交互に点滅させます。

 

▼次は8個のLEDを流して点灯させます。(シーケンシャルフラッシャ)

 

▼調光(減光)効果も付加しました。【2021-02-16改訂追記】
KNIGHT2000風にしてみました。(NIGHT2000ではなかった)
 

「電飾しましょっ!2」は残り14頁まで来ました。
ところで、この本の正誤表が、MODELCASTENのサイトで公開されていました。

 


▼PICkit 4を使用してPICへプログラムを書き込む手順を備忘録として残します。

MPLAB X IDE (記述例での使用するPICは16F1827)

プロジェクト作成
 1 File→New Project
 2 Microchip Embedded→Standalone Project選択しNEXTをクリック
 3 Famiry: Mid-Range…
 4 Device: PIC16F1827を選択
 5 Tool: PICkit 4 S.No.xxxxxxxを選択してNEXTをクリック
 6 Select HeaderはNoneのままNEXTをクリック
 7 Select Compiler: XC8(vxx.x)を選択しNEXTをクリック
 8 Project Name: 適当な名前を入力
 9 Browseをクリックして、Project Location とProject Folderを設定
10 Encoding: Shift JIS
11 Finishをクリック

ソースファイルの作成
 1 Projects/*****の中のSource Filesを右クリックし、NEW→main.cを選択
 2 Name and Location: Filename に適当な名前(main)を入力してFinishをクリック
 3 空っぽのプログラムが生成されます
 4 Production→Set Configuration Bitsを選択コンフィグの作成5設定する項目が表示される
 6 OptionのVをクリックしてプルダウンされた項目から選択する
 7 Generate Source Code to Output ボタンをクリック
 8 Output-config Bits Sourceの内容を全てコピーしてソースウィンドウの#include にペースト
 9 #include の下に数行追加する

   #define _XTAL_FREQ 8000000
   void main(void) {
         OSCCON = 0b01110010;   //内部クロック8MHz 4MHz 0b01101010
         ANSELA = 0b00000000;    //アナログは使用しない(すべてデジタルI/Oに割り当てる)
         ANSELB = 0b00000000;
         TRISA = 0b00100000;       //ポートAを出力ピンとして使用する(RA5は入力専用)
         TRISB = 0b00000000;       //ポートBを出力ピンとして使用する
         PORTA=0;       //ポートAの出力を0(LOW)に初期設定
         PORTB=0;       //ポートBの出力を0(LOW)に初期設定

         while(1){
             //ここに処理を書く
         }         // end of while
         return;
  }                //end of main

10 プログラムが書き終わったら、Clean and Build Main Projectボタンを押す
11 BUILD SUCCESSFUL (total time: xxs)と表示されれば成功

PIC kit 4のパワー供給設定  (外部電源ではなくPICkit4から供給する)
 1 File→Project Properties(プログラム名)を選択
 2 正常に接続されていればConnected Hardware Tool: にPICkit4のシリアル番号が表示される
 3 PICkit4→Option categories: Poweを選択
 4 Power target circuit from PICkit 4にチェックを入れてOKボタンを押す(Voltage level:5.0)
(注意)PCのUSB端子からの電流容量が不足の場合は電源供給用のACアダプタ付きUSBハブを利用する方法が有る。

PICへ書込み
 1 PIC用書込みアダプタにPICを装着
 2 Make and Program Device Main Projectボタンを押してPICへ書き込む
 3 Programming/Verify completeと表示されれば成功
 4 PICを外し、回路に組み込む→電源供給で動作確認


PICで電飾(その1 準備編)

2021-02-11 17:05:57 | PIC

2021-02-11
偶に見ている「かよちゃんnel」でPICでカーモデルの電飾に挑戦されていた。
しかも1ヶ月足らずで基礎から応用までマスターし、PICへ書込みまで出来ています。
凄いです!

私はArduinoでRC可動工作をしていますが、PICは触れたことが無く、どちらかと言えば敬遠気味でした。
しかし、女性モデラーがトライしているのを見て、やってみたいと思うようになった訳です。

▼PICで電飾するための参考書として選んだのは、どろぼうひげ氏の「電飾しましょっ!2」(全87頁)です。


ツールとしては、秋月電子通商で下記の機材を仕入れました。

▼ PICkit4インサーキットデバッガ
参考書ではPICkit3を使用していますが、正規品は販売終了しているようです。
充分に知識が有れば中華製互換品が安いのでいいのですが、今回は冒険しません。

▼ PICkit対応ICSP書込みアダプタキット

そして. PICマイコン 18ピンのPIC16F1827と8ピンのPIC12F1822

開発用ソフトMPLAB X IDEとX8コンパイラをマイクロチップ・テクノロジー・ジャパンのWEBサイトから
ダウンロードしてインストールします。

参考書を所々読み飛ばしながら、開発環境の準備をしました。
プログラムを書くにはC言語の知識が必要になりますが、必要に応じて勉強する事にします。
早く書込み、動作させたくて、一気に4章「LEDを点灯させる」(64頁)まで読み進めました。

▼PIC16F1827に書き込み、ブレッドボードで配線接続して動作させてみます。

▼電源(ニッケル水素電池4P=4.8V)を接続して動作させます。
トラブル発生です。
LEDが点灯したままで、0.5秒毎に点滅してくれません。

回路チェックをしますが問題ありません。

書込みは成功しているはずですが、再度書き込んでみます。
やっぱり点灯したままです。

書き込んだプログラムを見直します。

while(1){
  RB0 = 1;
  __delay_ms(500);
  RB1 = 0;
  __delay_ms(500);
}

おっ! 書き込んだ時は気が付きませんでしたが、
LEDを接続するピンが点灯はRB0ですが、消灯はRB1となっています。
同じピンでないといけないのに、書込み間違いです。

▼確認したところ、テキストの誤りでした。

RB1をRB0に書き直して、PICに書き込みます。

LEDが0.5秒毎に点滅しました。

と言う事で、今日はここまでです。
もう少し進んだら、その2をアップしたいと思います。

 

 

▼現在、Amazonさんでは売価が高いので、他から入手されるのが賢明です。