電子工作と理科と

家庭用デジタルホームスケールUH-3202-W

Artschip Serial EEPROM 24LC02B

BUFFALOマウスBSMBU16S

USB OPTICAL MOUSE SINGLE CHIP PAW3512DK-TJZA

BUFFALOマウスBSMBU515MWH

マイコン VS09 M13 A Series LOW POWER WIRELESS MOUSE SENSOR PAW3205DB

周波数カウンターを作る8 of 8 / 全部組み合わせる

CPLDでディジタル電子工作 (CQ文庫), pp.171ff. 今19.87 MHz、1 Vppの正弦波を入力している。 ファイル一式: https://github.com/ti-nspire/MAX_V_MAX10/tree/main/freq_counter_6

周波数カウンターを作る7 / 1秒ゲート用の32.768 kHz発振器

CPLDでディジタル電子工作 (CQ文庫), pp.171ff. 1秒ゲートを作るための32.768 kHz発振器を試す。テキストと同じくリアルタイムクロックRX8900を使う。ブレークアウトボード上でFOE端子がプルアップされているので電源を入れるだけで32.768 kHzが出力される。…

周波数カウンターを作る6 / 入力アンプ

CPLDでディジタル電子工作 (CQ文庫), pp.171ff. 波形整形用入力アンプの周波数特性を見てみる。オペアンプはテキストと同じくAD8042ARを使った。Rはフラットパック。回路定数もテキストと同じにした。ゲインは20log(5.1 kΩ/1 kΩ)≒14dB。バイアスは3.3 V * 3.…

周波数カウンターを作る5 / キャラクターLCDに表示する

CPLDでディジタル電子工作 (CQ文庫), pp.171ff. テキストは8桁ぶん並べた7セグLEDに測定結果を表示しているが、ここではキャラクターLCDに表示する。SC1602BBWB-XA-LB-Gを使った。フォントが小さいので本当は測定器のディスプレイには適さない。4ビットモー…

周波数カウンターを作る4 / 1秒ゲート用のANDゲートをBCDカウンター側に移す

前回まではテキストどおりにANDゲートで1秒ゲートを作っていたが、今度はBCDカウンター側のカウントイネーブル入力端子を使うことにする。117LEを消費した。

周波数カウンターを作る3 / 制御のタイミングを変える

CPLDでディジタル電子工作 (CQ文庫), pp.171ff. テキストはゲートを1秒開いて、1秒閉じて、閉じている間に、表示値の更新、カウンターのクリアをしているが、1秒閉じている時間がもったいない。ここでは、ソースクロックのカウンターをダウンカウンターにし…

周波数カウンターを作る2 / 74シリーズを置き換える

CPLDでディジタル電子工作 (CQ文庫), pp.171ff. テキストの趣旨からは外れるが74シリーズにこだわる必要はないのでIPカタログその他を使って書き換える。119LEを消費した。 周波数カウント部は下のように、モジュロ10のカウンターを8桁ぶん連結する。 表示値…

周波数カウンターを作る1 / コアの部分だけ試す

CPLDでディジタル電子工作 (CQ文庫), pp.171ff. まずコアの部分だけ試す。以下の点以外はテキストのままである。117LEを消費した。 7セグLEDのダイナミック点灯用回路をごっそり取り払った。 PLLで32.768 kHzを生成した。 タイミング確認用の端子を引き出し…

Nspired Pythonによる単振り子のシミュレーション / アニメ化する

tns_files/pend_single_tns at master · ti-nspire/tns_files · GitHub import RK4_Class import time import ti_system as tsys import ti_draw as td from math import sin as SIN from math import cos as COS from math import pi as PI class PEND_SING…

Nspired Pythonによる単振り子のシミュレーション / 常微分方程式の解法

参考: パソコンで見る天体の動き, pp.26-29 まず微分方程式が解けるようにする。何もインポートしていないので普通のPythonでもそのまま走る。 # Python による常微分方程式の数値解法_改良版 / 古典的 Runge-Kutta 法 class RK4: def __init__(self, funcs,…

NOTゲートを2個使った発振回路の実験

トランジスタ技術 2020年 5月号, pp.76-78 周期Tは約2.2 * R2 * C。ここではR2 = 2.2k、C = 100uにしたので周期は約0.5秒である。

静電容量式近接 & タッチセンサーコントローラーMPR121 / アプリケーションノートAN3891ベースラインシステム非公式訳

原文: https://www.nxp.com/docs/en/application-note/AN3894.pdf MPR121ベースラインシステム はじめに タッチ検知システムにはさまざまな構成要素が必要です。タッチ検知に特に欠かせないのがベースラインフィルターです。ベースラインフィルターの目的は…

静電容量式近接 & タッチセンサーコントローラーMPR121データシート非公式訳

原文: https://www.nxp.com/docs/en/data-sheet/MPR121.pdf 静電容量式近接 & タッチセンサーコントローラー 特徴 何ができるのか 主な用途 ピン配置 注文情報 1 各端子の説明 表1. 各端子の説明 2 接続図と回路構成 3 動作説明 電源 静電容量の検知 タッチ…

I2C / SCL周波数を設定する

データシートによればSCL周波数はTWBR[7:0]、TWSR[1:0] (= TWPS)の各レジスタ値から次式で求まる。 SCL_freq == F_CPU / (16 + 2 * TWBR * 4^TWPS) TWBRは0~255、TWPSは0~3。 この式をTWBRについて解くと次のように変形できる。 TWBR == F_CPU / (2 * SCL_…

I2C / ビットレートジェネレーターユニット / 非公式訳

ATmega328Pデータシート非公式訳 22.5.2 ビットレートジェネレーターユニット このユニットでマスターモード時のSCL周期を制御します。SCL周期は、TWI Bit Rate Register (TWBR)の設定と、TWI Status Register (TWSR)のPrescalerビットとで制御します。スレ…

SPI / 雷センサーAS3935 / 雷を待つ

プログラムを用意しておいて、あとはひたすら雷の発生を待つ。 https://github.com/ti-nspire/AVR/tree/master/AS3935%232/test_C #define F_CPU 8000000UL #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include "USARTClass.h" #include "AS3935SPI_Class.h" AS3935SPI_</avr/interrupt.h></util/delay.h></avr/io.h>…

SPI / 雷センサーAS3935 / 内蔵発振器を較正する

システム用としてSRCO (ノミナル1.1 MHz)、タイマー用としてTRCO (ノミナル32.768 kHz)の2つのRC発振器が内蔵されている。この2つの発振器を較正する。 注意点: アンテナの共振周波数を調整してから実行することが望ましい。 電源をオフにしたあとは毎回較正…

SPI / 雷センサーAS3935 / アンテナの共振周波数を調整する

INT (IRQ)端子からはアンテナの共振周波数が出力できる。この周波数は500 kHzでなければならない。今、LCO_FDIVはデフォルトの16分周に設定してあるので、500 kHz / 16 = 31.25 kHzになるようTUN_CAPを調整する。 これがTUN_CAP == 0 (0 pF)のとき: これがTU…

SPI / 雷センサーAS3935 / ライブラリー化 / 動作確認

すべてのレジスタに楽に触れるようライブラリーにした。もう一度チャッカマンで動作確認をする。 #define F_CPU 8000000UL #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include "USARTClass.h" #include "AS3935SPI_Class.h" AS3935SPI_Class lightning("PB2"); // 雷セ</avr/interrupt.h></util/delay.h></avr/io.h>…

SPI / 雷センサーAS3935 / 動作確認

pp.563ff. テキストは、SPI接続のLEDドライバーMAX7221で7セグLEDを駆動しているが、ここでは雷センサーAS3935を試す。SparkFun社製ブレークアウトボードを使う。 SparkFun社製ブレークアウトボード (接続図)の注意点: SPI専用。 内蔵レギュレーターは未使用…

雷センサーAS3935データシート非公式訳

概要 主な特長 用途 ブロック図 ピン配置 絶対最大定格 電気的特性 代表的な動作特性 詳しい説明 回路 動作モード パワーダウンモード リスニングモード 信号検証モード レジスタテーブル レジスタテーブルの説明とデフォルト値 SPI SPIのコマンド構造 レジ…

基準電圧IC REF5020AID

電圧リファレンスで遊ぼう – 船田戦闘機日誌 at nnar REF50xxデータシート 入出力にそれぞれキャパシタをつなぐだけで、正確な2.048 Vが得られる。REF5020AIDは±0.1%確度。±0.05%確度のハイグレード品もある。 myDAQで測定したところ誤差は-0.03%であった(er…

テスターDP-700のACVレンジの周波数特性

参考: 電子工作・自作オーディオ Tips&トラブルシューティング・ブック, pp.178-180 ディジタルテスターは一般に周波数帯域が狭い。30年近く使っているDP-700 (三和)のACVレンジの周波数特性を実際に測ってみる。取説によれば40 Hz~500 Hzである。実測値を…

二酸化炭素(CO2)センサー / 長時間測定

Gravity - 赤外線CO2センサ/メーター - スイッチサイエンス myDAQ (のAnalog IN)とLabVIEWとを使って作業場のCO2濃度の変化を1分おきに測定する。 CO2濃度は、密閉された室内に人がいると当然徐々に上昇する。ガスコンロを使うと急上昇する。窓を開放すると…

二酸化炭素(CO2)センサー

非分散赤外線吸収方式(NDIR)によるGravity - 赤外線CO2センサ/メーター - スイッチサイエンスを試してみる。室内環境は1000 ppm以下であることが推奨される。大気中のCO2濃度はおおよそ380 ppm (0.038%)である*1。 センサーの諸元: 電源電圧: 4.5~5.5 V 消…

超音波浮揚の実験3 of 3 / 一往成功した

参考: makezine.com // ヒューズのCKDIV8ビットは解除しておく。 // クロックは内蔵9.6 MHzを使う。 #include <avr/io.h> #include <avr/interrupt.h> ISR(TIM0_COMPA_vect){ PORTB ^= 0b11; // コンペアマッチするたびにPB1:0をトグルする。 } int main(){ DDRB = 0b11; // PB1:0からパ</avr/interrupt.h></avr/io.h>…

超音波浮揚の実験2 / 相補パルスを作る / ATtiny13A

超音波浮揚の実験1 / 相補パルスを作る -と同じことをATtiny13Aでしてみる。違いは、割り込みベクタとクロックくらいである。秋月で1個50円で買えた。内蔵クロックの9.6 MHzを使う。ヒューズのCKDIV8ビット(クロックの8分周)は解除した。出力端子はPB0:1を使…