ラベル PICKit3 の投稿を表示しています。 すべての投稿を表示
ラベル PICKit3 の投稿を表示しています。 すべての投稿を表示

2014年9月25日木曜日

電光掲示板製作「点灯成功」


お久しぶりです~^^
基板と最低限のプログラムが完成いたしました。


基板を組み立て、電源を入れた状態では全く正常に動作いたしませんでした。
写真を見ての通り、大量の空中配線があります。

原因は単純で、今回使用した部品データに多くのミスがありました。
しばらく前に公開してしまったライブラリデータも修正した後投稿しなおします。


スターバックスで作業をしたりなんかもして、なんとかここまで来た次第です


今も大学で作業をしてます。
スクロール表示とリモコン操作プログラムの作成です。
まずスクロール表示から挑戦していますが、文字を流す(ずらす)速さは当然基準となる時間をカウントしたいので、タイマ割り込みに初挑戦しています。

今日中にでも成功させて、明日にでもスクロール表示は達成させたいですね。



さて、これにて失礼します。

いつも閲覧ありがとうございます(^^)

2014年7月9日水曜日

Duty比と列の数と明るさの関係を観察、やはり暗い

今あるトランジスタアレイのシンクは1.5(A)までしか流せないので、16個同時点灯時は93(mA)が限度だろう。
手元にある180(Ω)を5つ並列につなぎ89(mA)でダイナミック点灯時の明るさを再現してみた。
(訂正:Vceを引き忘れておりました。なので89の半分ほどの数値になります)

2列の場合
16列の場合
32列の場合

この三つを試した。



やはり暗いので、100mAの上限を超えて120mAくらい流さないといけないかなと思います。
もちろんシンクのトランジスタアレイも交換します。

2014年6月26日木曜日

赤外線通信成功

赤外線通信をついに成功しました。

これまで悩んできた方法は、38kHzの信号をディレイ関数を用いてソフトで作り出す手法でした。
原因かは分かりませんがデューティー比が綺麗に50%になっていなかったうえ、受信プログラムもスタートビットを受け付けたら600us待機して次のビットを受け付けるという処理をすべて不安定なディレイ関数を用いて行っていました。

そのため取りこぼしが結構あったのだと思います。

そこで、38kHzの搬送波をPWMでつくり、送信データはシリアル通信機能を用いてTXから出力しました。
PWMの搬送波とシリアル信号のANDをとることで、シリアル出力を38kHzに変調する事に成功しました。

この変調した波形を赤外線LEDの点滅に使い、赤外線受信モジュールで受信しました。

これまで撮影してきた動画を紹介します。

・PWM機能のテスト


・シリアル通信のテスト(赤外線未使用)

・赤外線を用いたシリアル通信


成功へのヒントを下さった方々に感謝いたします。

2014年5月21日水曜日

16F886とXC8でLEDチカチカ成功

さて、やっと動作しました。

ずっと動かなかった原因はコンフィギュレーションの設定漏れでした。

細かく試していませんが、存在する設定は何らかの設定にしてあげないと動かないようです。

こちらが動画です。 4秒ほど笑


400msで点滅を繰り返しています。キリの悪い数で気持ち悪いのでこのあと乗せるプログラムは500msにしています。

/*
 * File:   L_tika.c
 * Author: windows
 *
 * Created on 2014/05/16, 21:12
 */
#pragma config CPD = OFF,\
               BOREN = OFF,\
               IESO = OFF,\
               DEBUG = OFF,\
               FOSC = INTRC_NOCLKOUT,\
               FCMEN = OFF\
               WDTE = OFF,\
               MCLRE = OFF,\
               LVP = OFF,\
               PWRTE = OFF,\
               WRT = OFF
/*
 *CPD -> Data Code Protection bit
 *BOREN -> Brown Out Reset Selection bits
 *IESO -> Internal External Switchover bit
 *DEBUG -> In-Circuit Debugger Mode bit
 * FOSC -> Oscillator Selection bits
 * FCMEN -> Fail-Safe Clock Monitor Enabled bit
 * MCLRE -> RE3/MCLR pin function select bit
 * WDTE -> Watchdog Timer Enable bit
 * LVP -> Low Voltage Programming Enable bit
 * PWRTE -> Power-up Timer Enable bit
 */
#include <stdio.h>
#include <xc.h>
#include <pic.h>
#define _XTAL_FREQ 5000000

static void set_port();

void main(void) {
    set_port();

    while(1){
        PORTA = 0xff;
        __delay_ms(500);
        PORTA = 0x00;
        __delay_ms(500);
    }
    return;
}
static void set_port(){
 TRISA = 0x00;  //output mode
 PORTA = 0x00;  //cleaning

 return;
}
さて・・・ ここまで苦労しましたがここから赤外線の制御にやっと入れます。
16F886は内部クロックがあるのでそれで動作させていますが、赤外線の実験は 16F84A というものを使います。
初めて外部クロック(セラコン)を使うので動作してくれるか不安ですが何とかするしかないですね~^^

2014年5月20日火曜日

PICKit3 to MPLAB X IDE 接続エラー回復

私の問題発生時の状況としては
・MPLAB IDEではPICKit3を認識するが、MPLAB X IDE ではデバイスは認識しているが書き込み時に

Connection Failed
のエラーが出る。

解決に至った手順

PICKit3 Programmer をインストール(インストール手順は検索してください)
起動するとおそらくこういう状況
「The PICKit3 is  MPLAB mode. Use the Tools menu to download OS compatible with this application.」
(当PICKi3はMPLABモードです。ツールメニューを用いてこのアプリケーションと互換性のあるOSをダウンロードしてください)恐らく

なので指示通りインストールします。

分かると思いますが上の写真の場所です。
OSがインストールされるとうえの画像の背景のように認識がされます。


最後に次の画像の場所をクリックしてMPLABモードに戻します。
いろいろメッセージが出た気がしますが選択肢も無いと思うのでOKを押せば結構コケコッコー

私のPCではなぜかこのソフトは普通にはエラーがでて終了できず、プロセスから毎回落としてます。なぜだろう・・・。



あと、MPLAB X IDEをインストールするとついてくる 「IPE」というソフトでも、わざわざプログラムを書き込まなくても接続テストが出来ますので使ってみると良いと思います。




あとあと、MPLAB X IDE で書き込みが出来るとこんなメッセージが出ます。


2014年5月16日金曜日

MPLAB X IDE、いと難し


まず、書き込み基板は完成しました。



想像以上に鬼配線でしたがなんくるなりました。

しかし、MPLAB X IDEとのコネクションエラーが治らない。

MPLAB IDEでは繋がるのです。


MPLAB IDEの接続もエラーコードをググっては試す繰り返しでしたが。
(Programmerからの供給電圧を5vに設定するなど…。あとPICKitはPICなどのデバイスに((正しく!))接続しないとMPLAB IDEへの認識すら出来ません。

虚しくも今日はこんなことに3時間以上も費やしました。
ほんとーに大変。

Lチカは本当にバカに出来ません。
特に授業で学ぶ時などは環境が整っていますしサンプルプログラムもあるので平然とできてしまいますからね…。

50mの壁よりも高いLチカですが、早いとこ片付けます。

2014年5月15日木曜日

PICKit3書き込み基盤制作

MPLAB IDEをこれまで使用していましたが、16F1938など最新のPICは MPLAB Xでしか書き込みができなくなりました。
そこでPICKit3を購入しました。

プリント基板の練習に書き込み基盤作りに取り組みました。


ソフトはEAGLEを使用


3回の失敗を経て基盤は完成しました。
しかし設計のミスでとても使えるものではなくなりました。

今日、自分でワイヤを抜き差しするタイプに作り直そうと再度挑戦しました。


このフィルムを見ていただければわかるかと思いますが、超単純です。

ところが、現像液が限界に達したようで使えるものが作れませんでした。
基盤も二枚犠牲になりました…。

すぐには買いに行けませんし、それほど複雑なものではないので手元にあったユニバーサル基板で作り始めました。



あと20本繋げば完成です。
本日は22:30まで会室に居てしまいました。
寝泊まりしたいものです。

ーー追記ーー

これはエッチング液ではなく…現像液です。驚きの黒さ。こんなものなのでしょうか?