highlightjs– tag –
-
5V単電源用のHD44780互換LCDキャラクタ液晶モジュールDMC16117Aを3.3Vで使う
電子工作課題: AVRで3.3V I2C動作の大気圧モジュールの値を読んで、LCDキャラクタ液晶に値を表示させたいが、5V用の液晶しか手元にない。昔のI2C仕様書にのっていたようなI2Cの5V-3.3Vレベル変換回路をNチャネルFET2個で組むにしても、その回路をつくる手間に加え、5Vから3.3Vを作る手間は別に生じる。3.3Vレギュレータはあと一本なので使わずとっておきたいし、前みたいに青色LEDをかわりに使うのもすでにやったので、ホビーという意味では別の方法を使いたい。 解決策: LCDの仕様書を見ると、コントローラの電圧範囲は4.... -
LPS331使用 高精度大気圧モジュールのI2CでのONE_SHOT測定テスト
電子工作I2C通信chkに引き続き、大気圧ONE_SHOT測定のテストをしました。装置をactiveにして、one_shotの命令をし、測定が終わったかをSTATUS_REGで確認し、終わっていたらば大気圧を読みに行く、という流れです。 こちらも無事読み取りができました。 = 0x3f32b6 / 4096 とグーグル先生に聞いたら、1011.17 mbarだそうです。 コードはこちら。エラー処理はしてません。 #include <avr/io.h> #include <util/delay.h> #include <util/twi.h> #define SLA_R 0b10111001 #define SLA_W 0b10111000 #define... -
LPS331使用 高精度大気圧モジュールとのI2Cでの通信テスト
電子工作秋月で、「LPS331使用 高精度大気圧モジュール」を650円で入手しましたので、そのテストです。大気圧モジュールの温度補償用として精度は±2 degCほどのようですが、温度計もついています。通信プロトコルとして、I2CとSPIに対応しています。5番ピンをプルアップするかしないかで、I2C/SPIの切り替えができます。AVRを使って、I2Cの通信の練習をしようと思いましたので、I2Cモードで通信のテストをしてみます。AVRにはTWIにハードウェア対応しているatmega328Pを使います。 LPS331APは3.3V動作です。まず、この前... -
ニキシー管時計のAVR-gccソースコード
電子工作本体は内部RCで1 MHzで動作し、時計用タイマは外部クロック端子につながっている時計用水晶振動子の32.768 kHzで動作させています。24時間制です。 時計合わせ用にボタン2つ(←と↑)がついています。←を押すと順に1分の位、10分の位、1時間の位、10時間の位が点滅して、その位の数字が調整できます。↑を押すと、点滅している桁の数字が1つ増えます。10秒なにもボタンを押さないと元にもどります。 #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #define TIMEOUT 10/...