Arduino導入から、電子工作(DIY)で「部屋の気温と湿度のログを自動取得する」目標に向かう記録です
第0回 | Arduinoを使った電子工作の部屋 |
第1回 | Arduinoへの理解を深める |
第2回 | Arduino初心者スタータキット到着 |
第3回 | 非同期シリアル通信をPCからモニタする |
第4回 | シフトレジスタを使ってみる |
第5回 | 気温と湿度を測定するセンサ |
第6回 | 気温と湿度の測定 |
第7回 | AM2302の制御手順を仕上げる |
第8回 | 気温・湿度のログを取る |
第9回 | 気温・湿度のログを取る(後編、最終回) |
スタートしたときに立てた目標は完遂しましたが、楽しいおもちゃを見つけてしまったので、色々と工作をしていきたいと思っています。具体的な目標はありませんが、その都度、テーマを見つけて挑戦していきたいと思います。
では、不定期掲載の2ndシーズン目次です。
#2−1 | Arduinoを使った電子工作の部屋(2nd Season) |
#2−2 | スイッチを検出する |
#2−3 | ロジアナもどきを作る |
#2−4 | 二代目のスタータキット購入 |
#2−5 | リアルタイムクロックを使ってみる |
#2−6 | ドットマトリクスLEDを使う |
#2−7 | 7SEG LEDを表示する |
#2−8 | ロータリエンコーダを使う |
#2−9 | 抵抗値を測定する |
#2−10 | ミニキーボード付きゲームパッド |
唐突に、3rdシーズン突入です。テーマの切れ目とか、状況の変化とか、関係なく、単純に10話一区切りと言うことで……。では目次です。
#3−1 | LCD1602に表示する |
#3−2 | Arduino間I2C通信を試す |
#3−3 | I2C接続 LCD表示モジュール |
#3−4 | サーボモータ |
#3−5 | フォトレジスタとサーミスタ |
#3−6 | ステッピングモータ |
#3−7 | ブザーとサウンドセンサ |
#3−8 | ブラシDCモータ |
#3−9 | キッチンタイマを作る |
#3−10 | 超音波センサと焦電型赤外線(PIR)センサ |
まだまだ、続きますよ。「10話一区切り」ルールに従って、4thシーズンがスタートします。
#4−1 | 中国から配送されるネットショッピング |
#4−2 | Logiscopeの拡張 |
#4−3 | 赤外線リモコン(送信) |
#4−4 | デジタルオシロスコープ |
#4−5 | WiFiインターネット通信 |
#4−6 | LEDキャンドル |
#4−7 | ENC28J60を使う |
#4−8 | タイマ割り込み |
#4−9 | フォトインタラプタを作る |
#4−10 | ArduinoとESP32の非同期シリアル通信 |
テーマは尽きません。5thシーズンの始まりです。
#5−1 | 高速ソフトウェアシリアル(前編) |
#5−2 | 高速ソフトウェアシリアル(後編) |
#5−3 | 高速ソフトウェアシリアル(続編) |
#5−4 | デジタルオシロスコープ(STM32対応) |
#5−5 | キッチンタイマをシールドに実装 |
#5−6 | 正弦波を生成する |
#5−7 | マイクロステップ励磁 |
#5−8 | MMLで音楽を奏でる |
#5−9 | JJYのエミュレーション |
#5−10 | 電源電圧を計測する |
ここまで来たら、行けるところまで。
#6−1 | オペアンプ、の、前に香辛料 |
#6−2 | オペアンプにspice |
#6−3 | 1/fゆらぎ扇風機 |
#6−4 | オペアンプを使って増幅回路を作る |
#6−5 | microSDカードI/Fを自作する |
#6−6 | ポータブル気温・湿度ロガ |
#6−7 | Arduinoはサイコロを振る |
#6−8 | ATmegaのEEPROMを使ってみる |
#6−9 | モールス符号発信機 |
#6−10 | 真の乱数を生成する |
そっち行く?的な新展開にもこうご期待。
#7−1 | HTTPサーバを立てる |
#7−2 | デザートにラズベリーパイはいかが? |
#7−3 | Raspberry Piで気温・湿度センサを読み出す |
#7−4 | USB電圧・電流計で電流を測定する |
#7−5 | Raspberry PiにRTC(DS1302)を接続する |
#7−6 | DA変換器を作る |
#7−7 | Pi ZeroWの非同期シリアル通信 |
#7−8 | Pi ZeroWとArduinoのUSB⇔UART変換接続 |
#7−9 | WAVファイルを再生する |
#7−10 | WAVファイルを再生する(回収編) |
オペアンプ(+LTspice)の導入でSeason#6から始まったアナログシリーズ(ただし手探り)からも目が離せません。
#8−1 | Pi ZeroWのI2C通信 |
#8−2 | 逐次比較型AD変換器を作る |
#8−3 | シュミットトリガ入力バッファを設計する |
#8−4 | 電話をかける |
#8−5 | Mathematicaを使ってみよう |
#8−6 | 音声合成、の、マネ事 |
#8−7 | I/Oエクスパンダを使う |
#8−8 | 反射型赤外線センサ |
#8−9 | 発振器でLEDを自動点滅する |
#8−10 | 2軸カメラマウントの組み立て |
9thシーズンに突入して、環境(部品など)が整ってきたお陰で、色々な応用に手を出せるようになってきました。
#9−1 | 喋る気温・湿度計 |
#9−2 | ΔΣ型AD変換器を作る |
#9−3 | Raspberry Piと有線LAN |
#9−4 | ATmega328のヒューズ書き込み |
#9−5 | ブレッドボードにArduinoっぽい物 |
#9−6 | SDカードI/F回路の改定 |
#9−7 | 内蔵RC発振器を校正する |
#9−8 | 3D首振りサーキュレータ |
#9−9 | 328duinoをArduino IDEに組み込む |
#9−10 | 電子コンパスの作成 |
少し深い所でも足がとどく様になってきました。まだ、つま先立ちですけど……。
#10−1 | サウンドレベルメータを作る |
#10−2 | 空中マウスを作ってみよう |
#10−3 | LCDサブシステムを何とかせねば |
#10−4 | ハートビート💖🥁 |
#10−5 | 328duinoをクロックアップ |
#10−6 | 328duinoをクロックアップ(完結編) |
#10−7 | LCD1602の外字フォントを使う |
#10−8 | フォトカプラを作る |
#10−9 | QVGA TFT液晶を使う |
#10−10 | タッチパネル(座標・筆圧) |
試してみたいアイディアは沢山あるのだけど、手が回りません……。まあ、趣味なので、ゆっくりじっくり楽しんで進めて行こうと思います。
#11−1 | TFTシールドに文字を描画する |
#11−2 | 円形配置RGB LED(WS2812B)を使う |
#11−3 | ゲームで遊ぼう |
#11−4 | グラフィックスイコライザ風表示装置 |
#11−5 | WiFi電波時計 |
#11−6 | LED暖炉 |
#11−7 | そうだ、ボイスレコーダを作ろう |
#11−8 | 続ボイスレコーダを作ろう |
#11−9 | 一の次は二 |
#11−10 | DUEでLogiscopeを動かす |
暫くは、DUEを使ってみたいと思います。
#12−1 | DUE+TFTシールド |
#12−2 | DUE+タッチパネル |
#12−3 | DUE+TFTで日本語表示 |
#12−4 | LDOレギュレータを試す |
#12−5 | プログラマブルLDOレギュレータ |
#12−6 | DUEにSDカードI/Fを接続する |
#12−7 | 基準電圧源を作る |
#12−8 | 電子コンパス(その2) |
#12−9 | DUEのI2C通信 |
#12−10 | DUEでWAVファイルを再生する |
ここの所ちょっと、DUEの活躍場面が多くなっているけど、仕方ないよね?UNOは結構使い倒して来たし、UNOに比べてパワフルだから。
#13−1 | TFTシールドにBMPを表示する |
#13−2 | MMLで三和音を演奏する |
#13−3 | MMLで三和音を演奏する(仕上げ) |
#13−4 | シリアルEEPROM化328duino |
#13−5 | DUEのTRNGを使ってみよう |
#13−6 | 赤外線リモコンを作ろう |
#13−7 | 赤外線リモコン化328duino(試作編) |
#13−8 | DUEのWAVファイル再生を向上する |
#13−9 | もっと小さくATtiny2313 |
#13−10 | ATtiny2313とシリアルモニタ |
MCUのレパートリにATtiny2313が加わったので、色々とアイディアを絞っているところです。
#14−1 | はい、チーズ(OV7670) |
#14−2 | いちたすいちは?に〜(OV7670) |
#14−3 | 最後にもう一枚撮りま〜す(OV7670) |
#14−4 | ATtiny2313内蔵RC発振器の校正 |
#14−5 | 三端子レギュレータ(LM1117-3.3) |
#14−6 | 暗くなったら蝋燭を灯して |
#14−7 | DUEでTFTシールドのSDカードI/Fを使う |
#14−8 | ATtiny2313+容量+抵抗=AD変換器 |
#14−9 | 手作りtiny AD変換器の評価 |
#14−10 | Arduino IDEのESP32開発環境 |
レギュラの記事とは別ラインで、FPGAボードを使った論理設計記事を公開して行きます。シーズン15は全てFPGAボードを使った電子工作記事です。
#15−1 | FPGAボードを買ってみた |
#15−2 | 論理回路を設計する |
#15−3 | マイコンを作るよ |
#15−4 | CPUの動作設計 |
#15−5 | RISC-Vを試す |
#15−6 | CPU周辺回路を作る |
#15−7 | I/Oユニットを揃える |
#15−8 | 部品はそろった |
#15−9 | 割り込み機能を追加する |
#15−10 | 汎用16ビットタイマユニット |
レギュラシーズンに戻っても、暫くはFPGAボードを使った工作がメインになりそうな予感です。
#16−1 | 見せてもらおうか、Xtensa LX6コアの性能とやらを |
#16−2 | Moscoviumで四則演算する |
#16−3 | 除算器の設計 |
#16−4 | 24MHz 8chロジックアナライザの制作 |
#16−5 | 半精度浮動小数演算ユニット |
#16−6 | 半精度浮動小数演算ユニット(弐) |
#16−7 | Moscoviumにブートローダを |
#16−8 | 忘れてた実機動作確認 |
#16−9 | 数学関数を整備しよう |
#16−10 | それは比較の問題だ |
オリジナルマイコンの強化がもう一息必要なので、まだまだFPGAボードを使った工作がメインです。
#17−1 | 双頭の狼 |
#17−2 | 双頭の狼(knee) |
#17−3 | 双頭の狼(sun) |
#17−4 | 動体検知カメラ |
#17−5 | I2Cを使いたいの |
#17−6 | I2Cマスタ通信 |
#17−7 | I2Cスレーブ通信 |
#17−8 | 円周率とデュアルコア |
#17−9 | 双方向I/Oポート |
#17−10 | 熱中症警戒アラート |
このシーズンも、FPGAボードで遊ぶケースが多そうだな……。FPGAボードだと、ソフトウェアだけではなくてハードウェアと言うソリューションも選択できるので、可能性が広がって楽しいです。
#18−1 | WBGT時計の設計 |
#18−2 | SPI通信する |
#18−3 | SPI接続TFT表示器 |
#18−4 | Moscoviumと日本語フォント |
#18−5 | MoscoviumとSPI-TFT |
#18−6 | お日様照明 |
#18−7 | Moscovium色々拡張 |
#18−8 | UART通信速度の自動検出 |
#18−9 | Moscovium+ESP32⇒メール送信 |
#18−10 | 5Vトレラント入力 |
FPGAボード含め、UNO、DUE、STM32、……と、色々な選択肢があって、飽きません。
#19−1 | デジタルPWM |
#19−2 | オルゴール化328duino |
#19−3 | バンドギャップ基準電圧 |
#19−4 | BGR回路の温度補償 |
#19−5 | FPGAボードのAD変換器を使う |
#19−6 | FPGAボードのAD変換器を使う(2) |
#19−7 | SDRAMを使って見よう(1) |
#19−8 | SDRAMを使って見よう(2) |
#19−9 | SDRAMを使って見よう(3) |
#19−10 | 何回目?LEDキャンドル |
ほぼほぼ毎週更新、10回/シーズンで20シーズン目に突入します。
#20−1 | キャッシュメモリコントローラの設計(上) |
#20−2 | キャッシュメモリコントローラの設計(下) |
#20−3 | 温度センサのアルゴリズム |
#20−4 | 32ビットに拡張するゾ(ひ) |
#20−5 | 32ビットに拡張するゾ(ふ) |
#20−6 | 32ビットに拡張するゾ(み) |
#20−7 | 32ビットに拡張するゾ(よ) |
#20−8 | スーパスケイラ |
#20−9 | イシュー(命令の発行) |
#20−10 | クローズ(設計の完了) |
シミュレーションがメインだったFPGAボードでの開発から、少しづつ電子工作に戻って行きたいな〜。
#21−1 | ベリファイ(検証と実験) |
#21−2 | シフト演算 |
#21−3 | スーパスケイラのデュアルコア |
#21−4 | 空中に文字を表示 |
#21−5 | Moscoviumのオシロスコープ |
#21−6 | ペンタブレットを作る |
#21−7 | 空中マウスの別解 |
#21−8 | 万歩計を作ろう |
#21−9 | 風速計を作ろう |
#21−10 | 文字コード変換 |
まだまだ、FPGAでの開発が楽しいです。
#22−1 | 文字コード変換回路 |
#22−2 | OLEDディスプレイを使う |
#22−3 | 万歩計を完成させる |
#22−4 | 超音波センサで距離を測る |
#22−5 | 超音波距離計 |
#22−6 | 風速計を作ろう(2) |
#22−7 | 天気時計を作るよ(マエ) |
#22−8 | 天気時計を作るよ(アト) |
#22−9 | RTCを設計する(プロローグ) |
#22−10 | RTCを設計する(エピローグ) |
少し新しい風を入れてみたいと考えています。乞うご期待。
#23−1 | 整数演算で開平してみよう |
#23−2 | 割り込み機能を強化する |
#23−3 | M5StickC Plusがやって来た |
#23−4 | M5StickC Plus日本語表示 |
#23−5 | unicode→S-JIS変換(S/W編) |
#23−6 | UIFlowを使って見る |
#23−7 | M5StickC Plus版キッチンタイマ |
#23−8 | IRリモコンを作る |
#23−9 | 低層ライブラリを使う |
#23−10 | PDMマイクを使って見る |
FPGAボードを使って、1から大規模論理回路を作り上げる楽しさも捨てられません。
#24−1 | 音声メモを作る |
#24−2 | ΔΣ型DA変換器の設計 |
#24−3 | ΔΣ型DA変換器の評価 |
#24−4 | FreeRTOSでマルチタスク |
#24−5 | 単精度浮動小数演算ユニット |
#24−6 | 浮動小数の開平 |
#24−7 | 万歩計をスマートに作ろう |
#24−8 | 万歩計をスマートに作った |
#24−9 | 外部32ビットバスへ拡張 |
#24−10 | ロングワードスタック |
M5StickC Plusには、電子工作に必要な部品がオールインワンとなっているので、使っていて楽しいです。
#25−1 | ボイスチェンジャを作ってみよう |
#25−2 | M5StickC Plusでジュークボックス |
#25−3 | メッセージカードならぬボックス |
#25−4 | メッセージボックスを完成させる |
#25−5 | 後出しジャンケン |
#25−6 | 後出しジャンケンで遊ぶ |
#25−7 | 乗除算命令を強化する |
#25−8 | UIFlowとスマートフォン連携 |
#25−9 | I2C温度・湿度センサ化328duino |
#25−10 | I2C温度・湿度センサ化328duino(ii) |
色々な選択肢を排除せず、26thへ突入します。
#26−1 | 温度・湿度リモート監視 |
#26−2 | アナログPWMで音楽を奏でる |
#26−3 | Moscoviumのスケールダウン |
#26−4 | Tennessineコアの動作検証 |
#26−5 | ZPUというCPUコア |
#26−6 | まともなFPGAボードを買ってみた |
#26−7 | まともなFPGAボードの環境立ち上げ |
#26−8 | まともなFPGAボードの回路設計 |
#26−9 | まともなFPGAボードのLチカ |
#26−10 | 水準器を作ってみよう |
FPGAボード(Primer)の中華サポートに嫌気がさして衝動買いしてしまった新しいCmod A7ボード(FPGA)へ、Moscoviumマイコンの移植を進めて行かなくてはなりません。
#27−1 | カレンダ付腕時計 |
#27−2 | RTLの移植 |
#27−3 | Moscoviumマイコンの移植 |
#27−4 | 移植後の検証 |
#27−5 | フェッチレイテンシの設計変更 |
#27−6 | FIFO回路の設計 |
#27−7 | TennessineとMoscoviumのアセンブラ |
#27−8 | 足回りの改定 |
#27−9 | 漸くスーパスケイラ |
#27−10 | デュアルコアレディ |
引き続き、Cmod A7ボード(FPGA)での開発が主となる予定です。
#28−1 | 緯度を推定してみよう |
#28−2 | 大容量内蔵RAMを使う |
#28−3 | RAMマクロの用途 |
#28−4 | バーコードリーダ |
#28−5 | 非同期SRAMを使う |
#28−6 | 非同期SRAMを使う(zwei) |
#28−7 | Artix-7のXADCマクロ |
#28−8 | Artix-7のXADCマクロ(deux) |
#28−9 | Artix-7のXADCマクロ(trois) |
#28−10 | UNO 3.3V化328duino |
物を動かす電子工作にも手を伸ばしたいと思います。
#29−1 | ロボットカーを組み立てよう |
#29−2 | ロボットカーを組み立てよう(自動走行) |
#29−3 | も〜っと小さくATtiny85 |
#29−4 | ATtiny85の内蔵RC発振器 |
#29−5 | ロボットカーを組み立てよう(無線操縦) |
#29−6 | 非対称並列処理 |
#29−7 | 小さなソフトウェアシリアル |
#29−8 | ロボットカーを組み立てよう(演奏電飾) |
#29−9 | ロボットカーを組み立てよう(演奏電飾)2 |
#29−10 | ロボットカーを組み立てよう(演奏電飾)3 |
もう一息のロボットカーからも目が離せませんよ。
#30−1 | 遮断型赤外線センサ |
#30−2 | パンチカードリーダ |
#30−3 | ロボットカーを組み立てよう(速度計測) |
#30−4 | USB⇔UART変換が足りない |
#30−5 | VGAカメラ再び |
#30−6 | VGAカメラ再び:第2話 |
#30−7 | VGAカメラ再び:第3話 |
#30−8 | VGAカメラ再び:第4話 |
#30−9 | PICAXEというマイコン |
#30−10 | PICAXEというマイコン(実遊) |
色々と、やりたい事が溜まってしまい、手が回っていない状態です。少しずつ消化していきます。
#31−1 | 気圧の測定 |
#31−2 | Moscoviumの開発環境(ワクワク) |
#31−3 | Moscoviumの開発環境(アゲアゲ) |
#31−4 | ATmega328PB-AU |
#31−5 | ATmega328PB-AU(結) |
#31−6 | Moscoviumの開発環境(カスカス)![]() |
#31−7 | Moscoviumの開発環境(モジモジ) |
#31−8 | ATmega328PBでもLogiscope |
#31−9 | ROMが狭い |
#31−10 | Unit CAMを買ってみた |
テーマの渋滞は解消しておらず、順次公開予定です。
#32−1 | Unit CAMを買ってみた(之二) |
#32−2 | Blocklyにデュアルコアを実装 |
#32−3 | Blocklyにデュアルコアを実装(二芯) |
#32−4 | Blocklyで割り込み実行 |
#32−5 | Blocklyとアセンブラ連携 |
#32−6 | ロボットカーを組み立てよう(数値制御) |
#32−7 | ロボットカーを組み立てよう(数値制御)2 |
#32−8 | 気圧と標高(理論) |
#32−9 | 気圧と標高(実践) |
#32−10 | SPI-TFTをPMODに繋ぐ(変換基板)![]() |
今シーズンは、オリジナル16ビットCPUコアMoscoviumやBlockly for Moscoviumが中心になりそうです。
#33−1 | SPI-TFTをPMODに繋ぐ(論理設計) |
#33−2 | SPI-TFTをBlocklyで使う |
#33−3 | Moscoviumを減量 |
#33−4 | 除算コプロセッサを減量 |
#33−5 | 多コア化に挑戦 |
#33−6 | 多コア化に挑戦(ジ) |
#33−7 | 多コア化に挑戦(トリ) |
#33−8 | 多コア化に挑戦(テトラ) |
#33−9 | Blocklyの数学関数整備 |
#33−10 | BlocklyとI2C通信 |
新しいモジュールも導入予定です。
#34−1 | 気象情報表示器 |
#34−2 | 脈拍計再び |
#34−3 | シリアルEEPROMを買って見た |
#34−4 | EEPROMをログストレージとして使う |
#34−5 | 万歩計のデータログ |
#34−6 | 真性乱数発生器(PLL方式) |
#34−7 | 真性乱数発生器(SSCG方式)![]() |
#34−8 | 準備中 |