
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 | Arduino DUEで日本語表示 |
| #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ボードの中華サポートに嫌気がさして衝動買いしてしまった新しい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 | カメレオン |
| #34−9 | 真性乱数と擬似乱数の協調 |
| #34−10 | 大域測位系(直訳) |
購入して、まだ使えていないモジュールもあるので、順次使って見たいと思います。
| #35−1 | ログストレージハット |
| #35−2 | GPSロガ(作ろう) |
| #35−3 | GPSロガ(歩こう) |
| #35−4 | 衛星電波時計 |
| #35−5 | キッチンスケール組み立て |
| #35−6 | AD変換器HX711を使う |
| #35−7 | 重量測定 |
| #35−8 | UNO用の漢字ROM |
| #35−9 | Arduino UNOで日本語表示 |
| #35−10 | キッチンスケール再び |
これまでに開発してきた技術のブラッシュアップも図っていきたいと思います。
| #36−1 | サウンドジェネレータの設計 |
| #36−2 | サウンドジェネレータの設計.2 |
| #36−3 | サウンドジェネレータの設計.3 |
| #36−4 | RTCユニット再設計 |
| #36−5 | RTC(DS3231)モジュール購入 |
| #36−6 | 実時間時計を実装する |
| #36−7 | Blockly→JavaScript変換 |
| #36−8 | DS3231(RTC)のAgingレジスタを試す |
| #36−9 | Blocklyの実行速度は? |
| #36−10 | マンデルブロ集合の探索 |
以前購入した小さなMCUの活用からスタートします。
| #37−1 | 可変周波数クロック発振器(ひと) |
| #37−2 | 可変周波数クロック発振器(ふた) |
| #37−3 | 準備中 |
Arduino DIYに登場した、モジュールや素子、技術等の逆引き索引となっています。それらしく割り当てたカテゴリ順と、初登場の早い順となっています。
| 索引の索引 | ||
| board | マイコンボード | Arduino UNO,STM32など、マイコンボード |
| communication | 通信 | UART,SPI,I2Cなど、通信関係 |
| demo | デモ動画 | デモ動画の見られる記事 |
| display | 表示 | LED,7SEG,LCDなど、表示系部品 |
| jig | 治工具/装置 | 連載中に手作りした治工具、装置など |
| kit | キット | 購入して使用したスタータキットなど |
| motor | モータ | サーボ,ステッピングなど、モータ関係 |
| part | 部品 | その他、回路を構成するための部品など |
| program | プログラム | プログラミング関係の技術など |
| sensor | センサ | センサ系 |
| software | ソフトウェア | 連載でお世話になったソフトウェア(自作含む) |
| technology | 技術(動作原理等) | 連載で解説した技術など |

