ESP32を用いたMAX3010xセンサーのI2C通信初期化
ESP32におけるMAX3010xパルスオキシメーターセンサーのI2C初期化
MAX3010xは、心拍数と血中酸素飽和度(SpO2)の測定に広く使用される統合型パルスオキシメーターおよび心拍数モニターセンサーです。このセンサーはI2Cインターフェースを介してマイクロコントローラーと通信します。本稿では、ESP32開発ボード上でArduino環境とSparkFun MAX3010xセンサーライブラリを使用 ...
8月8日 14:57 投稿
RP2040 Raspberry Pi PicoでのSSD1306 OLED表示の基礎知識
目次
RP2040 Raspberry Pi PicoとCircuitPythonに関する詳細な使い方については、Raspberry Pi Pico関連の記事をご覧ください。
概要
この記事では、I2Cインターフェースを通じて四線式SSD1306ディスプレイを制御する方法について説明します。ディスプレイの解像度は128x64ピクセルで、モノクロ表示のみをサポートしています。色指定は0(黒)と1(白)の二値のみを使用し ...
8月7日 04:26 投稿
STM32マイコンによる電子時計の実装
システム設計と構成
ハードウェア構成
本システムはSTM32F103C8T6マイコンをコアとして、以下の周辺デバイスと接続されています:
OLEDディスプレイ(SSD1306ドライバ) - I2Cバス経由
4x4マトリクスキーパッド - 外部割込み(EXTI)
ブザー(アラーム出力用)
ソフトウェア構成
システムティックタイマ(SysTick)による1ms精度の時間管理
SSD1306ドライバによるOLED ...
8月4日 12:56 投稿
STM32マイコンを活用したMAX30102パルスオキシメータ実装ガイド
1. 測定の基本原理
1.1 PPG(光電容積脈波)法によるSpO2測定
MAX30102センサは660nmの赤色LEDと880nmの近赤外LED、並びに高感度フォトディテクタを集積したモジュールです。血液中のヘモグロビンは酸素結合状態により異なる波長の光を選択的に吸収します。
酸素化ヘモグロビン(HbO₂):近赤外光を強く吸収
脱酸素ヘモグロビン(Hb):赤色光を強く吸収
SpO2値は以下の ...
7月24日 16:12 投稿
STM32F407とCH455Gを使用した安定したI2C制御のデジタル表示システム
デジタルディスプレイモジュールは、工業機器やスマートホームコントロールパネルにおいて重要なユーザーインターフェースを提供します。特にCH455Gを駆動するためのSTM32F407 MCUを利用することで、高品質な表示が実現できます。
1. 硬件設計:信頼性のある通信基盤の構築
1.1 電気回路設計のポイント
CH455GとSTM32F407の接続では以下の点に注意が必要です:
電源の ...
7月19日 19:06 投稿
STM32マイコンとAMG8833サーマルセンサーの統合開発
AMG8833サーマルセンサーの動作原理
AMG8833はパナソニック製の高性能8×8ピクセル赤外線熱画像センサーです。4メートル以内の範囲で温度変化を検出し測定し、温度データを出力します。このセンサーは温度監視、人体検出、熱画像生成などに広く応用されています。
動作モード
AMG8833には連続モード、省電力モード、単発スキャンモードの3つの動作モードがあります。連続モ ...
7月19日 01:17 投稿
8051ベース温度制御システムの実装とPID調整
本稿では、8051マイコンを用いた温度制御システムの設計と実装について解説する。システムはHD7279ドライバによる4桁7セグメントディスプレイとキーパッド、DS18B20温度センサ、I²C EEPROM(24C16)、およびPWM制御可能なファンモータで構成される。全体のコード量は約1500行で、Keil C51で開発され、フラッシュメモリ容量8KBの制限に対応するため最適化レベル9が適用され ...
7月11日 20:37 投稿
STC12C5A60S2マイコンとSC09Aタッチチップによる増減ボタン実装
概要
本記事では、STC12C5A60S2シリーズ1T 8051マイクロコントローラーとXiamen icman(晶尊微)製のタッチチップSC09Aを用いて、タッチボタンの実装方法を解説します。実装する機能は、一方のボタンは短押し・長押しの両方で値を増加させ、もう一方のボタンは短押し・長押しの両方で値を減少させるというものです。
ハードウェア構成
システムはSTC12C5A60S2マイクロコント ...
7月9日 21:01 投稿
STM32 HALライブラリを使用したMPU6050のI2C通信とDMP motion_driver 5.1.3の移植
開発環境
Ubuntu 20.04 LTS
STM32CubeIDE 1.9.0
MPU6050 DMP ドライバー: motion_driver 5.1.3
マイクロコントローラ: STM32 F103C8T6
motion_driver 5.1.3の移植
以下のファイルをmotion_driver-5.1.3/core/driver/eMPL/ディレクトリからコピーします。
dmpKey.h
inv_mpu.c
inv_mpu_dmp_motion_driver.h
dmpmap.h
inv_mpu_dmp_m ...
7月9日 00:11 投稿
STM32におけるI²C通信のソフトウェア実装
I²C(Inter-Integrated Circuit)は、シリアルデータ線(SDA)とシリアルクロック線(SCL)の2本で構成される同期式シリアルバスです。標準モードでは最大100 kbps、高速モードでは400 kbpsまでの通信が可能です。SDAおよびSCLはオープンドレイン出力で、外部プルアップ抵抗が必要です。通信はマスタがスレーブアドレスを送信し、対応するスレーブがACKを返すことで確立さ ...
6月3日 16:15 投稿