• ベストアンサー

4bit のデータ生成するには??

初心者です。 セイコーNPCのメロディIC「SM1125ABV」を使って 音を鳴らしたいです。 データシート : ftp://ftp.npc.co.jp/pub/pdf_j/1125abv_nc0720a.pdf このICには12曲内蔵されており、端子SIへの入力により選曲されます。 さて、この入力には4ビット分の信号を入力する必要があるのですが、 どういう方法がありますか。 PICで制御? よくわからないので何が必要か教えてください。 よろしくおねがいします。

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

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

データシートが示されてるので読んでみると、 省pin な IC で、 4bitデータはパラレルでなくシリアルで与える仕組みになっています。 データを1bit、 SI ピンに与ては SC ピンに立ち上がりエッジを与えることで IC 内部に取り込まれます(設定されます)。 データシートのタイムチャートにその様子が示されています。 >PICで制御? PIC などマイコンを使えるならそれがいいでしょう。 ロジック回路だけで作る方法もありますが、 この手の IC は、与える信号変化の間隔が結構ゆっくりな必要があるので (例えば SC の立ち上がりエッジの前後 2.0μS の間、SI へのデータを変化させないように する必要がある、など) マイコンならそれらの時間確保はやりやすいので。 さて、それでは曲選択の4bit データはどうやって決めましょうか? 「1曲しか使わない」仕様にして、プログラム中ではある値(曲)に固定する手もありし、 ランダムに与える手もあります。 音楽スタートも、「電源を入れたら止めるまでなりっぱなし」という仕様もアリです。 上の方法だと、スイッチ部品が不要というメリットがあります。 大抵は、No.1さんが言われるように、 多bit の設定値を与えるのに DIP スイッチ、 音楽スタート・ストップににプッシュボタンを使ったりして スイッチの入力を PIC マイコンのポートから読取って 応じた動作をするようにプログラムを作る事になります。

houdentaro
質問者

お礼

ご解答ありがとうございます。

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

その他の回答 (1)

  • PXU10652
  • ベストアンサー率38% (777/1993)
回答No.1

「4ビット分の信号を入力する必要があるのですが、どういう方法がありますか。」  通常は、DIPスイッチで、5VをON/OFF出来るように接続して、4つのDIPスイッチの組合せで曲を選択します。

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

関連するQ&A

  • AVRマイコンで4bit分のデータをシリアルで送る

    お世話になります。AVRマイコン初心者です。 ATtiny2313 を使い、メロディICの入力端子に4bit分のデータをシリアルで送りたいです。 メロディIC → SM11125ABV (セイコーNPC製) データシート → ftp://ftp.npc.co.jp/pub/pdf_j/1125abv_nc0720a.pdf やりたいことは、SM1125ABVの入力端子SI, SCに選曲のためのデータを送り、選曲することです。 データシートにあるように、1bit分のパルス幅は2μsです。 ようは、この幅のパルスを出力できればいいのですが・・・・ 何から始めればよいのか・・・・ 検索したら、UARTというのが見つかりましたが、例がやたらと文字列の送受信で… 文字列の部分を0 ,1 に置き換えたら、H、Lのパルスが出力されてくれるのか??? それとも、タイマで割り込みのタイミングでH、LをI/Oポートから出力させればいいのか??? WinAVRを使います。 どうかアドバイスよろしくお願いいたします。

  • トーンコントロールのキャンセルの仕方 IC150

    プリアンプ CROWN IC-150の トーンコントロール、パノラマ等の キャンセルの仕方を 教えてください。  バイパス  セレクター、左右バランスボリューム、メインボリュームといった必要最小限な機能のみにしたいということです。 回路の知識はないに等しいのですが、ハンダ付け、ハンダ吸取はできます。 これから勉強していきたいと思います。 回路図など http://www.crownaudio.com/pdf/legacy/ic150sm1.pdf http://www.crownaudio.com/pdf/legacy/ic150sm2.pdf http://www.crownaudio.com/pdf/legacy/OC150Schematics.pdf

  • 4bitデータを変更して出力させるプログラム

    分かりにくいタイトルですみません。 PICに入力された4bitのデータを、違う4bitのデータにして出力させるプログラムを作りたいのですが、 いろいろなサイトを探してもそのような記事が無くて困ってます。 下記のような動作をするプログラムをご教示ください。 言語はアセンブラ 使用マイコン:PIC16F88 内部オシレーター使用 ポートAを4bit入力用 ポートBを4bit出力用 ポートAの入力が       ポートBの出力では ・LLLL             ・LLLL      ・HLLL             ・LHLL ・LHLL             ・LLHL ・HHLL             ・HLHL ・LLHL      の時    ・HHHL ・HLHL             ・LLLH ・LHHL             ・LHLH ・HHHL             ・HHLH ・LLLH             ・LLHH ・HLLH             ・HLHH このような動作です。 使用目的は簡単に書くと、自作のサラウンドプロセッシングアンプのチャンネルテストという機能のメイン制御用に使います。ロジックICでもできますが、とてつもなく部品点数が多くなってしまうので、マイコンで制御したいと思います。 暇な時でも良いのでよろしくお願いします。

  • RC用の受信機の信号をPICに入力

    RC用の受信機の信号をPICに入力したいのです。 ラジコンサーボをPICで制御するというのはたくさんありますが、これは探してもあまり資料がなく、困ってます。 わかっていることは受信機からの信号はパルス信号で、信号線は1本と言うことだけです。 条件は次のとおりです。 1・入力は、前進、後進、ニュートラルともに、対応できる 2・細かい値は必要とせず、前進、後進、ニュートラルのいずれかであるという事がわかれば良い。 3・専用の回路を作ってもよい どうかお願いいたします。

  • AND回路を作りたい

    ある回路を作っていてどうしてもAND回路を組む必要が出てきました。 それでネット検索していたら http://www.geocities.jp/hiroyuki0620785/intercomp/logic/basiclogic/logicAND.htm こんな回路図を見つけました。 組み方によってはデジタルICよりも省スペース化も図れそうなので(今回はAND回路1個のみ必要なので)トライしてみたいのですが、 ・ここで使用するダイオードの種類は?小信号用ダイオードでもOKでしょうか? ・トランジスタは2SC1815でもOKでしょうか? ・抵抗Rの値は何を基準に決定すればよいでしょうか? 実際に組み込むのはPICマイコンを制御する回路で、図中の入力、および電源の電圧は4.5V~6Vの予定です。 素人なのでわかりやすく説明いただけると非常にありがたいです。 よろしくお願いします。

  • ASP 多言語の表示がうまく出来ません

    OS Windows XP データベース ORACLE 10.0.2で開発中です。 データの中に、日本語・中国語・フランス語・韓国語が混在したデータがあります。 そのデータをブラウザで表示したいのですが、日本語は表示されますが、ほかは「?」となってしまいます。 ・ORACLEデータベース作成時にキャラクタセットはAL32UTF8にしています。 ・ASPで<%@ CODEPAGE=65001 %>を追加しています。 ・参考にした文献は、pdfですが、 ftp://ftp.ashisuto.co.jp/pub/standard/vol74/oo4oasp.pdf です。 他に<meta http-equiv="Content-Type" content="text/html; charset=utf-8">を追加してみましたが、ダメでした。 ちなみに、データはaccessで、odbcでリンクをしたテーブルから入力し、Oracle Enterprise Managerで見ると、データは中国語・フランス語・韓国語もくずれていません。 ヒントでもいいので、教えてください。よろしくお願いします。

  • PIC入門と必要な知識

    はじめまして。まず、自分の知識の程度について書きます。 ・自動車整備資格保有 ・電気については簡単な部分(Ωの法則やキルヒホッフの法則等)は勉強しました ・電子工作は高校のときに少しやっただけです。 ・プログラムは高校のときにベーシックでNC旋盤の制御をやっただけ ・C言語を勉強中です 自分は、PICを利用して単気筒の4サイクルバイクのコンピュータを製作しようと思っています。 具体的には、パルサーコイルからの点火信号やアクセル開度等をPICに入力し、PIC内でアクセル開度や回転数に応じた規定時間後に一次コイルへ点火信号を送るという事をやらせたいのです。(用は進角) パルサーコイルからはクランクシャフト一回転につき、一回の交流波形が発生し、点火はクランクシャフト2回転で一回点火します。 こんなことを将来やってみたいのですが、プログラムやPICについてはズブの素人です。 早速、http://feng3.cool.ne.jp/ここのサイトで紹介されているPICライタ五号機v2というものを製作しようとしている段階です。 開発にはC言語を使用しようと思っています(将来ほかの分野でも応用が利くので) 長くなりましたが以上が今の自分の状況です。 ここからが質問です。 1:PICの入門書は数多くありますが、こんなド素人にも分かる参考書はありますか? 2:PICには色々な種類がありますが、とりあえず上位の高価なものを使用して開発しても問題ありませんか?(よく、PIC16F84Aが入門用として推奨されていますが、そのワケが良くわからないのです) 3:PICとdsPICとありますが、それらの具体的な違いはなんですか? 4:PIC開発にあたり、最低限必要な知識はなんですか? 5:前述した用途(バイクのコンピュータ製作)のものを作るのに、PICプログラム以外にも覚えたほうがいい知識とかありますか? インターネットを利用して色々調べてみたのですが、どれもある程度の電子工作経験者向けの内容で、超ド号級の素人の私には理解できませんでした。 右も左もわからぬ素人がいきなりPICを初めていいのかどうか分かりませんが、とりあえずPICから初めて見たいのです。 長くなりましたが、よろしくお願いします。

  • FTPコマンドのmdeleteについて

    FTPコマンドのmdeleteを利用してサーバ上に作ったフォルダ内のファイルを全て削除したいのです。 (1)mdelete *.pdf DOSプロンプト上でこのように指定すると、該当フォルダ下のファイル名がコンソール画面に上から順に表示されて毎回削除オペレーション時にy/nの確認入力が必要です。この削除の確認プロセスを省略したいのですが、何かオプション指定等でクリアできないのでしょうか? (2)フォルダ下にファイルがあっても強制的に「FTPコマンド」で指定フォルダを削除できる方法はありませんか?

  • タイマー制御にシーケンサは必須?

    シーケンス制御された脱水機を使用しており、タイマー制御の バイブレーターを設置して脱水効率を上げたいと思っています。 1:脱水機モーターに接続されているマグネットスイッチ(M1) の補助端子から、マグネットがONになっていることを検出 2:タイマー1(T1)で設定した時間、バイブレーターの作動を待たせる 3:タイマー2(T2)で設定した時間、バイブレーターを作動させる 4:M1がONになっている間、2と3を繰り返す ※バイブレーターはエアー駆動で、T2からの出力で ソレノイドバルブを開閉させる。 上記条件で盤屋さんに見積を依頼したところ、「シーケンサーが 必要です」と言われました。 「あったほうが絶対楽」という話ならわかるのですが、 本当に「無ければ制御できない」の?と疑問に思っています。 私が触ったことのあるタイマーは富士電機のMS4SMという タイマーなのですが、これには限時接点とリセット接点が内蔵 されているため、 1:M1の補助接点短絡→T1の入力接点に入力 ・・・T1によるONディレー・・・ 2:T1の限時接点短絡→T2の入力接点に入力 3:T2の限時接点短絡→ソレノイドに入力&T1のリセット接点に入力 ・・・T2で設定した、短絡保持時間経過・・・ 4:T2の限時接点開放→T1によるONディレー再開 ・・・2~4の繰り返し・・・ 5:M1の補助接点開放→T1停止→T2停止 (最後の1回だけ余分にソレノイドが作動してしまうか?) というような流れで制御できないものなのかなぁ、と考えているの ですが、何か見落としている点があるのでしょうか? 盤屋さんに根掘り葉掘り「本当に必要なの?」と聞くのも、 「素人が知ったような事言うなら、手前ぇでやりやがれ!」 と気分を害されそうで、深く聞けません。 どなたかお知恵をお貸し下さい。

  • C言語でメロディを演奏したい

    こんばんは。PICやH8などのマイコンを使って遊んでいます。プログラムの開発にはC言語を使用しています。 メロディを演奏するのに、どうしたら簡単に楽譜を入れることができるか、皆さんの知恵を貸してください。 圧電サウンダーをH8/3052Fに繋げて、 - オクターブ3のラ(220Hz)~オクターブ5のラ(880Hz)の音を出す - 十六分音符~全音符で音の長さを決める(付点、休符もOK) - テンポ60~テンポ160でメロディラインのスピードを制御する まではできて、次のような構造体で耳コピで作ったドラえもんのイントロ部分を演奏するところまでできました。 /* ドラえもんの曲の頭のつもり */ #define TEMPO TEMPO_140 static const short DoraemonIntro[8][2] = {  { Do4, EIGHTH_NOTE },  { Fa4, EIGHTH_NOTE },  { Fa4, EIGHTH_NOTE },  { La4, EIGHTH_NOTE },  { Re5, QUARTER_NOTE },  { La4, QUARTER_NOTE },  { Do5, HALF_NOTE },  { Do5, QUARTER_NOTE }, }; しかし、このように耳コピ+手打ちで楽譜を作っていたのでは、簡単な曲を1曲入れるだけで数時間かかってしまいます。もっと楽をしたいのですが、どうやったら楽に楽譜を入力出来るでしょうか? 全然別なやり方でも歓迎いたします。 また、簡単な曲の楽譜がある場所なども教えていただけると助かります。