【きむ茶工房ガレージハウスの掲示板】

FC2BBS

26126

誹謗、中傷、虚偽情報や商用目的・宣伝目的等の利用と判断した場合は削除する事があります。

名前
件名
メッセージ
メールアドレス
URL
アイコン
文字色
編集/削除キー (半角英数字のみで4~8文字)
プレビューする (投稿前に、内容をプレビューして確認できます)

セグメントLCDパネルの直接ドライブ(解決しました) - S46年生おやじ

2019/10/18 (Fri) 13:52:51

以前この掲示板で掲題の質問をした者ですが、その後自己解決しました。
PIC16F19176を使っていたのですが、原因はcom(未割り当て)とseg(割り当て)のピンがバッティングしていることでした。
使わないcomの未割り当てpin(1/3com駆動時のcom3,com4,com5など)にsegを割り当てる(エラーにならず割り当てできましたが)とコントラストが出なくなり、理由がわからなくなっていました。
この組み合わせを避けて再度segを割り当て直すと希望通りの動作となりました。
お騒がせいたしました!

PIC24FJ64GB002にUSBキーボードをつなぐ - ネコ

2019/10/09 (Wed) 06:19:14

http://zattouka.net/GarageHouse/micon/USB/HOST/CDC/CDC.htm

このページでデバイス側にUSBキーボードを接続して
タイプした文字 例:Aを押したら+1でBが帰ってくるのでしょうか?

よろしくお願いします。

有料相談のお願いはどちらから? - S46年生おやじ

2019/10/06 (Sun) 04:28:03

有料でご相談できるというメッセージがありましたが、どのようにご連絡をさせて頂けるでしょうか?

セグメントLCDパネルの解析とMCCのGUIを使ったLCD直接表示について - S46年生おやじ

2019/10/06 (Sun) 04:21:20

PICを趣味にやっております。こちらへは困ったときのgoogle検索で良くたどり着いては、助けて頂いております。
さて、とある方からデータシートの無いセグメントLCDパネル(おそらく炊飯器のもの)を頂きまして、これを直接表示することをやろうとしております。
環境はMPLAB XにMCC(v3.85.1)を入れまして、PIC16F19176で表示してやろうと思いましたが、うまくいきません。
LCDパネルのcomとsegの関係はおおよそわかったのですが、十分なコントラストが得られない、思っているように表示されないといったことを繰り返しております。
例えばこちらで謎のセグメントLCDを解析からMCCのLCDライブラリを使って表示させる、というところを記事にして頂けないでしょうか!
ご検討宜しく御願いします!!(セグメントLCDは提供させて頂きます)

pic間の通信について ごりらいも

2019/09/17 (Tue) 14:58:16

pic16f628a同士を通信させてデータのやり取りさせたいのですがやり方がわかりません。また、picの空いているピンも少ないので単純に繋ぐだけではピンが足りないです。

PICの疑似乱数(rand)の使い方について について sho

2019/08/27 (Tue) 00:05:28

はじめまして.
PIC初心者で,いろいろと参考にさせて頂いています.
こちらのホームページは,私のバイブルで,大変有りがく思っています.

今回お伺いしたいのは,お造りになったrandom.cの保存です.
v2.05を使用しているのですが,XC8 C Compile V1.00 と同じディレクトリ構造になっていないようです.
「sources」はC:\Program Files\Microchip\xc8\v2.05\pic\sources
にあるのですが,これでよろしいでしょうか?
一応,いろいろなディレクトリにコピーしたのですが,コンパイルエラーになってしまいます.

なにか,サジェスチョンありましたら,よろしくお願いいたします.

Re: PICの疑似乱数(rand)の使い方について について - きむしげ

2019/08/30 (Fri) 09:50:34

こんにちは、 shoさん

random.c/random.hはmain.cと同じディレクトリに作成しますが、
IDEにrandom.c/random.h/main.cのファイルを取り込む(設定)必要が有ります。
それと、使うPICに合わせてアナログ設定レジスタを変更する必要が有ります。

Re: PICの疑似乱数(rand)の使い方について について sho

2019/08/31 (Sat) 00:34:48

お忙しい中,ご回答ありがとうございました.
ちょっと難しかったのですが,なんとか見様見真似でPIC16F1827で動作することは確認しました.

そもそもは,PIC10F322で標準のrand()をやっても乱数が発生せず,よい方法はないかと検索してこちらに行き着いた次第です.同じ乱数が発生してもかまわないので,むりやり,乱数発生部分を関数としてmain.cの中に入れてみたのですが,コンパイルは正常終了しますが,乱数は発生しませんでした.
PIC10F322では乱数は使えないのでしょうか?
なお,PIC10F222では「メモリ不足」でコンパイル自体ができませんでした.

実は,ブツを小さくするために米粒ICを使いたいのです.
PIC12F1822の小さいタイプ(soかな)では,標準のrand()が正常に使えてます.
これで我慢するしかないでしょうかね.

Re: PICの疑似乱数(rand)の使い方について について - きむしげ

2019/08/31 (Sat) 11:09:35

こんにちは、
標準のrand()だけのコンパイルで、
プログラムが約135Word、データが約27Byteなので
10F222のデータ領域が23Byteのようですね。
他のプログラムを組む事を考えるとぉ、10Fでは無理っぽいですね。
12FのSOICパッケージで我慢でしょうか。

Re: PICの疑似乱数(rand)の使い方について について sho

2019/08/31 (Sat) 13:22:16

返信ありがとうございます.
どうやらそのようですね.
いろいろやってみたのですがだめでした.
気が付かなかったのですが,10F322でプログラム領域が98%になっていました.dataは余ってましたが…
これじゃ多分無理なのでしょうね.
12F1822のSOICパッケージでやることにします.
いろいろありがとうございました.
また,質問の折にはよろしくお願いいたします.

XBeeの通信開始までの時間 北の住人

2019/08/10 (Sat) 14:50:48

いつも記事を読ませていただいております。
最近、XBeeを購入してArduinoとの組み合わせで通信にチャレンジしています。

親機と子機の組み合わせで通信しています。
子機から親機に定期的に信号を送信していて、親機で受信することまで確認済です。

今困っていることとして、子機の電源を入れた際に、1度だけ信号を送りたいのですが、親機でこの電源ON時の1度だけ送られてくる信号を受信できません。
(1度送信した後は、定期的な信号を送信→受信できています。)

電源をONしてからしばらく時間が経過しないと、XBeeの通信はできないのでしょうか。

Re: XBeeの通信開始までの時間 - きむしげ

2019/08/15 (Thu) 16:59:48

こんにちは、北の住人さん

XBeeは電源がONしたら、ネットワークに接続を行います。
ネットワークに参加出来るまでは送信不可ですので、
時間経過が必要です。

Re: Re: XBeeの通信開始までの時間 - 北の住人

2019/08/18 (Sun) 18:29:34

回答ありがとうございます。
その「時間」は、どのくらいでしょうか?
仕様があるのでしょうか?

Re: XBeeの通信開始までの時間 - きむしげ

2019/08/20 (Tue) 09:02:08

>仕様があるのでしょうか?
 分りません、多分ない様に思えます。
>その「時間」は、どのくらいでしょうか?
 不明ですが、XBeeの状態によりまちまちかとぉ。
 XBeeの15番ピン(DIO5/ASSC)にLEDを配線すれば
 ネットワークに参加すると点滅するので解りやすいでしょう。

MPLABXのMCC - リーチ

2019/08/03 (Sat) 22:27:38

いつも開発の参考にさせていただいております。
とってもわかりやすい記事をありがとうございます。

いきなりですが、MPLABXにMCCという機能が追加され、
I2Cなどもそこから利用できるらしいと知りました。
今まで、きむ茶工房さんのI2C通信の記事を参考にしていたのですが、
公式で搭載されたとのことであらゆるシリーズへの対応が簡単なのではと思いました。

そこで、MCCでのI2Cのマスタ、スレーブの使い方を是非ご教授願いたいと思い書き込みをいたしました。

設定をするところまでは多分できたのですが、送受信データの取り扱いがイマイチわかりません。
もし、よろしければよろしくお願いします。

Re: MPLABXのMCC - きむしげ

2019/08/04 (Sun) 12:54:55

リーチさん こんにちは!

MCCをを使って[Generate]させれば実行可能ファイルが生成されるのですがぁ、
生成されたファイルは細かいライブラリファイルに分割され、見通しが悪く
又、英語なので分かりにくいのでぇ、
現在私はMCCでI2Cを利用する方法は行っていません。m(_ _)m
御自分で実験等を行ってください。
どうしても必要なら、要ご相談(有料)とさせてください。

Re: MPLABXのMCC - リーチ

2019/08/04 (Sun) 13:23:00

きむしげさん
ご返信ありがとうございます。

なるほど…
もう少し粘って自分で頑張ってみます!

MCP4725 EEPROM書き換え - 大学院生

2019/07/10 (Wed) 15:46:37

はじめて投稿させてもらいます.
大学院の研究でマイコンを使っておりまして,その中でDACが必要になり,MCP4725を使っています.配線をし,出力をコントロールすることはできています.しかし,電源ON直後の半分の電圧を0にしたくて,色々調べたりしたのですが,プログラミングにあまり詳しくないというのもあり,できていません.

こちらのMCP4725についての記事で設定を変えられることを知ったのですが,具体的にEEPROMの書き換えのコードを教えていただけたらと思います.

ただ,私が使っているのはArduinoではなく,mbed(LPC1768)ですが助けていただけますでしょうか?

ちなみに私が使っているMPC4725のライブラリはこちらです.
https://os.mbed.com/teams/The-Best/code/MCP4725/

突然ですが申し訳ありません,よろしくお願いいたします。

Re: MCP4725 EEPROM書き換え - きむしげ

2019/07/11 (Thu) 13:22:40

こんにちは

ans = I2C_Start(adres,RW_0);
if (ans == 0) {
  I2C_Send(0b01100000) ;
  I2C_Send(0b00000000) ;
  I2C_Send(0b00000000) ;
}
I2C_Stop() ;
でいけると思われますが?
実験していないので何ともな所はありますが
(データシートを読みましょう)
EEPROMなので、1回実行すれば良いと思われます。

Re: MCP4725 EEPROM書き換え - 大学院生

2019/07/11 (Thu) 17:42:22

早速返事を頂きありがとうございます.

以下のようなプログラムでしようと思ったのですが,コンパイルできません.間違っているところを教えていただけたらと思います.

#include "mbed.h"

I2C i2c(p28, p27);
Serial pc(USBTX, USBRX);

int main()
{
int ans;
const int adres=(0x60<<1);
unsigned short RW_0;

ans = I2C_Start(adres,RW_0);
if (ans == 0) {
  I2C_Send(0b01100000) ;
  I2C_Send(0b00000000) ;
  I2C_Send(0b00000000) ;
}
I2C_Stop() ;
}

このプログラムだと,"I2C_Start"is undefinedとエラーメッセージが来てしまいました.

Re: MCP4725 EEPROM書き換え - きむしげ

2019/07/11 (Thu) 19:23:23

当たり前です。
例のプログラムはPIC用のSKI2Clib.cを利用した場合の
例です、mbed(LPC1768)では有りません。
mbed(LPC1768)用に書き換えて下さい、
例ではどんなデータを送ればよいかを示しているだけです。
私はmbed(LPC1768)については解りません
御自分で変換を行ってください。

Re: MCP4725 EEPROM書き換え - 大学院生

2019/07/12 (Fri) 13:34:38

そういうことだったんですね,わかりました.
後は自分でやってみます,ありがとうございました.

Re: MCP4725 EEPROM書き換え - 大学院生

2019/07/12 (Fri) 16:44:42

書いてくださったプログラムを基にして,うまくいきました.ありがとうございました.

XBee 1対N通信 通信素人

2019/07/01 (Mon) 14:49:27

"XBee無線通信の実験"を見させていただいております。
PICマイコンを使用してAPI通信を実現されていますが、
私も同じようなことにチャレンジしています。

[今のシステム]
XBee (Cordinator) - (API) - XBee (Router) - (USART) -PICマイコン

Router+PICマイコンを子機として、複数の子機と親機との間で通信を行うシステムに挑戦しています。

1対N通信が初めてのため、次のことが実現できるのか不安に感じています。アドバイス等いただけると助かります。

[実現したいこと]
PICマイコンに2つのセンサがついています。
センサAは、単純なON/OFF
センサBは、アナログ出力(PIC内部で10bitに変換)

①センサAが、ONになったら直ちに、親機に信号("A)を送る。
②センサBの値が、ある値以下になったら、親機に信号("B")を送る。

①、②ともに、判定はPICマイコンが行っています。
ホームページの"実験パート5"の内容は、
『RA1に接続されているタクトSWを押すと、親機にデータ送信する』とありますが、

PICマイコン-(USART)-子機(API Router設定)
⇔親機(API Cordinator設定)

この接続で、PICマイコンからデータ(例えば、フレーム10で"test")をPICから子機に送ると、親機が"test"と受信できるのでしょうか?


今までは、1対1の通信しか試したことがなかったので、教えていただけると助かります。

Re: XBee 1対N通信 - きむしげ

2019/07/02 (Tue) 10:24:32

こんにちは、通信素人さん。

XBeeの私の記事も1対1のみの実験ですがぁ
1対Nも同じような操作でいけると思いますが...
X-CTUで親にぶら下がっている子機の表示が出来ていれば
通信可能なはずです。
現在XBee3が出ているので手に入れたら1対N等の実験を
試したいとは思っていました。

Re: XBee 1対N通信 - きむしげ

2019/07/02 (Tue) 20:15:37

こんばんは、通信素人さん。

私のと同じ様なPICやXBee等で先ずは実験をそれから弄ってくださいと言いたい所なのですがぁ
なかなかそうはいかないものですかね
PICKit等でデバッグを行いプログラムが思った通りに
動作しているのかをステップバイステップで確認しましょう。
その方が何処までチャンと動作しているのかはわかるはずです。

PS. - きむしげ

2019/07/03 (Wed) 09:13:03

プログラムメモリ容量のギリギリの場合はプログラムが
正常に動作しない場合があります。
3割位は余裕ないとって感じはありますが,,,

Re: XBee 1対N通信 - きむしげ

2019/07/05 (Fri) 11:33:01

こんにちは、通信素人さん。

XBee3が届いたので、パート5の記事を行いました。
結果は送信できています。
親機:S2C
子機:S2,PIC16F18326
XBeeの設定をもう一度みなおしてください。
両機がAPIモードになっていること、
時に"Serial Interfacing"の"AP"が"1"であること。
後、x = XBee_SendPacket10(dt,i,1) ;の
x値が何を返しているのかを調べましょう。

Re: XBee 1対N通信 - きむしげ

2019/07/11 (Thu) 13:14:32

こんにちは

親機がATモードであれば送信されたデータを何であれ受信するはずです。
子機がフレーム10を送ったならフレーム10を表示するでしょう。
APIモードならフレーム10で送っても親機はフレーム90で"test"を受け取ります。
この変の話はパート4を読み直しましょう。

親機・子機共にPAN IDは番号を同じ(0以外)にしていますか?
同じ番号のグループでネットワークが形成されます。
子機のDH/DLは親機のアドレスを設定したほうが良いかもね。
親機はDH=0/DL=0xFFFFでよいでしょう。


Copyright © 1999- FC2, inc All Rights Reserved.