• ベストアンサー

4桁7セグメントLEDのピン配置

Panasonicの4桁7セグメントLEDのピン配置で私には理解出来ない所があります。 それは http://www.kazumi-kikou.com/pdf/LN543RAN.pdfの図面で、ピン配置表の Pin No.2の(Cothode Dig1)とPin No.5の(Cothode Dig2)です。 左のLEDの絵に対応しているとは思えません。どうなっているのでしょうか。不思議です。 ただ、私があほなだけでしょうか。 どちら様か、詳しい方教えて頂けないでしょうか。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

データシートの訂正が出ています。(アノードとカソードが逆) 最新版はhttp://industrial.panasonic.com/www-cgi/jvcr21pz.cgi?J+SC+4+BFA7000+5+LN543+JPからダウンロードできます。

ogun
質問者

お礼

早速のご回答ありがとうございました。 スッキリしました。おかげで様で納得致しました。 感謝、感謝です。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • chie65535
  • ベストアンサー率43% (8536/19407)
回答No.1

Pin2,5,8,10のDig1~4は、4桁あるLEDの、どの桁かを指定するピンですよ。

ogun
質問者

お礼

ご回答ありがとう御座いました。 違うんです。よく見て下さい。 ピン番号とピン名のつじつまが合わないのです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • PICによる7セグLED3桁制御

    PICによる7セグLED3桁制御 度々こちらに、お世話になっております。 今回は、3桁のLEDを1から999までカウント表示する プログラムに取組んでいるところ希望通りに、動いてはくれません。 このソースのベースは2桁(1から99までカウントUP)の ソースコードを変更して、3桁表示させる様にしてみました。 コード概要はtimer0割込みで3.2msのインターバルタイムの間、 LEDをダイナミック点灯させ、timer1では、100msのインターバルタイムを 10回繰り返し(1秒毎に)counterを1プラスしてLEDの表示を1ずつ 増して999まで表示後、また000から繰返すと言う単純な動作のものです。 main()関数内はtimer0とtimer1の割込み設定及び 割込み開始、許可を繰返すだけです。 問題の#timer0,#timer1割込み関数処理部分における実行結果は、 000から111と言う具合に3桁が同時にカウント表示されてしまい、 しかも繰り上がる時間は1秒毎の筈が、100秒毎になります。 このコードはCCS-Cコンパイラに準拠していて、 標準Cとは多少異なる部分があり解りにくいと思いますが どうかどなた様からも検証より不具合コード部分のご指摘と修正を 頂くことが出来るなら、大変光栄に思います。 そこで、PICにおけるconfigu部分は省き、概ねのコードを記します。 //// 1:static long int number; 2:static int counter; 3:int const LED_SEG[11]= {0x7E,0xCC,...略} 4:#int_timer0 5:void isr() { 6:static int a,b,c = 0; 7:int x; 8:out_low(PIN_C0); // LED 1桁目off 9:out_low(PIN_C1); // LED 2桁目0ff 10:out_low(PIN_C2);// LED 3桁目0ff 11:a = number % 10; 12:x = number/10; 13:b = x % 10; 14:c = x / 10; 15:output_b(LED_SEG[a]); 16:output_high(PIN_C0);//1桁目ON 17:output_b(LED_SEG[b]); 18:output_high(PIN_C1);//2桁目ON 19:output_b(LED_SEG[c]); 20:output_high(PIN_C2);//3桁目ON } 21:#int_timer1 22:void isr() { 23:set_timer1(0x0BDC);//100ms再設定 24:counter++; 25:if(counter>9)//10回か { 26:counter = 0; 27:number++; } 28:if(number>1000) { 29:number = 0; } } 30:void main() { 略 31:setup_timer0(3.2msセット) 32:setup_timer1(100msセット) 33:timer0割り込み許可 34:timer1割り込み許可 35:GLOBAL全体割り込み許可 36:while(1){} } //// 以上宜しくお願いいたします。

  • arduinoで7セグメントを使いたい

    arduinoで下記のスケッチを使って7セグメントledを動かしているのですが、 /////////////////////////////////////////////////////////////////////////////////////////////////////// //LED表示関数を定義 void NumPrint(int Number){ for (int w=0; w<=7; w++){ digitalWrite(w+1,Num_Array[Number][w]); } } /////////////////////////////////////////////////////////////////////////////////////////////////////// (1)この部分がどのような動作をしているのかわかりません。 (2)また、arduinoMEGAを使用して22~29番ピンを出力にして動かそうとしても上手くいきません。 (1)についての説明と(2)の解決法を知りたいです。 よろしくお願いしますm(._.)m ↓使っているスケッチ(1~8番ピンが出力のもので上手く動作します) void setup(){ //1~8番ピン デジタル出力へセット for (int i=1; i<=8; i++){ pinMode(i,OUTPUT); } } //LEDレイアウトを定義 //0,1,2,3,4,5,6,7,8,9,0,. の順。 boolean Num_Array[11][8]={ {0,0,0,1,0,0,0,1},{1,1,0,1,0,1,1,1},{0,0,1,1,0,0,1,0},{1,0,0,1,0,0,1,0}, {1,1,0,1,0,1,0,0},{1,0,0,1,1,0,0,0},{0,0,0,1,1,0,0,0},{1,1,0,1,0,0,0,1}, {0,0,0,1,0,0,0,0},{1,0,0,1,0,0,0,0},{1,1,1,0,1,1,1,1} }; //LED表示関数を定義 void NumPrint(int Number){ for (int w=0; w<=7; w++){ digitalWrite(w+1,Num_Array[Number][w]); } } void loop(){ for(int t=0;t<=10;t++){ NumPrint(t); delay(500); } }

  • ■ 3桁の7セグメントLEDの扱い方について ■

    4列のDIPスイッチを3つ使用して3桁7セグメントLEDに3桁の数字を表示させるには、どんな部品が必要なのでしょうか? よろしくお願いいたします。

  • PICでのプログラミングについて教えて下さい。

    現在電圧計を製作していて4桁の7セグダイナミック点灯で行き詰っております(超初心者です)。 PICは16F873Aを使用、コンパイラはCCS、書き込みはピックライタ、あとシリアルデバッカを使用しています。 外部から電圧をかけそれをAD変換し、AD変換結果(0~5V)を7セグに表示させようとしています。 一応今の状態でも電圧表示はできていることはできているのですが一桁目から4桁目まで目で追えるくらい遅いスピードでこれを改善したいです。ソースは下記のソースを製作しました。この状態で3日間悩んでおります...知恵をお貸しいただけないでしょうか。 よろしくお願いします。 #include <16F873a.h> #device ADC=10 //A/D変換10bitモード #use fast_io(A) /* TRISレジスタの設定が必要 */ #use fast_io(B) #use fast_io(C) #use delay (clock=10000000) //10MHz #use RS232( BAUD = 9600, XMIT = PIN_C6, RCV = PIN_C7, PARITY = N, BITS = 8 ) #fuses HS,NOWDT,PUT,NOPROTECT,NOBROWNOUT,NOLVP #define VOLTAGE PIN_A0 // (in) #define CORRENT PIN_A1 // (in) #define VREF1 PIN_A2 // (in) #define VREF2 PIN_A3 // (in) #define RESERVE1 PIN_A4 // (out) #define RESERVE2 PIN_A5 // (out) #define LED_DP PIN_B0 // (out) #define LED_A PIN_B1 // (out) #define LED_B PIN_B2 // (out) #define LED_C PIN_B3 // (out) #define LED_D PIN_B4 // (out) #define LED_E PIN_B5 // (out) #define LED_F PIN_B6 // (out) #define LED_G PIN_B7 // (out) #define DIG_0 PIN_C0 // (out) #define DIG_1 PIN_C1 // (out) #define DIG_2 PIN_C2 // (out) #define DIG_3 PIN_C3 // (out) #define INI_TRIS_A_VAL 0x0F // 7:x 6:x 5:out 4:out 3in 2:in 1:in 0:in #define INI_TRIS_B_VAL 0x00 // 7:out 6:out 5:out 4:out 3out 2:out 1:out 0:out #define INI_TRIS_C_VAL 0x80 // 7:in 6:out 5:out 4:out 3:out 2:out 1:out 0:out int ct;//数字の更新間隔 long val;//表示する数字 int digit;//表示する桁 //表示パターン int segment_data[]={0x81,0xF3,0x49,0x61,0x33,0x25,0x05,0xF1,0x01,0x31}; char st[4]; void main() { float ata1,data2,data3,data4; long data5; long val; SET_TRIS_A( INI_TRIS_A_VAL ); SET_TRIS_B( INI_TRIS_B_VAL ); SET_TRIS_C( INI_TRIS_C_VAL ); setup_adc_ports(AN0_AN1_VSS_VREF); setup_adc(ADC_CLOCK_DIV_32); //Fosc/32 最高速度 digit=0; ct=1;//数字を更新する周期 val=0;//表示する値 while(1) { output_low(RESERVE2); //動作ランプ //////////////////////電圧測定///////////////////////////////// set_adc_channel(0); delay_us(50); //アクイジションタイム待ち(マイクロ秒) data1 = read_adc(); //AD変換結果読み込み printf("ADC V %9.3f \r\n", data1 ); //AD変換データ表示 data2 = (data1 * 4.959695) / 1024; //BCDに変換 printf("Volt %6.3f \r\n", data2 ); //変換データ表示 data5 = data2 * 1000 ; //data2を整数に変換 val = data5 ; printf("val %ld \r\n", val); //整数にし表示 /////////////////////7SEG表示////////////////////////////////// ct --; if(ct == 0){//数字の更新 st[3]=val/1000; //4桁目数値取り出し st[2]=val/100-st[3]*10;//3桁目数値取り出し st[1]=val/10-((st[3]*100)+(st[2]*10));//2桁目数値取り出し st[0]=val%10;//あまり val++; if(val==1000) val=0; ct=20; } if(digit== 3){//第4桁の表示 output_b( segment_data[st[3]]); output_bit(DIG_0,1);  //4桁表示開始 output_low(LED_DP);  //小数点表示  delay_us (5); //表示期間(ミリ秒) output_bit(DIG_0,0); //表示を消す output_high(LED_DP); //小数点を消す delay_us(50); //待ち(マイクロ秒) } if(digit== 2){ output_b( segment_data[st[2]]); output_bit(DIG_1,1); delay_ms (5); output_bit(DIG_1,0); delay_us(50); } if(digit== 1){ output_b( segment_data[st[1]]); output_bit(DIG_2,1); delay_ms (5); output_bit(DIG_2,0); delay_us(50); } if(digit == 0){ output_b( segment_data[st[0]]); output_bit(DIG_3,1); delay_ms (5); output_bit(DIG_3,0); delay_us(50); } digit ++;//表示桁を変更 if(digit ==4 ) digit=0; } }

  • 自作パソコンの配線について

    初めて自作パソコンの組み立てに挑戦しているのですが、配線がよくわかりません。 CPUの右下の場所のPinに差すということはわかっているのですが上下に差すのか、左右に差すのかわかりません。 下記のマザーボードに配線するにはどのようにしたら良いのでしょうか? SuperMicro X7SBL-LN2 http://www.supermicro.com/manuals/motherboard/3200/mnl-0981.pdf Power SW Reset SW HDD SW +P LED -P LED

  • カウンター回路2

    No.1030137で質問したものです。その後無事74163を使ってカウントすることはできているのですが、新たな問題が出てきました。 参考回路図 <http://www.wenzel.com/pdffiles/161divdr.pdf> クロック周波数:10Hz 74163の数:5段(16^5までカウント可能) 74163への入力(3~6ピン)は以下の通り (74163)---(1k)---(サムロータリスイッチ) | |    (5V電源) 上記の回路で00001を入力すれば osci _ _ _ | | | | | | --- --- --- --- out ___ ___ | | | | --- ----- ----- となります。 で、問題は最初の1回目のカウントです。 スイッチ入力直後は74163の 9pin:high 3-6pin:全てhigh となっているようで16^5カウントしてからここで15pin:highとなり、15pinをインバートしたもの9pinにいれているのでここで初めてLoadされ入力したカウントをカウントし始めます。 この16^5カウントがクロックが早いうちは気にならないのですが、10Hzともなると何時間も待たなくてはならなくなります。 9ピンにリセット用のスイッチ(スイッチon時だけ接地し、off時は7404からの出力をつなぐ)を入れてみましたが、うまく動きません。 長文で大変もうしわけありませんが、どうにかうまく解決する方法ないでしょうか?(桁を落とすのはなしです。)よろしくお願いいたします。

  • 1桁7セグメントLEDの部品高さ

    1桁の7セグメントLED 文字サイズ(高さ)10mm前後で、部品の基板からの高さ(=厚さ)が10mm程度のものを探しています。 製品の構造上、基盤と表示窓の距離が離れてしまい、通常の厚さ7mmのものでは視認性が悪くなってしまいました。 ロームのHPなど閲覧してみたのですが、厚さ7mmが一般的なようで。HP上のカタログでは厚さ寸法が明記されていないものも多く、ここは精通した方々に指南を仰ぐのが早いかと思い、こちらへ書き込みました。 表示色は一般的な赤色または緑色が希望ですが、特にこだわっていません。ご存知の方がいらっしゃいましたら、ご回答よろしくお願いいたします。

  • この場合、9V ?mAの電源を使えばよいでしょうか

    現在、arduinoというマイクロコントローラーを使って電気工作をしています。 しかし、装置は作動するものの、途中で付属のwifi通信が止まってしまうという問題があります。通信が途絶えるまでの時間は1-10分とまちまちです。 原因は色々考えられますが、今現在、使っている外部電源が適切かどうか、そうでなければどれがいいのか、を調べています。 以下の場合、適切な外部電源を選ぶためにどういった計算をすればよいのかご助言願えますでしょうか? もの自体は、 wifiによってデータをダウンロードし、それをマトリクスLEDと7セグメントLEDで表示する、というものです。 電気の流れは、 現在、9V 500mAの外部電源からの電流を並列に、 1. そのままArduinoの外部電源として使用 2. レギュレータに通し5Vに変換後、それがさらにわかれ、 -> MAX7219(LED制御ドライバ) -> マトリクスLED の4セット -> MAX7219(LED制御ドライバ) -> 4桁の7セグメントLED の1セット となっています。 以下各部品のデータシートを読んでみておそらく関係しているだろうところをピックアップしたリストです。 まず、Arduinoですが、 Arduino Duemilanove (ATmega328) http://www.arduino.cc/en/Main/ArduinoBoardDuemilanove 推奨入力電圧: 7-12V 出力電圧: 5V 各ピンからの出力電流: 40 mA これにWiflyシールドというものをのせています Wifly RN-131G http://www.sparkfun.com/products/9367 http://www.sparkfun.com/datasheets/Wireless/WiFi/rn-131G-ds.pdf スタンバイ時供給電流 (doze): 15 - mA 接続時供給電流 (idle, RX): 40 mA 接続時供給電流 (TX): Typ.140 Max.212 mA この二つのセットには9V500mAの電源が直接きています。 一方、レギュレーターを通って5Vに変換されたものは、 まず、I.C MAX7219 (LED制御ドライバ)に行きます。 http://www.microtechnica.tv/support/manual/MAX7219_jp.pdf (JP) 供給電圧: min.4.0V max.5.5V 供給電流: 330mA (全てのセグメント点灯時) これが5個並列につながっています。 そしてそのうち4つはそれぞれ、 マトリクスLED(7x5) http://pdf1.alldatasheet.com/datasheet-pdf/view/233258/KINGBRIGHT/TC20-11EWA.html (各LED毎) 推奨動作電流 (IF): 30 mA の4つを制御し、 あとの一つが、 7セグメントLED x 4 http://pdf1.alldatasheet.com/datasheet-pdf/view/233168/KINGBRIGHT/SBC15-11EGWA.html (各セグメント毎) 推奨動作電流 (IF): 30 mA の4桁分を制御しています。 必要な電流を考える場合は単純にこの消費電流の合計を考えればいいのでしょうか? だとしたら、500mAではまったく足りてないように思いますが、一応は動いています。 これだけの部品を扱うにあたって、電圧が9Vとすれば、何アンペアの電源が理想的なのか、またそのための計算方法が、現在最終的に知りたい答えです。 わかりづらい説明で申し訳ありません。この他に情報が必要あらば、質問くだされば補足していきます。 よろしくお願いいたします。

  • マイコンデジタル時計キットを改造したいです。

    下のマイコンデジタル時計キットを改造したいです。 ------------------------------------------------------------------------ ■1.1インチの赤色・大型LEDを使った時計のキットです。 ■表示部と操作部が分離できます。表示部が90°起立しているため見やすく、また押しボタンは水平に配置されますので操作性が向上した卓上型です。 ■明るい 文字20x27.7mm赤色7セグLEDを4個使用 ■PIC16F57ワンチップマイコン使用 ------------------------------------------------------------------------ このLEDを下のLEDにしたいんですけど、何Ωの抵抗を使えば可能ですか? Linkman 【KW1521ABB】7セグメントLED(1桁・青・アノード)

  • カウンター回路

    参考回路図 <http://www.wenzel.com/pdffiles/161divdr.pdf>で動かしています。 使用条件は以下の通りです。 クロック周波数:10Hz 74163の数:5段(16^5までカウント可能) 74163への入力(36ピン)は以下の通り (74163)---(1k)---(サムロータリスイッチ) | |    (5V電源):74163と1kの間 上記の回路で00001を入力すれば 2つおきに出力パルスが出ます。 で、問題は最初の1回目のカウントです。 スイッチ入力直後は74163の 9pin:high 3-6pin:全てhigh となっているようで16^5カウントしてからここで15pin:highとなり、15pinをインバートしたもの9pinにいれているのでここで初めてLoadされ入力したカウントをカウントし始めます。 この16^5カウントがクロックが早いうちは気にならないのですが、10Hzともなると何時間も待たなくてはならなくなります。 9ピンにリセット用のスイッチ(スイッチon時だけ接地し、off時は7404からの出力をつなぐ)を入れてみましたが、うまく動きません。 長文で大変もうしわけありませんが、どうにかうまく解決する方法ないでしょうか?(桁を落とすのはなしです。)よろしくお願いいたします。 http://www.wenzel.com/pdffiles/161divdr.pdf

専門家に質問してみよう