2019/07/23(火曜日) 曇りのち晴れ
ESP-WROOM-02でいろいろなプログラムを勉強して少しは使い方がわかってきた。
そこでいよいよ温度計と気圧計の組み立てに入ろうかと、思っている。
でもESP-WROOM-02はアナログ入力端子が1つだけ(だと思います・・・)。
それに入出力端子(GPIO端子)も少ない。
そこで「勘違い」購入してしまった「ESP-WROOM-32」を使ってみることにした。
工作雑誌記事に出ていた「ESP-WROOM-02」を買うつもりだったが
勘違いして「ESP-WROOM-32」買ってしまった。
今まで部品箱にしまってあったがこれを使ってみることにした。
このボードはESP-WROOM-02よりも高機能でアナログ入力端子もGPIO端子も多数ある。
(いくつだかはよくわからないけど・・・)
デジタルデータをアナログ電圧に変えて出力するDAコンバータ端子も2本ある。
そしてWiFiの他にBluetooth(ブルートゥース)も使える。
まぁ、良くはわからないけれど高性能なのは確かだ。
GPIO端子が沢山あるので12bitバイナリカウンタを組み立ててみた。
以前からこういうマイコン(マイクロコントローラ)でバイナリカウンタを作ってみたかった。
でも、ただ雑誌で工作記事を読むだけでGPIO端子の使い方もわからず、どうやって
カウントしたデータをバイナリ出力に変換するのか想像を巡らすばかりだった。
今回、初めてこういうボード(ESP02やESP32のこと)手にしていろいろ勉強した結果
プログラム内で計数したカウント値を記憶しておく変数(カウンタ)の各桁のビット状態(0か1)を
読み取ってくる関数(コマンドみたいなもの)があることを知った。
なるほど・・・これを使えばカウンタの数値をバイナリ(0か1)に変換して取り出すことができる。
ブレッドボードにESP32やLEDを取り付けてカウンタのプログラムをロードした。
最初は変な動作をしてしまった。
プログラムを何度も修正して、やっと正常にカウントするようになった。
そんなテストの様子を動画でご覧ください。
プログラムをループさせて1回転するたびにカウンタを+1していく。
最大カウント値が4095(12bitのLEDが全点灯)になったら次のカウントで再び0から
カウントアップする。
これを繰り返すだけ・・・・・ただそれだけです。
まぁ、これを以前工作したミリタリエアバンド(250MHzから350MHz付近)をスキャンする
スペアナもどきに使えればいいかなと思っている。
このカウンタ出力を抵抗ラダー回路に加えて鋸歯状波を作ればプログラムの機能で
カウント開始値やカウント終了値を自由に設定できるだろう。
そうすれば鋸歯状波の開始電圧、停止電圧が変えられてスイープ周波数の範囲を変化させられるようになる。
でも、このボードの発振周波数では最高のカウントアップにしても、4800Hzぐらいにしかならない。
これでは12bit鋸歯状波では1Hzぐらいだから使い物にならない。
※コメント投稿者のブログIDはブログ作成者のみに通知されます