FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PIC18F14K50でLチカする



ずっと前からやってみたかったPICマイコンでLチカをやってみた。

【用意するもの】
マイコン
主人公。
今回は後述のPICkit3と相性のいい秋月の「PIC18F14K50使用USB対応超小型マイコンボード」を使った。
PICkit3
ヒロイン。
後述するX IDEと組み合わせるとマイコンにプログラムを書き込んでくれるという超優れもの。
俺みたいなニワカには必需品。
MPLAB X IDE
Microchip社が出してる統合開発環境。
「PICkit3でマイコン書き込む!」みたいな操作をワンクリックでやってくれる。神。
LED
秋月電子でまとめ買いした。なんでも大丈夫だと思う。
抵抗器
100Ωとか500Ωとか色々セットになっているやつが秋月に売っていたのでそれを購入。
ブレッドボード
なんでもいい。秋月(ry
12V ACアダプタ
Amazonで購入。
「【変換9種セット】ACアダプター 12V 1A プラスチック製 小型 (PSEマーク付) L型コネクタ」
電源モジュール
ブレッドボードに電源を供給するためのモジュール。
尼で「EasyWordMall 3.3V 5V MB102ブレッドボード用 電源モジュール パワーモジュール」を購入。
これおススメ。AC電源を3.3か5Vの安定化電源にしてくれる。3.3と5Vはジャンパで変更可能。
ジャンパワイヤー
秋月で購入。
長い線になってるタイプを買ってしまったのだが、コの字型になってる短いやつのほうが使いやすいと思う。
テスター
あれば色々と便利だと思う。今回は使わなかったけど。

【やり方】
1.とりあえずX IDEをインストール
2.プロジェクトを新規作成
New Project > Microchip Embeded, StandAloneProject > All Families, PIC18F14K50 > None > Pickit3の順
3.main.cファイルを作る
プロジェクトの中にあるSourceFileをファイルを右クリして New > main.cを選択
4.プログラムを書く
動画のように点灯させるソースコード。ほんとはループを使うべきなんだろうけど、C言語わからんのでゴリ押し。
ちなみに魔術連装のようなconfig設定については以下のサイトが非常に参考になった。
18F14K50覚書
#include <xc.h>
 
#pragma config FOSC = IRC    
#pragma config USBDIV = OFF, CPUDIV = NOCLKDIV
#pragma config IESO = OFF, FCMEN = OFF, PLLEN = OFF
#pragma config BORV = 30,  BOREN = OFF, PWRTEN = OFF
#pragma config WDTPS = 32768, WDTEN = OFF
#pragma config MCLRE = OFF, HFOFST = OFF, XINST = OFF
#pragma config BBSIZ = OFF, LVP = OFF, STVREN = ON
#pragma config CP1 = OFF, CP0 = OFF, CPD = OFF, CPB = OFF
#pragma config WRT1 = OFF, WRT0 = OFF, WRTB = OFF, WRTC = OFF
#pragma config EBTR1 = OFF, EBTR0 = OFF, EBTRB = OFF
 
#define _XTAL_FREQ 4000000

void main(void)
{
    OSCCON = 0b01010010; // 4MHz
    TRISC  = 0x00;
 
    while(1) {
        __delay_ms(250);
        RC1 = 1;
        __delay_ms(250);
        RC1 = 0;
        __delay_ms(250);
        RC2 = 1;
        __delay_ms(250);
        RC2 = 0;
        __delay_ms(250);
        RC3 = 1;
        __delay_ms(250);
        RC3 = 0;
        __delay_ms(250);
        RC4 = 1;
        __delay_ms(250);
        RC4 = 0;
        __delay_ms(250);
        RC5 = 1;
        __delay_ms(250);
        RC5 = 0;
        __delay_ms(250);
        RC6 = 1;
        __delay_ms(250);
        RC6 = 0;
        __delay_ms(250);
        RC7 = 1;
        __delay_ms(250);
        RC7 = 0;
    }
}
5.プログラムを書き込む
まずPickit3に書き込み用のソケットを取り付けて、一番左だけ使わないので外す(写真のように)
pickit3.jpg
あとはマイコンにこれをぶっさして、画像のボタンを押す。
write.png
ランプが点灯してるときは書き込んでるので動かさない。
コンソールに「Programming/Verify complete」というメッセージが出たら完了してるので外してOK。

6.回路を組む
とりあえずプログラム通りに回路を組む。図のような感じ。
kairo2.png
回路は全くわかんないんだけど、とりあえず「おまいら抵抗は絶対つけろよ!」ということらしい。
あとマイコンはかなりぎっちり固定しないとちゃんと動かないことがわかった。
ソケット?の上に乗っけただけだと動いたり動かなかったり・・・または動くけど消灯のときに消灯しきれていなかったりと、だいぶハマった。
半田付けしてしまうのが一番確実なんだろうけど、そんな技術ないのでびびってやめときました。
動画のようにマイコンにコードを直接ぶっさすようにすれば何とかなったし(笑)

7.スイッチを押す
今回購入した電源にはスイッチがついているのでそれをポチる。

うわああああ!光ったあああああ!
めでたしめでたしです。

やってみる前はPICとか回路とかわけわかんねーという気持ちしかなかったけど、ノリでなんとかなりました。
次は7セグメントLEDに挑戦してみようと思います。
ただね、こっちはちょっと調べたらダイナミック点灯とかトランジスタとかヤバそうな匂いがぷんぷんするのでノリでは無理かもしれません。
スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

DNeo

Author:DNeo
経営理念
1.お客様には最高の昇天を
2.お客様には最高の行動を
3.お客様には最高の笑顔を

ご来店、心よりお待ちしております
サミット川崎店並びにBENスタッフ一同

【所属団体】
日本川村学会
天地川村大明神信仰委員会
新興宗教組織「日本のみんな」教祖
横山精肉店スーパーバイザー

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
カウンター
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。