Arduino Uno はそこそこピン数があります。7セグでもつなげてしまうほどピン数が多いわけですが、線の多いのは困りものです。場所を取るし配線がやっかいです。配線が多いのはうざいってだけではなく、配線を調べねばならないというだけで作ろうという雰囲気をぶち壊してくれます。
そこでシリアル通信なる方法を使います。効率よくデータを送受信できます。Arduino 用モジュールとして売られているセンサーなどはそもそもシリアル通信でのみ通信できるようなものも多いです。
先日頼んでおいた加速度センサーでシリアル通信(IIC)を使ってデータを読み込んでみました。Arduino 標準の Wire.h ライブラリを使ってアドレスを指定し、データを読み込みます。配線は Vcc (5V), GND, SDA (Pin 4), SCL (Pin 5), CS (5V)。
アドレス、モード指定、レジスタ番地などはデータシートなどを参照する必要があります。ここで引っかかったのはモード指定で、データシートを見ても指定しなければならないということがなかなか読めない。
書き込みは多いモジュールなので、どうやら動くよう設定することができました。以下コードです。
RP2040 Zero で MicroPython を使う
埋め込み用マイコンでも Python を動かせる MicroPython というものがあります。 リアルタイムでコマンドラインからマイコンを動かせる画期的なシステムなので、ちょっとした感動が味わえます。 使い方としては、まずファームウエアをアップロードしてドライブとして認識さ...
-
Qt はまってます。Mac でも書いたアプリがコンパイルできて、しっかり動くのを確認しました。このあいだ Chitubox が Qt 使ってるのを知ってうれしかったです。 Mac でもそのまま動くんですが、アプリのアイコンの設定はプラットフォーム依存です。 公式マニュアルでも設定...
-
コンデンサマイク 極性があります コンデンサマイクがようやく届きました。モジュールではないのでそのままでは信号が弱いので使えません。信号を増幅する必要があります。 ちょっとした手間ですが、首尾よく動いてくれました。この回路の応用で、使えるマイクが出来ます。 ...
-
PowerBuilder では Time, Date, DateTime などという型があります。 デフォルトの表示形式から変更する場合は String() 関数を使います。 String(Date('1/12/2016'),'yyyy-mm-dd...
