jendo1969コメントをどうぞLPC4330-Xplorerhttp://akizukidenshi.com/catalog/g/gM-06457/LPC4330-Xplorerには、オーディオ・コーデック(UDA1380)が搭載されています。これを使用し、i2sのサンプルでギターの入力をヘッドホンで聞いてみようと思います。サンプルは、NXGの物とLPCOpenの物を使用します。NXGのサンプルで試してみます。NXGのサンプルは以下のページからダウンロードできます。IDEにサンプルをインポートします。LPC4330_Xplorer_Audioプロジェクトを使用します。ビルドも難なく通ります。Settingsだけ変更が必要です。driverをLPC18_43_SPIFI_4MB_64KB.cfxに変更してください。デバッガには、LPC-LINK2を使用しました。現在LPC-LINK2はCMSIS-DAPとして使用しています。書き込みも難なく終わりデバッグできます。ギターとヘッドホンをつないで聞いてみました。スルーしているだけなのヘッドホンからギターの音が聞こえました。デフォルトでマスターボリュームが最大(0x00)なので左右とも0x80を設定しました。volume);レジスタに設定するだけでボリュームがコントロールできます。その他の設定は、44.1kHzで32bitデータ長になっています。32bitなので送受信時にFIFOからLRの両方の取り出しと書き込みを2回行っています。今回変更したのは、これだけです。i2sは、割り込みを使用した取り込みです。今後、入力信号を処理して出力してみたいと思います。KitのUARTを使ってシャープ液晶テレビAQUOSを操作してみました。(SCB)が2個あるのでこれをUARTとして使います。1個目のSCBは、ブートローダ用にUSBモジュールとつながっているので2個目のSBCをAQUOS通信用に使用しました。SCBのピンは、固定ピンなので以下ピン配置になります。UART2_RXPSocなのでコンポーネントをぺたぺた貼り付け、通信速度などのプロパティを設定すれば初期環境です。後は関数を呼び出すだけなので非常に簡単です。マイコンはARMのCortex-M0ですが、他のメーカよりペリフェラルの使い方が簡単です。UARTの出力は、RS2332Cレベルが必要なのでトランシーバを接続し、DSUB9コネクタを接続しました。トランシーバは、アナログデバイセズのADM3202を使用しました。¥r”を送ってみました。テレビの電源が切れることが確認できました。jendo1969コメントをどうぞガンプラにLEDをつけてみました。DIPのLPC810を使用しました。駆動は、CR2032のボタン電池で3Vで駆動します。モノアイだけでなく頭部バルカンにもLEDを内蔵しましたが穴が小さく点滅がほとんどわかりません。モノアイは、単純なON/OFFではなくPWMでゆっくり明るさを変化させて点滅させました。Timer)というちょっと複雑な動作が組めるタイマが入っています。Stateという特別なエディタで機能を設定します。基板を内蔵するほど小さくできなかったので抱えた状態です。jendo1969コメントをどうぞ600円で販売されているので思わず衝動買いしてしまいました。プログラム書込み用のBootLoaderがあらかじめ書き込まれています。USBで書き込むための基板も付属しています。これだけでプログラミングが始められます。プログラムは、Bootableコンポーネントを使う、特別な作りにする必要があります。Buildした後は、書き込みツールをIDEから起動することができます。PWMでのLED点滅サンプルを動かしてみました。PSOCは、ハード設定だけでペリフェラルが使えるのでソフトは、ほぼ書かずに機能が実現できます。いろいろな部品が用意されているので応用がいろいろ考えられます。KITを持っているのでこれはいらなかったのですが・・・安かったので。のちのち使い道を考えたいと思います。jendo1969コメントをどうぞLPC810は8PINで小さいので実機にISP回路を組み込むと場所をとって無駄です。そこで専用の書込み器を作りました。USBシリアル変換は、千石電商で購入しました。電源が5Vなので三端子レギュレータで3.3Vにしています。http://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=EEHD-4HJ7これでFlashMagicで書込みが容易になりました。jendo1969コメントをどうぞトランジスタ技術2014年10月号の脈拍計の回路を利用させてもらいました。フォトリフレクタは、記事とは違うものを使用しています。TPR-105Fを使用しています。秋月電子通商で購入しました。http://akizukidenshi.com/catalog/g/gI-00276/オペアンプは、記事と同じNJU7032Dを使いましたがTPR-105Fに合わせて増幅の抵抗値を調整しています。ソフトウェアは、mbedを使用しなかったので独自に作成しました。上下の回数を一定時間数えて平均をとる方法で脈拍を測定で来ました。オペアンプを使用したアナログ回路の楽しさに出会いました。jendo1969コメントをどうぞLPC81Xには、ADCがありません。アナログ入力は、コンパレータだけです。そこで、NXPのアプリケーションノートにあるコンパレータでADCを実現する方法を試してみました。手持ちの抵抗やコンデンサで実現したのでアプリケーションノートの定数とは若干異なりますが、可変抵抗の変化に応じたAD値が取得できました。数が少ない中で使用ピンも多く、追加部品も多いのでおそらくこの使い方は、しないと思います。Displayを先日購入したFRDM-KL25Zと接続しました。epaper_mbed_130411_KL25Zを使わせていただきました。http://developer.mbed.org/users/dreschpe/code/EaEpaper/wiki/Homepage問題なく動作しました。E-Paperなので電源を切っても表示は残ります。KL1x/KL2xマイクロコントローラ・ファミリを搭載した超低コストの開発プラットフォームを購入してみました。http://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=EEHD-47CA今回はmbedとして使います。mbedとして使うには、インターフェースファームウェアファイルを書き込む必要があります。以下のサイトに手順が詳しく書いてあります。http://mbed.org/users/Norisuke/notebook/mbed-frdm-kl25z-Getting-started-jp/今回は、sdカードを使いたいので、まずは、sdカードのサンプルを試してみました。http://mbed.org/handbook/SDFileSystemここのサンプルをインポートして改変します。このサンプルは、LPC1768用なのでその部分のみ変更します。boardこの行がSDカードとつながるSPIポートの設定になります。SPI1を使用する設定です。World!ファイル作成、書き込みができました。jendo1969コメントをどうぞLPC11U35には、EEPROMが内蔵されています。不揮発メモリとして利用できるので使用してみました。v6.1.0_164を使用しました。Examplesには、eepROMapiというサンプルプログラムが含まれています。このサンプルは、UARTを使用したIFなので、ここをUSBのCDCに置き換えました。実際には、前に作ったCDCのプログラムにEEPROMの部分を加えていきました。EEPROMの部分を加えるとBuildでエラーが出るようになります。解決方法は以下URLにありました。libraryをRedlib(none)からRedlib(semihost)に変更しました。これでBuildがとおりEEPROMの読み書きができるようになりました。*/を設定しないとLPC_CT32B0のタイマが動きません。Flush書き込みと違いそのまま割り込みも使えるし、EEPROMは、電源切ってもデータが保持できるのでいろいろ使えそうです。組込み技術向上のため、エンベデッドに関する話題中心のブログです。