初めて買ったArduino UNO・・・今は
Arduino初体験 が2012年12月。 (10年以上前だわ)
その基板の現在がこれ。
・どこかから拾ったプラケースをベースに。
・16MHzセラミック発振子を水晶発振子に交換。
・ブートローダ書き込み済みのATmega328Pと
通信(スケッチアップロード)するための
ケーブルを付加。
・乗っているチップは何度も交換。
ちょっとした実験や試運転で便利なのが
アナログ入力ポートにつなぐ4つのボリューム。
スイッチも2つ付けてます。
こんな回路です。
ボリュームのスライダーに0.1uFのコンデンサを
入れておくと安心。
+5VとGNDを取れるようにピンヘッダをハンダして
います。
ケチって片面のユニバーサル基板なんで、配線は
ちょっと面倒。
AnalogReadで読んだA/D値(0~1023)を使って
Delay値を設定したり、動作パラメータを変えたりと
リアルタイムでできますんで、なかなか便利です。
使ったボリュームは秋月電子通商のつまみ付半固定抵抗 。
(足の1・2・3の順に注意:刻印あり)
似てるけど3386K-EY5-103TRじゃない!
※応用のためのスケルトン・スケッチ
4つのボリュームと2つのスイッチを入力するための
応用基本スケッチを示しておきます。
・ボリューム値の入力は1ms割り込みで処理。
・64回平均。
・4つあるので256msごとにデータが確定。
・勝手にスキャンするのでAnalogReadのように
100us待たされるということがない。
・割込禁止にしなくてもいつでも読めるよう
VR値は0~255の8bitで。
ad_avr[ch]を読めばok。
起動すると256msごとに値をシリアル出力します。
A/D 8bit:VR1,2,3,4 SW1,2
105 178 123 249 0 0
105 178 123 255 0 0
:
0 64 128 255 0 0
0 64 128 255 0 0
0 64 128 255 1 0 SWはオンで1
0 64 128 255 1 1
0 64 128 255 0 1
0 64 128 255 0 0
・ダウンロード - ad_vr4.txt
.inoではなくUTF8Nのテキストです。
※タイマー割り込みとADC変換完了割り込み
ソースを見てもらえれば、その手順がわかるかと。
さまざまなライブラリ、確かに便利です。
でも、Arduino UNOのATmega328Pマイコン
あたりなら、レジスタの直接操作はそんなに
難しくはありません。
マイコンに備わっているさまざまな機能を引き
出すには、データーシートをにらみながらの
プログラミングをしなければなりません。
| 固定リンク
「ツール」カテゴリの記事
- 今日の失敗:ABS樹脂ケースに穴を開けたらホルソーが詰まったゾ(2026.01.15)
- ブザー報知周波数でマイコンの動作クロックを探る#2(2025.12.04)
- 3.3V出力の実験用安定化電源回路にスイッチを付けたい(2025.12.04)
- ブザー報知周波数でマイコンの動作クロックを探る(2025.10.31)
- 買ってはダメ! コーナンLIFELEXリピート型結束バンド(2025.08.17)
「Arduino」カテゴリの記事
- ATtiny1614:タイマレジスタの初期設定を見る(2026.01.06)
- ラジオペンチさんの「ダイソーのゆらゆらLEDキャンドルライト」#2(2025.09.15)
- ラジオペンチさんの「ダイソーのゆらゆらLEDキャンドルライト」(2025.09.11)
- ATtiny402サンプル:"Wire.h"を使わずI2Cで液晶表示 AQM1602だと(2025.09.09)
- ATtiny402サンプル:I2Cで液晶表示 SCL周波数を設定できるようにしたら(2025.09.09)
「割り込み処理」カテゴリの記事
- 1クロックでも速くしたい 割込を「ISR_NAKED」で(2024.09.30)
- 1クロックでも速くしたい DDS方式の2相パルス発生器(2024.09.27)
- 最適化処理のせいで悩んだぞ 呪文volatile再び(2024.06.06)
- I2C液晶のアクセス、割り込みで処理しないようにすると(2024.04.12)
- I2C液晶のアクセス、割り込み処理で遅れる原因らしきもの(2024.04.07)



コメント