Category Archives: 電子回路 カテゴリ "電子回路"のRSS  

[PIC]MPLAB ICDで、「ICDWarn0015エラー」出た場合の対処法

2012年11月1日 (カテゴリ: PIC:, )

現象 MPLABでICDを使用してデバッグしようとすると、以下のエラーメッセージが表示される。 ICDWarn0015: Program memory has changed since last program operation? Continue with Debug operation?ICDWarn0015: Program memory has changed since last program operation? Continue with Debug operation? コンソール上では、以下の様なメッセージが出力されます。 ICD0083: Debug: Unable …


続きを読む

[PIC]ICDWarn0013エラーが出る時の対処法

2012年11月1日 (カテゴリ: PIC:, )

MPLABでPICのライタにICD2を使用している場合、プログラムをデバッグ実行しようとした時に以下のエラーが出る事があります。 ICDWarn0013: Low Voltage Programming cannot be enabled when ICD 2 is used as a debugger. Disable Low Voltage Programming?ICDWarn0013: Low Voltage Programming cannot be enabled when ICD 2 is used as a debugger. Disable Low Voltage Progr…


続きを読む

抵抗のカラーコードと、虹色の関係

2012年10月27日 (カテゴリ: 電子回路基礎:)

電子回路で使用される抵抗は、抵抗値を示すためのカラーコードが有ります。 一目で見て分かるように、このカラーコードは虹を元にしています。 ですが虹は7色、カラーコードは10種類。 色と値がどのようにマッピングされているか気になったので、確認してみました。 カラーコードの1から7が基本的に虹の色と対応しているのですが、赤の後に茶が入るのと、藍色が無いのが相違点でした。藍色は、青と近くて紛らわしいから除かれたのでしょうか… また、足りない分の追加として、無彩色の黒、灰、白が加えられています。 覚え方の語呂合わせは、以下のものが有名です。 0 黒: 黒い礼服 1 茶: お茶を一杯、小林一茶…


続きを読む

[RPR-220]反射型フォトセンサを使ってみる

2012年10月16日 (カテゴリ: 電子回路基礎:, )

今回は、ローム製のRPR-220という製品を使用して、反射型フォトセンサの動作を確認します。 反射型フォトセンサというのは、LEDで照らした明かりを床などに反射させて、隣にあるセンサー(フォトトランジスタ)で受光することで対象の状態を確認するものです。 反射型フォトセンサは、フォトリフレクタや、フォトインタラプタと呼ばれる場合も有り、フォトセンサの”フォト”は光(photon)が語源です。 反射型フォトセンサの利用場面 反射型フォトセンサは、非接触で物体の有無や位置を検知したり、反射率の違いから色(白/黒)を検知できるという特徴を持っています。 ホビーユースだと、ライン…


続きを読む

[PIC24]UART機能を使用してRS-232C通信を行う

2012年10月14日 (カテゴリ: PIC:, , )

PIC24でUART機能を使用するサンプルです。 とりあえず動いたので、メモ代わりにアップしておきます。 設定は以下の通り。 PIC24FJ32GA002で確認 UART1を使用 送受信処理はポーリングベース(割り込みは使わない)   9600bps 8bit ノンパリティ ストップ 1bit   TxDのピン: RP5 RxDのピン: RP6PIC24FJ32GA002で確認 UART1を使用 送受信処理はポーリングベース(割り込みは使わない) 9600bps 8bit ノンパリティ ストップ 1bit TxDのピン: RP5 RxDのピン: RP6 PICからの出力はF…


続きを読む

[PIC,C30]#define USE_AND_OR の意味

2012年10月13日 (カテゴリ: PIC:, , )

PICでC30コンパイラを使用したプログラムサンプルを見ると、以下のdefineをしている場合があります。 #define USE_AND_OR#define USE_AND_OR このdefineは、ライブラリの下位互換のために使用されています。 PIC24Fのperipheral libraryでI/Oレジスタのフラグ設定方法が、v3.00から変わった事に伴う対応です。 ver3.00までは、複数のフラグを設定する時ORで結合していました。 ConfigIntUART2(UART_RX_INT_EN | UART_RX_INT_PR6 | UART_TX_INT_EN | UART…


続きを読む

PIC24で出力コンペアを使用して,指定した周波数で矩形波を出力する

2012年10月13日 (カテゴリ: PIC:, , , , )

PIC24Fには、タイマモジュールを使用した出力コンペア機能があります。 出力コンペア機能には、以下の3つのモードがあります。 1.シングル比較一致モード   2.デュアル比較一致モード 単一出力パルスモード 連続出力パルスモード   3.単純パルス幅変調モード フォルト保護入力付き フォルト保護入力なし1.シングル比較一致モード 2.デュアル比較一致モード 単一出力パルスモード 連続出力パルスモード 3.単純パルス幅変調モード フォルト保護入力付き フォルト保護入力なし 今回はこの中で、2.デュアル比較一致モードの連続出力パルスモード機能を使用してみます。 この機能を使用…


続きを読む

[PIC]PICの資料にある”R-M-W”の意味

2012年10月13日 (カテゴリ: PIC:)

PICについて書かれた資料や書籍を見ると、出力ピンの説明で”R-M-W”と書かれている場合があります。 このR-M-Wは、Read,Modify,Writeの略です。 PICでは出力ピンの特定ビットのみ(例えばPortBのRB0)を変更する場合でも、一旦PortBの全ビットに紐付くピンの電圧を読み取った後(Read)、プログラムで指定した値に書き換えられ(Modify)、PortBの全ビットを出力する(Write)という振る舞いをします。 これは、アセンブラだとBSET,BCLRなどの特定ビットを操作する命令で起きます。 プログラマは、データを書き込んでいるだけのつもり…


続きを読む

[PIC]C30コンパイラをインストールする(dsPIC,PIC24用)

2012年10月12日 (カテゴリ: C, PIC:, , , , )

本記事ではPICのC言語向けコンパイラである、C30コンパイラのインストールと動作確認を行います。 C30コンパイラの正式名称は”MPLAB C Compiler for PIC24 MCUs and dsPIC DSCs”で、dsPICや,PIC24シリーズなどの16bitマイコンで使用可能なCコンパイラです。 C30コンパイラはPRO、Standard、Liteと3つのバージョンがありますが、今回は無償で利用可能なLite版を使用します。Lite版でもコンパイラとしてはフル機能が利用できますが、最適化が部分的にしか使用できないため生成される実行ファイルのサイズが若干…


続きを読む

[PIC]Timer2をPWMモードで使用時のレジスタ値と周波数の対応表

2012年10月8日 (カテゴリ: PIC:)

PICに搭載されているTimer2タイマにはCCP機能というものがあり、PWMとして使用することが出来ます。この際、レジスタにセットした値とPWMで出力できる周波数の対応が分かり辛かったので、Excelで一覧表を計算できるようにしてみました。 例えば8MHz駆動時にの周波数は以下の通りです。PIC16F88は、T2CONbits.T2CKPSレジスタの値によって最大1/16まで分周することが出来るのですが、8Mhz駆動だと限界まで遅くしても488Hz以下には出来ない事がわかります(クロックを落とせばもっと低い音も出せます)。 スピーカーから音を鳴らすのに使えないかと思って調べてみたのですが、下…


続きを読む

[PIC]16F88でRB6,RB7が入出力ピンとして使えない時にチェックする事

2012年10月7日 (カテゴリ: PIC:, )

PIC16F88等の18ピンのPICを使用している場合、RB6,RB7ピンが入力として使えない場合があります。 このような際ににチェックする事を羅列してみました。 RB6,RB7が入出力ピンとして使用できないときのチェックポイント Check1:アナログ入力ピンとの競合 RB6,RB7は、アナログ入力のAN5,AN6と共用になっています。 PORTBのデジタル入出力として利用したい場合は,ANSELレジスタの値を0にする必要があります。 [PIC]PIC16F88でPortAを入出力ピンとして動作しない場合にチェックする事 HI-TECH Cによるコード例 void main( voi…


続きを読む

[PIC]PIC16F88でPortAが入出力ピンとして動作しない場合にチェックする事

2012年10月6日 (カテゴリ: PIC:, )

PIC16F88にあるPortAのうち、RA0-RA4はアナログ入力と兼用になっているのですが、デフォルトではアナログ入力側が有効になっているのでデジタルのI/Oとして使用できません。 この為、ANSELレジスタ(Analog Select Register)をデジタル入出力として設定する必要があります。 ANSELレジスタ(0x9B) bit7 unimpremented bit6 ANS6 bit5 ANS5 bit4 ANS4 bit3 ANS3 bit2 ANS2 bit1 ANS1 bit0 ANS0bit7 unimpremented bit6 ANS6 bit5 ANS5 bit…


続きを読む

[PIC16F88]HI-TECH CでTimer1割り込みを使用する

2012年10月6日 (カテゴリ: C, PIC:, , )

PICの16F88はTimer0,1,2という3つのタイマーモジュールを持っており、それぞれのタイマーは役割が異なっています。 今回は、16F88でHI-TECH Cを使用してTimer1割り込みを利用し、0.5秒周期でLEDを点灯させてみます。 クロックは16F88の内部オシレータを8MHzで駆動させます。 #include <stdio.h> #include <htc.h>   #define TIMER_INTERVAL (0xffff – 20000) // TMRモジュールのカウント初期値 // 8MHz, 1/1プリスケーラで、10msecごとに…


続きを読む

書籍”Make: Electronics”の実験で必要なパーツリスト

2012年9月26日 (カテゴリ: 電子回路基礎:)

Make: Electronics ―作ってわかる電気と電子回路の基礎 ((Make:PROJECTS)) 以前Make: Electronicsという本を読んだのですが、、書籍中に書かれていた実験を行うためのパーツリストです。 自分で購入する時用のメモだったので、書籍に書かれているものと同じ数量とは限りません。 ものによっては予備として大目に買ったパーツもありますし、実際にやるまでも無さそうな実験については、購入を止めたパーツも有ります。 電磁リレーは沢山の電圧のものを多めに買ったのですが、この実験の後に使う場面が無いのでリレーは予備なしでも良かったかもしれません…。一旦動作原理…


続きを読む

[HI-TECH C]__CONFIG()でundefined identifier “CP_OFF”エラーが出る場合

2012年9月22日 (カテゴリ: PIC:)

出力されるエラーの例 [192] C:\project\pic\16F84A_Ctest\main.c; 16.12 undefined identifier "FOSC_HS"Error [192] C:\project\pic\16F84A_Ctest\main.c; 16.22 undefined identifier "WDTE_OFF"Error [192] C:\project\pic\16F84A_Ctest\main.c; 16.33 undefined identifier "PWRTE_ON"Error [192]…


続きを読む

Programmable XBee ProをX-CTUで設定する

2012年9月17日 (カテゴリ: XBee:)

XBeeのプログラム可能バージョンである”Programmable XBee Pro”を、X-CTUで設定しようとすると、手順どおり操作しようとしても正しく設定する事が出来ません。 X-CTUのテストボタンをクリックしても、以下のように文字化けしてしまいます。 ModemTypeすら取得できていません。 これは、Programmable版のXBeeには、プログラム可能なFreescaleのCPUと、無線通信を行うEmberのチップの2つが搭載されており、初期状態だとFreescaleに搭載されたブートローダが反応してしまうためです(Programmable版じゃない方は…


続きを読む

XBee設定ソフトの「X-CTU」をインストールする

2012年9月17日 (カテゴリ: XBee:)

前回の作業で、XBeeとシリアル通信できるところまで確認しました。 PCからXBeeへ接続をXBeeエクスプローラ無しで行う XBeeは買った状態では使用できず、初期設定を行う必要があります。 初期設定はATコマンドで行う事も可能なのですが、最初は製造元のdigi社が提供しているGUIツールのX-CTUを使うと楽チンです。 というわけで、今回はX-CTUのインストールと動作確認を行います。 X-CTUのインストール 下記のページにアクセスします。 X-CTU Software – Drivers – Digi International ページ下部の”Dia…


続きを読む

PCからXBeeへ接続をXBeeエクスプローラ無しで行う

2012年9月17日 (カテゴリ: XBee:)

前回書いたようにXBeeを購入したのですが、XBeeエクスプローラが在庫無しだった為に手に入れることが出来ませんでした。 XBeeだけでは何の意味も無いし、在庫が戻るまで待つのも時間が勿体ないところです。 という事で、手持ちのアイテムで何とか乗り切ってみました。 まずはXBeeがどうやってPCと通信しているか、データシートでチェックします。 2章のRF Module Operationを見ると設定はシリアルで行うらしいです。 また、XBee側は2.8~3.4Vな必要がある事が分かります。 USB接続のRS-232Cケーブルが有るのですが、これは-15V~15Vと電圧レベルが違うので使えません。…


続きを読む

XBee用のピッチ変換基板を組み立てる

2012年9月16日 (カテゴリ: XBee:)

今回購入したXBeeピッチ変換基板は、ピンの半田付けが必要なものなので早速取り付けていきます。 ピッチ変換の基板は、スイッチサイエンスから販売しているSparkFun製のもので、型番は”SSCI-KIT-XBSOCKET”です。 購入した商品は、基板のほかにXBeeからのソケットと、ブレッドボードに刺す為のヘッダピンが同梱されています。 まずは、上側のソケットを付けていきます。 ソケットをつけた状態で裏返して半田付けします。 ソケットが浮いてしまうとXBeeが刺さらなくなってしまうので注意します。 まず、赤枠で囲んだ両端のピンを先に半田付けしておき、ソケットが浮いていな…


続きを読む

XBee-PRO ZBを購入しました

2012年9月15日 (カテゴリ: XBee:)

前回調べたXBeeを実際にAmazonで購入しました。 購入したのは以下の商品です。 XBeeピッチ変換基板とソケットのセット × 2個 Programmable XBee-PRO ZB / ワイヤアンテナ型 × 2個 本体のXBee方は、”Programmable” XBee-PRO ZBだと基板内にプログラムも書き込めるらしく、将来遊べそうなのでこちらを購入しました。純粋にワイヤレス通信がしたいだけならProgrammableじゃないほうを買えば500円安いです。 変換基板の方はAmazonで見ると送料180円と書いてありますが、合計で3000円以上買うと送料無料に…


続きを読む