検索:
LLMに使えるマークダウン記述の基礎

ChatGPTやClaudeなどのLLM(大規模言語モデル)を日常的に使うようになると、必ずと言っていいほど目にするのが「マークダウン」という記法です。LLMの回答はほぼ例外なくマークダウン形式で返ってきますし、プロンプト(指示文)を書く側もマークダウンを使うと精度が上がることが知られています。

この記事では、マークダウンの基本から、LLMとの相性が良い理由、そして実務での管理方法まで、まとめて解説します。


マークダウン記述とは?

マークダウン(Markdown)は、2004年にJohn GruberとAaron Swartzによって考案された軽量マークアップ言語です。HTMLのように <h1><strong> といったタグを書かなくても、#** といった簡単な記号だけで見出しや強調を表現できるのが特徴です。

たとえば、以下のマークダウンは、

# 見出し
これは**太字**で、こちらは*斜体*です。

次のように表示されます。

見出し これは太字で、こちらは斜体です。

GitHubのREADME、Qiitaやはてなブログなどの記事執筆、Slackのメッセージ整形など、エンジニアの日常業務のあらゆる場所でマークダウンは使われています。


マークダウンがなぜLLMに良いか

LLMとマークダウンの相性が良いのには、いくつか理由があります。

1. 構造を保ったまま軽量に表現できる HTMLのように開始タグ・終了タグを都度書く必要がないため、同じ構造をより少ないトークン数で表現できます。LLMは入力・出力のトークン数に応じて処理コストが変わるため、これは地味に効いてきます。

2. LLMの学習データに大量に含まれている インターネット上の技術文書やREADME、Wikiの多くがマークダウンで書かれているため、LLMはマークダウンの「型」を非常によく学習しています。そのため、マークダウン形式で指示を出すと、モデルが構造を正しく認識しやすくなります。

3. 見出し・箇条書きが「情報の階層」を伝えられる プレーンテキストで長文を書くと、LLMにとって「どこが重要な情報か」が伝わりにくくなります。一方、見出し(#)や箇条書き(-)を使うと、情報の粒度や優先順位を構造的に伝えられるため、LLMの回答精度が上がりやすいと言われています。

4. プレーンテキストなのでバージョン管理と相性が良い マークダウンはただのテキストファイルなので、Gitなどのバージョン管理システムで差分(diff)を追いやすいという利点もあります。LLMを使った共同編集・レビューのワークフローとも親和性が高いです。


マークダウン記述の基礎

まずは基本的な記法を一覧で押さえておきましょう。

記法 書き方 表示イメージ
見出し # 見出し1###### 見出し6 大きさの異なる見出し
太字 **太字** 太字
斜体 *斜体* 斜体
箇条書き - 項目 ・項目
番号付きリスト 1. 項目 1. 項目
リンク [表示名](URL) 表示名(リンク付き)
画像 ![代替テキスト](画像URL) 画像を表示
コード(インライン) `code` code
コードブロック ```言語名 で開始し ``` で終了 シンタックスハイライト付きのコード
引用 > 引用文 引用ブロック
水平線 --- 区切り線

これだけ覚えておけば、日常的な文書作成のほとんどをカバーできます。


マークダウン記述の応用

基本を押さえたら、次はもう少し実践的な使い方です。

テーブルの列揃え

コード:

| 左揃え |
|:---|
| A |
| BB |
| CCC |

| 中央揃え |
|:---:|
| A |
| BB |
| CCC |

| 右揃え |
|---:|
| A |
| BB |
| CCC |

プレビュー:

左揃え
A
BB
CCC
中央揃え
A
BB
CCC
右揃え
A
BB
CCC

コロン : の位置(左・両端・右)で、列の揃え方を指定できます。

タスクリスト

コード:

- [x] 完了したタスク
- [ ] 未完了のタスク

プレビュー:

  • [x] 完了したタスク
  • [ ] 未完了のタスク

GitHubのIssueやプルリクエストの説明でよく使われる記法です。

ネストしたリスト

コード:

- 親項目
  - 子項目
    - 孫項目

プレビュー:

  • 親項目
    • 子項目
      • 孫項目

インデント(半角スペース2つが一般的)で階層を表現できます。

コードブロックへの言語指定

コード:

```python
print("Hello, World!")
```

プレビュー:

print("Hello, World!")

言語名を指定すると、シンタックスハイライトが適用されます。

LLMへのプロンプト設計への応用

マークダウンは、LLMへの指示文(プロンプト)を書く際にも有効です。たとえば以下のように、見出しで役割を分けて指示を書くと、LLMが指示の構造を誤読しにくくなります。

コード:

## 前提
あなたはSEOに詳しいマーケターです。

## 依頼内容
以下の記事の見出し構成を3案作成してください。

## 制約条件
- 各見出しは20文字以内
- 専門用語は使わない

プレビュー:

前提 あなたはSEOに詳しいマーケターです。

依頼内容 以下の記事の見出し構成を3案作成してください。

制約条件

  • 各見出しは20文字以内
  • 専門用語は使わない

長いプロンプトほど、こうした構造化の効果が出やすい傾向があります。


マークダウンファイルの管理方法(Obsidianを中心に)

マークダウンで文書を書き始めると、次に問題になるのが「ファイルの管理」です。ここでは、個人・チームでのナレッジ管理ツールとして人気の高い**Obsidian**を中心に紹介します。

Obsidianとは

Obsidianは、手元のフォルダに保存された .md ファイルをそのままノートとして扱う、ローカルファーストのノートアプリです。クラウド上の専用フォーマットに文書を閉じ込めるNotionのようなツールとは異なり、中身は普通のマークダウンファイルそのものなので、アプリを使わなくてもテキストエディタで開けますし、他のツールへの移行も容易です。個人利用は無料です。

Obsidianの主な機能

1. バックリンクとグラフビュー [[ノート名]] という記法でノート同士をリンクできます。あるノートが他のどのノートからリンクされているか(バックリンク)を自動で一覧表示してくれるほか、ノート同士のつながりを可視化する「グラフビュー」機能もあります。文書同士の関連性を後から辿りやすくなるのが最大の特徴です。

2. タグとフロントマター

---
tags: [PLC, 制御, 入門]
created: 2026-08-27
---

ファイル冒頭にこうした「フロントマター」(YAML形式のメタデータ)を書いておくと、タグでの絞り込みや、後述するプラグインでのデータベース的な活用がしやすくなります。

3. テンプレート機能 議事録、記事の下書き、日報など、よく使う文書のひな形をテンプレートとして登録し、ワンクリックで呼び出せます。ブログ記事の下書きテンプレート(見出し構成、PRの注記、参考文献の書式など)を作っておくと、執筆のたびに構成を考え直す手間が省けます。実際、PLC入門講座 第2回(タイマー・カウンタ命令)も、第1回と同じ構成のテンプレートから書き始めています。

4. 豊富なプラグイン コミュニティプラグインが充実しており、カンバン方式のタスク管理、PDF注釈、データベース的な一覧表示(Dataviewプラグイン)など、ノート機能以上の使い方に拡張できます。

ObsidianとLLMの相性が良い理由

Obsidianのノートは中身がそのままマークダウンのテキストファイルなので、LLMとの連携が非常にスムーズです。

  • Vault(Obsidianの保存フォルダ)ごとClaudeのプロジェクト機能やカスタムGPTにアップロードし、自分の書き溜めたノートを踏まえた回答を得る、という使い方ができます
  • ノートの中身をコピーしてそのままプロンプトに貼り付けても、見出しや箇条書きの構造が壊れないため、LLMに文脈を正確に伝えられます
  • フロントマターやタグで整理された状態のまま、LLMに「このタグが付いたノートを要約して」といった指示を出しやすくなります

実践的なファイル管理の型:PARA法

Obsidianに限らず、マークダウンでのファイル管理でよく使われる考え方に「PARA法」があります。生産性コンサルタントのTiago Forte氏が提唱した情報整理術で、著書『Building a Second Brain(セカンドブレイン)』で紹介されたことで広く知られるようになりました。

PARA法の最大の特徴は、「情報のジャンル」ではなく「行動との関わり方」で分類するという考え方です。「PLC」「経営」「マーケティング」のようにトピックでフォルダを分けると、複数の分野にまたがるノートをどこに置くべきか迷いがちです。PARA法では、そのノートが「今どういう状態にあるか」を基準に置き場所を決めます。

P:Projects(プロジェクト) 明確な締め切りとゴールがある、進行中の取り組みです。「完了」の状態が定義できるのが特徴です。

例:PLC入門講座シリーズの執筆、次回展示会の準備

A:Areas(エリア) 締め切りはないものの、一定の基準を保ち続ける必要がある継続的な責任範囲です。プロジェクトのように「完了」はなく、ずっと維持していくものです。

例:経営、採用活動、技術ブログの運営、財務管理

R:Resources(リソース) 今すぐ使うわけではないが、将来的に参照する可能性がある関心事や資料です。「いつか役立つかもしれない」情報のストック場所です。

例:気になった技術記事のメモ、読んだ本の要約、競合サービスの調査メモ

A:Archive(アーカイブ) 上記3カテゴリのうち、役割を終えたものを移す置き場所です。プロジェクトが完了した、エリアの担当を外れた、リソースへの関心がなくなった、といったタイミングで移動します。

PARA法の4分類とInboxの関係図

どのフォルダに置くか迷ったときの考え方

PARA法のポイントは、新しいノートを作るたびに、上から順に自問することです。

  1. これは締め切りのある取り組みに直接関係するか?→ Projects
  2. 締め切りはないが、継続的に責任を持つ領域に関係するか?→ Areas
  3. 今は使わないが、将来参照しそうか?→ Resources
  4. すでに終わったことか?→ Archive

この4分類に、思いついたことをいったん放り込むInbox(未整理の一時置き場)を加えた構成が定番です。Inboxに溜まったノートは、週に一度など決めたタイミングで見直し、上記の基準でP・A・R・Archiveのいずれかに振り分けます。

情報は分類間を移動する

PARA法では、ノートは一つのフォルダに固定されるものではなく、状況に応じてフォルダ間を移動するという考え方も重要です。たとえば、Resourcesに置いていた「PLC技術者不足に関する調査メモ」が、実際にPLC入門講座という企画に発展したら、そのノートはResourcesからProjectsへ移動します。逆に、講座シリーズが完結すれば、ProjectsからArchiveへ移動します。

ファイル名は 2026-08-27-plc-timer-counter.md のように日付や連番を含めておくと、フォルダを跨いで移動しても時系列で管理しやすくなります。

他ツールとの使い分け

チームでの共同編集を重視するならNotion、シンプルな執筆に特化したいならTyporaも選択肢に入ります。ただし、LLMとの連携やファイルの可搬性を重視するなら、プレーンテキストのマークダウンをローカルで管理できるObsidianに分があります

なお、Obsidianで書いた下書きをWordPressなどに貼り付ける場合、エディタがマークダウン記法にそのまま対応していないことがあります。見出し記号の # がそのままタイトルに残ってしまうといった事故が起きやすいので、貼り付け後は必ずプレビューで確認する習慣をつけることをおすすめします。


まとめ

  • マークダウンは、簡単な記号だけで文書構造を表現できる軽量マークアップ言語
  • LLMとの相性が良い理由は、トークン効率の良さ・学習データとの親和性・情報の階層を伝えやすいことにある
  • 基本記法(見出し・強調・リスト・リンク・コードブロック)を押さえれば、日常的な文書作成の大半はカバーできる
  • テーブルの列揃えやタスクリストなど、応用的な記法を知っておくとさらに表現の幅が広がる
  • ファイル管理は、ローカルでプレーンテキストのまま扱えるObsidianと、LLMとの連携の相性が良い

LLMを使った文書作成・情報整理が当たり前になってきた今、マークダウンは今後も基本スキルとして押さえておく価値のある記法です。

PLC入門②|タイマー・カウンタ命令の基本と使い方【三菱電機PLC】

PR

PLC入門②|タイマー・カウンタ命令の基本と使い方【三菱電機PLC】

前回の振り返り

第1回では、ラダー図の基本要素(接点・コイル)と、PLC入門の最初の壁である「自己保持回路」を解説しました。スタートボタン(X0)を押すと出力(Y0)がONになり、Y0自身の接点でON状態を保持し続ける、という仕組みでした。

今回は、PLC制御で欠かせないタイマー命令カウンタ命令を扱います。「◯秒後に動作させたい」「◯回繰り返したら次の工程に進みたい」といった、現場で頻出する要求に応える基本命令です。

対象読者:第1回を読んで、接点・コイルの基本を理解した方


タイマー命令とは

タイマー命令は、「入力がONになってから一定時間が経過すると、接点がONになる」という命令です。三菱電機PLCでは T0T1のようにタイマーデバイスを指定し、K値で時間を設定します。

K値の考え方:三菱電機PLCの基本タイマーは、1K=100ミリ秒(0.1秒)です。つまり K30 と指定すると、30×100ms=3秒を意味します。

今回扱うのは、入力がONになってからカウントを始める「オンディレイタイマー」です。三菱電機PLCの基本タイマー命令はこのオンディレイ動作が標準となっています。


実践①:3秒後にランプが点灯する回路

やりたいこと:スイッチ(X0)をONにしてから3秒後に、ランプ(Y0)が点灯する。

ニーモニックで書くと以下のようになります。

LD  X0        ; X0(スイッチ)を読み込む
OUT T0 K30    ; X0がONの間、T0のカウントを開始する(K30=3秒)
LD  T0        ; T0の接点を読み込む
OUT Y0        ; 3秒経過後、T0の接点がONになりY0が点灯する

ポイントは、1行目でタイマー自体を起動し、2行目で「そのタイマーの接点」を使って別の出力を制御する、という2段階の考え方です。ラダー図の中では、コイルとして使われた T0 を、別の行では接点として再利用できます。

なお、X0がOFFに戻ると、経過時間はリセットされ、T0の接点もOFFに戻ります(保持機能付きのタイマーを使わない限り、通電が切れると時間はリセットされる点に注意してください)。


カウンタ命令とは

カウンタ命令は、「入力が指定回数ONになると、接点がONになる」という命令です。三菱電機PLCでは C0C1のようにカウンタデバイスを指定し、こちらも K値でカウント回数を設定します。タイマーと違い、**K値はそのまま「回数」**を意味します(K5なら5回)。

カウンタには、タイマーにはない特徴があります。通電が切れてもカウント値が保持されるという点です。そのため、カウント値を0に戻すには、明示的に「リセット」を行う必要があります。三菱電機PLCではこれを RST 命令で行います。


実践②:5回押したらランプが点灯する回路

やりたいこと:スイッチ(X0)を5回ONにすると、ランプ(Y0)が点灯する。リセットボタン(X1)でカウントを0に戻す。

ニーモニックで書くと以下のようになります。

LD  X0        ; X0(カウント入力)を読み込む
OUT C0 K5     ; X0がONするたびにC0のカウント値を+1する(K5=5回で動作)
LD  X1        ; X1(リセットボタン)を読み込む
RST C0        ; X1がONになるとC0のカウント値を0に戻す
LD  C0        ; C0の接点を読み込む
OUT Y0        ; カウント値が5に達すると、C0の接点がONになりY0が点灯する

RST命令は、コイルの丸い記号ではなく、四角い箱の記号で描かれる点にも注目してください。これは「ある条件が成立したときに、特定の動作(この場合はリセット)を実行する」という、コイルとは異なる種類の命令であることを表しています。

タイマーとカウンタを比べると、タイマーは「時間」で動作し通電が切れると自動的にリセットされるのに対し、カウンタは「回数」で動作し明示的なリセットが必要という違いがあります。この違いは現場のトラブルシューティングでもよく問題になるポイントなので、覚えておくと役立ちます。


GX Works3で試してみる

タイマー・カウンタの動作も、GXシミュレータで確認できます。特にタイマーは「3秒待つ」という時間経過の感覚を、シミュレータ上でX0をONにしてから実際に待ってみることで体感できます。カウンタは、X0を短くON/OFFする動作を5回繰り返し、C0の接点が閉じる瞬間を確認してみてください。


まとめ

  • タイマー命令(OUT T0 K◯)は、入力ONから一定時間後に接点がONになる。三菱電機PLCの基本タイマーはK1=100ms
  • カウンタ命令(OUT C0 K◯)は、入力が指定回数ONになると接点がONになる
  • カウンタの値は通電が切れても保持されるため、RST命令で明示的にリセットする必要がある
  • タイマー・カウンタどちらも、一度コイルとして使ったデバイスを、別の行で接点として再利用できる

自己保持回路(第1回)、タイマー・カウンタ(第2回)と基本命令が揃うと、実際の設備制御に近い回路が組めるようになってきます。

次回予告:第3回では、複数の条件を組み合わせて誤動作を防ぐ「インターロック回路」を解説します。


体系的に学びたい方へ

タイマー・カウンタの実践的な使い方まで含めて体系的に学びたい方には、以下のような三菱電機PLC準拠の入門書もおすすめです。

でしまる 著『知識ゼロから楽しく学べる!PLCプログラミング入門(三菱電機GX Works2)』/演習・実習付きで手を動かしながら学べる構成

『必携 PLCを使ったシーケンス制御プログラム定石集』(日刊工業新聞社)/具体的な装置構造とプログラム例を多数掲載

本記事はアフィリエイトリンクを含みます。

PLC入門|ラダー図の基本と自己保持回路の読み方【三菱電機PLC】

PR

【PLC入門講座 第1回】三菱電機PLCで学ぶラダー図の基本|自己保持回路が読めるようになる第一歩

はじめに

製造業の現場では今、深刻なPLC技術者不足が課題になっています。設備の老朽化に伴う更新需要、DX推進による自動化ニーズの高まりに対して、ラダー図を読み書きできる人材の供給が追いついていません。 生成AIによる自動コーディングも、PLCのラダー言語に対応するのはもう少し先の話になりそうです。 一方で、電気系の基礎知識さえあれば、PLCとラダー図の考え方自体はそれほど難しいものではありません。

このシリーズでは、三菱電機のPLC(GX Works3)を題材に、ラダー図の基本を1つずつ解説していきます。第1回となる今回は、ラダー図を読む上で最初の壁となる 「自己保持回路」 を理解することをゴールにします。

対象読者:電気系の基礎知識はあるが、PLC・ラダー図は未経験という社会人の方


PLCとラダー図とは

PLC(Programmable Logic Controller)は、工場の設備やラインの動作を制御するための装置です。PLCが普及する以前、電気制御は主にリレー(電磁継電器)を組み合わせた「リレーシーケンス制御」で構成されていました。

ラダー図は、このリレーシーケンス回路の見た目を模したプログラム言語です。縦の2本の線(母線)の間に、はしご(ラダー)のように横方向の回路(ラダー図では「行」や「ライン」と呼ばれる)を並べて記述することから、この名前が付いています。

三菱電機のPLCは国内シェアが高く、企業によっては仕様として三菱電機製PLCを指定するケースもあるほど広く使われています。プログラム作成には専用ソフト「GX Works3」を使用します。


ラダー図の基本要素

ラダー図を構成する要素は、大きく分けて「接点」と「コイル」の2種類です。

記号 名称 意味
─┤ ├─ a接点(ノーマルオープン) 入力がONのとき通電する(リレーの「a接点」に相当)
─┤/├─ b接点(ノーマルクローズ) 入力がOFFのとき通電する
─( )─ コイル(出力) 左側が通電すればONになる出力

ここで最初につまずきやすいポイントがあります。ラダー図は「電気配線図」ではなく、「論理(ロジック)」を表現した図だということです。実際にPLC内部を電流が流れているわけではなく、「この条件が成立すればこの出力をONにする」という論理関係を、リレー回路に見立てて表現しているに過ぎません。この視点の転換ができると、その後の理解が一気に進みます。


実際にラダー図を読んでみる:自己保持回路

PLC入門で必ず出てくる回路が「自己保持回路」です。スタートボタンを離しても出力がONの状態を保ち続ける、という制御を実現します。

やりたいこと:スタートボタン(X0)を押すと出力(Y0)がONになり、ボタンを離してもONを維持する。ストップボタン(X1)を押すとOFFになる。

PLCの自己保持回路の説明図

ニーモニック(命令リスト)で書くと、以下のようになります。

LD  X0     ; X0(スタートボタン)を読み込む
OR  Y0     ; Y0自身の接点をORで並列に入れる(自己保持)
ANI X1     ; X1(ストップボタン)のb接点をAND
OUT Y0     ; 結果をY0に出力する

なぜY0の接点を並列に入れるのか

ここが自己保持回路の核心です。X0(スタートボタン)の接点だけでは、ボタンを離した瞬間にX0がOFFに戻り、Y0もOFFになってしまいます。

そこで、Y0自身のa接点をX0と並列に配置します。こうすることで、一度Y0がONになった後は、X0がOFFに戻ってもY0自身の接点を通じて回路が保たれ続けます。つまり「Y0がONの状態を、Y0自身が保持する」という自己参照的な構造になっているのが自己保持回路です。

この状態を解除するのがX1(ストップボタン)です。X1はb接点(ノーマルクローズ)として配置しているため、ストップボタンが押されるとこの行全体が非通電となり、Y0がOFFになります。


GX Works3で試してみる

GX Works3では、実機がなくても「GXシミュレータ」機能を使ってプログラムの動作を画面上で確認できます。X0・X1のスイッチをクリックしてON/OFFさせながら、Y0が保持される様子を実際に目で確認できるので、初めての方はまずシミュレータ上で試してみることをおすすめします。

(※GX Works3の入手方法・ライセンス形態は変更される場合があるため、三菱電機の公式サイトで最新情報をご確認ください)


まとめ

  • PLCのラダー図は「電気配線図」ではなく「論理」を表現したもの
  • 自己保持回路は、出力(Y0)自身の接点を並列に入れることで、入力が離れても状態を保持する仕組み
  • ストップ入力にはb接点を使い、回路全体を遮断することでOFFにする

自己保持回路が理解できると、その後のタイマー・カウンタ命令や、インターロック回路(誤動作防止の仕組み)の理解もスムーズになります。

次回予告:第2回では、タイマー命令・カウンタ命令を使った回路の作り方を解説します。


体系的に学びたい方へ

独学でつまずきやすいポイントを一冊で押さえたい方には、以下のような三菱電機PLC準拠の入門書もおすすめです。

でしまる 著『知識ゼロから楽しく学べる!PLCプログラミング入門(三菱電機GX Works2)』/演習・実習付きで手を動かしながら学べる構成

『必携 PLCを使ったシーケンス制御プログラム定石集』(日刊工業新聞社)/具体的な装置構造とプログラム例を多数掲載

本記事はアフィリエイトリンクを含みます。

「7つの習慣」から学ぶ、経営者・エンジニアに必要な原則思考

PR

はじめに

会社を経営していると、日々の意思決定や人間関係、時間の使い方など、様々な課題に向き合うことになります。今回は、そうした課題に向き合う上で土台となる考え方を教えてくれる一冊、スティーブン・R・コヴィー著「7つの習慣」をご紹介します。

以前、改めてこの本を読み直す機会があり、その際にまとめた内容をベースにお伝えします。


「7つの習慣」とは?

著者のスティーブン・リチャーズ・コヴィー(1932-2012)が書いたこの本は、全世界で3,000万部、日本国内でも200万部を超えるベストセラーで、自己啓発書の代表格として知られています。1989年の初版以来、時代を超えて読み継がれている一冊です。

なぜ他の自己啓発本と違うのか

コヴィーは、アメリカ建国以来発行された約200年分の「成功」に関する文献を調査したと言われています。その結果見えてきたのが、以下のような違いです。

  • 第二次世界大戦以降(直近50年ほど)の自己啓発書:コミュニケーションスキルやモチベーションアップなど、即効性・短期的なテクニックに焦点を当てたものが中心
  • 第二次世界大戦以前の文献:小手先のテクニックではなく、根本的な人格を育てることに焦点を当てたものが中心

「7つの習慣」は後者の考え方を土台にしており、長期的・持続的に効果を発揮する原則を扱っている点が、他の自己啓発本との大きな違いだとされています。


7つの習慣の全体像

7つの習慣は、大きく3つのステップに分かれています。

ステップ習慣目的
Step1:私的成功①主体的でいよう/②最初に終わりを思い描こう/③最優先事項を優先しよう自分が成功する(自立)
Step2:公的成功④Win-Winを考えよう/⑤まず相手の理解に徹しよう/⑥シナジーを創発しようみんなで成功する(相互依存)
Step3:再新再生⑦刃を研ごうさらに自分を磨く

順番も重要で、まず自分自身が「自立」した状態(私的成功)を築いてから、他者との「相互依存」(公的成功)に進む、という構造になっています。「依存→自立→相互依存」というステップを踏むことで、単なる技術ではなく、人格そのものが育っていく、というのがこの本の考え方です。

各習慣のポイント


習慣①:主体的でいよう

私たちの周りには、自分の力で変えられることと、変えられないことがあります。前者を「影響の輪」、後者を含めた関心事全体を「関心の輪」と呼びます。

反応的な人は、天気や他人の言動、景気など、自分にはコントロールできない「関心の輪」の外側に意識とエネルギーを注いでしまいます。不満や愚痴は多くなりますが、状況は何も変わりません。それに対して主体的な人は、自分が実際に影響を及ぼせる「影響の輪」の中に力を注ぎます。すると、行動の結果が積み重なり、影響の輪そのものが少しずつ広がっていく、という好循環が生まれます。

経営でも同じことが言えます。市場環境や景気を嘆くのではなく、「自社が今できること」に集中し続けることが、結果的に会社の影響力を広げていくことにつながります。。


習慣②:最初に終わりを思い描こう

この習慣では、「3年後に行われる自分の葬儀で、誰にどんな言葉をかけられたいか」を想像するワークが紹介されています。配偶者にどんな夫・妻だったと言われたいか、子供にどんな親だったと言われたいか、会社の同僚や部下にどんな人だったと言われたいか——こうした問いに向き合うことで、自分の内面の奥深くにある「基本的な価値観」に触れることができるとされています。

何を「人生の中心」に置くか

人は無意識のうちに、何かを人生の中心に据えて生きています。しかし、何を中心に置くかによって、心の安定度は大きく変わってくるとされています。いくつか例を挙げます。

  • 仕事中心の人:仕事の成果や評価に自分の価値を重ね合わせてしまうため、プロジェクトが失敗したり、業績が振るわなかったりすると、自分自身の存在価値まで揺らいでしまいます。経営者やマネージャーほど陥りやすいパターンです。
  • 家族中心の人:家族の幸せを何より優先する一方で、家族の誰かが自分の思い通りにならない状況(子供の反抗期、家族間のトラブルなど)に直面すると、心の安定が大きく崩れてしまいます。家族への愛情自体は尊いものですが、それだけを拠り所にすると不安定になりやすいということです。
  • お金中心の人:経済的な安定を追い求めるあまり、いつの間にかお金そのものに縛られてしまいます。資産が増えても増えても安心できず、逆にお金を失うことへの恐怖が意思決定を歪めてしまうことがあります。
  • 自己中心の人:自分の利益や快適さを最優先にする生き方です。短期的には楽ですが、周囲からの信頼や協力を得にくくなり、長期的には孤立しやすい傾向があるとされています。受け取るばかりで与えることをしないため、人間関係や社会との接点が細くなっていきます。

このように、仕事・家族・お金・自己など、何か一つの対象に人生の中心を置くと、その対象の浮き沈みに応じて心が揺さぶられ続けることになります。これに対して、コヴィーが提案するのが「原則を中心に置く」という考え方です。公正、誠実、正直、貢献、成長といった、時代や状況が変わっても揺るがない普遍的な原則を中心に据えることで、何が起きても心が安定した状態を保てる、とされています。


習慣③:最優先事項を優先しよう

「緊急度」と「重要度」で仕事を4つの領域に分けたとき、多くの人は「緊急で重要なこと(第I領域)」の対応に追われる日々を送りがちです。締切のある仕事や突発的なトラブル対応などがこれにあたります。

しかし本当に大切なのは、「緊急ではないが重要なこと(第II領域)」——中長期の計画づくり、スキルアップ、人間関係の構築、体調管理など——に、あらかじめ時間を確保しておくことだとされています。この本では「木こりのジレンマ」という例え話が紹介されています。斧の切れ味が悪くなっているのに、「研いでいる暇なんてない」と言いながら鈍った斧で木を切り続ける木こりの姿は、まさに第II領域を後回しにしてしまう私たちの姿そのものです。

第II領域の仕事を先にスケジュールに組み込み、余った時間で第I領域に対応する——この順番を意識するだけで、次第に緊急対応に追われる場面自体が減っていくとされています。


習慣④:Win-Winを考えよう

人間関係や交渉ごとには、「自分が勝って相手が負ける(Win-Lose)」「自分が負けて相手が勝つ(Lose-Win)」「両者とも負ける(Lose-Lose)」など、様々なパターンがあります。この習慣では、双方が満足できる「Win-Win」の関係、あるいはそれが実現できないなら無理に取引しない「No Deal」を選ぶという考え方が紹介されています。

Win-Winを実現するための前提として、「自分か相手か」の二者択一ではなく、双方が納得できる「第3の案」が必ず存在すると信じることが出発点になります。また、それを支えるのが「勇気」と「思いやり」のバランス、そして、この世には皆に行き渡るだけの豊かさがあるという「豊かさマインド」だとされています。


習慣⑤:まず相手の理解に徹しよう

人は誰かの話を聞いているとき、無意識のうちに「評価する(同意か反対かを判断する)」「探る(自分の関心から質問する)」「助言する(自分の経験から助言する)」「解釈する(自分の価値観で相手の行動を説明する)」といった、自分本位の反応(自叙伝的反応)をしてしまいがちです。

これらはすべて、「相手を理解する」よりも先に「自分がどう思うか」を優先してしまっている状態です。そうではなく、相手の立場に立ち、相手の価値観の中に入り込んで理解しようとすることで、初めて信頼関係が生まれるとされています。話の途中で評論を始めてしまうと、相手が本当に伝えたかったことは、その先にあったかもしれません。


習慣⑥:シナジーを創発しよう

「全体は各部分の総和よりも大きくなる」というのが、この習慣の中心にある考え方です。①〜⑤の習慣(主体性、終わりを思い描く力、優先順位づけ、Win-Winの姿勢、相手への理解)を土台にできているチームでは、メンバー一人ひとりの能力を単純に足し合わせた以上の、異次元の成果が生まれるとされています。

そのためには、グループの全員が「古い脚本」——固定観念や過去のやり方——を手放し、新しい発想を一緒に作り上げていく姿勢が必要です。対立する意見があっても、それを排除するのではなく、そこから第3の創造的な案を生み出す機会と捉えることがポイントです。


習慣⑦:刃を研ごう

最後の習慣は、「肉体」「知性」「社会」「精神」という4つの側面から、自分自身を継続的にメンテナンスし続けることの重要性を説いています。

  • 肉体:ランニングや筋トレなど、体を動かす習慣
  • 知性:読書など、学び続ける習慣
  • 社会:新しい人間関係を築いたり、苦手な人ともコミュニケーションを取ったりする習慣
  • 精神:自然に触れる、自分自身と向き合う、価値観を確認するといった習慣

先ほどの「木こりのジレンマ」がここでも当てはまります。目の前の仕事に追われて自分を磨く時間を後回しにし続けると、いずれ「斧」そのものが鈍り、成果を出すこと自体が難しくなってしまいます。①〜⑥の習慣を長期的に実践し続けるためにも、この「刃を研ぐ」時間を意識的に確保することが欠かせません。


本を読むのが苦手な方には

文章量が多く、読み切るのが大変に感じる方もいるかもしれません。そうした場合は、YouTube等で内容を分かりやすく解説している動画から入るのも一つの方法です。まずは全体像をつかんでから、気になった章だけ本で深掘りする、という読み方もおすすめです。


まとめ

「7つの習慣」は、テクニックではなく人格そのものを育てることに焦点を当てた一冊です。経営やチームマネジメントに関わる中で、判断に迷ったときの拠り所になる考え方が詰まっています。気になった方は、ぜひ手に取ってみてください。

Amazonで見る(7つの習慣 完訳版)


本記事はアフィリエイトリンクを含みます。

Arduinoで自動水やり機を作ってみた|観葉植物の水やりを自動化するDIYキット

Arduinoで自動水やり機を作ってみた|観葉植物の水やりを自動化するDIYキット

Arduinoと市販の自動水やりDIYキットを使って、観葉植物に自動で水をあげる装置を自作しました。必要な材料・配線・プログラムまで、初心者向けに手順を解説します。

PR

はじめに

出張や旅行で家を空けることが多いと、悩ましいのが観葉植物の水やりです。「気づいたら土がカラカラだった」という経験がある方も多いのではないでしょうか。

今回は、市販の自動水やりDIYキットとArduinoを組み合わせて、土の水分量をセンサーで検知し、乾いたら自動でポンプが作動する装置を作ってみました。電子工作が初めての方でも取り組める難易度なので、手順を追ってご紹介します。

製作時間の目安:2時間、難易度:★★☆☆☆、小学生高学年以上のお子様と一緒にも取り組めます。


必要な材料

今回使用したのは以下の部品です。すべてAmazonで購入できます。

部品 用途 購入リンク
自動水やり装置 DIYキット(静電容量式土壌水分センサー+小型ポンプ+リレー付属) 土壌の水分検知・水の吐出・ポンプのON/OFF制御 Amazonで見る
Arduino UNO 制御基板 Amazonで見る
ブザー(任意) 水やり時に音を鳴らす Amazonで見る
ジャンパーワイヤ・ブレッドボード 配線 Amazonで見る

全体でかかった費用は、すでにお持ちのArduinoや工具を除くと、キット代を中心に2,000円以下でした。 Arduinoをお持ちでない方は、こちらのような入門キットでの購入もおススメです。 ⇒ Arduino 入門キット

アイディア次第で色々な工作が楽しめますよ☆


装置の構想

水分センサーが鉢の水分量を検知し、一定の値以下になったらポンプが作動して水をあげる、というシンプルな仕組みです。

装置の構想図


ポンプ・センサーを配線する

まずはポンプとセンサーを配線します。

ポンプは比較的大きな電力を必要とするため、Arduinoから直接ではなく、リレーを介してON/OFFする構成にしています。

配線図

配線で特に注意したいのは、リレーモジュールの極性(+/-)です。モジュールに印字されているシルク表記を確認しながら接続しないと、正しく動作しないので気をつけてください。


制御プログラムを作る

土壌水分センサーの値を読み取り、しきい値を下回ったらポンプを作動させるプログラムです。

// アナログ入力ピン
const int analogPin = A0;

// デジタル出力ピン
const int digitalPin = 2;

// しきい値(ADCの半分)
const int threshold = 450;
int cnt = 0;

void setup() {
  pinMode(digitalPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  // A0の値取得(0~1023)
  int sensorValue = analogRead(analogPin);

  // 出力判定
  bool outputState = false;
  if (sensorValue < threshold) {
    digitalWrite(digitalPin, HIGH);
    outputState = true;
    cnt = 0;

  } else {
    digitalWrite(digitalPin, LOW);
    outputState = false;
    cnt++;
  }

  // シリアル表示
  Serial.print(" , A0 = ");
  Serial.print(sensorValue);
  Serial.print(" , D2 = ");
  Serial.println(outputState ? "HIGH" : "LOW");
  Serial.print("cnt = ");
  Serial.print(cnt);

  delay(150);
}

プログラムのポイント

  • threshold(しきい値)の数値を変えることで、水をあげ始めるタイミングを調整できます。植物の種類や鉢のサイズに応じて、実際に値を確認しながら調整するのがおすすめです
  • センサーの値は、Arduinoの「シリアルモニタ」からリアルタイムで確認できます

プログラムを転送すると、しきい値(450)を下回ったタイミングでポンプがON/OFFするようになります。

実際に運用してみると、我が家の鉢のサイズ・土の種類ではしきい値400前後がちょうど良い頻度でした。設置直後の1週間ほどは、シリアルモニタで数値を確認しながら少しずつ調整することをおすすめします。


ブザーを追加する

水をあげているタイミングが分かるように、ブザーを追加しました。任意の工程です。

ブザーの配線


完成した装置

完成品1 完成品2 完成品3

設置してから数週間経ちますが、水切れで植物がしおれることがなくなりました。出張前にセットしておけば安心です。


まとめ

Arduinoと市販キットを組み合わせるだけで、比較的簡単に自動水やり機を自作できました。出張が多い方や、水やりを忘れがちな方には特におすすめです。

同じくArduinoを使った電子工作として、ペット用自動餌やりフィーダーの製作記事もあわせてご覧ください。


本記事はアフィリエイトリンクを含みます。

【Arduino】ペット自動給餌器を自作する方法|旅行・出張中の餌やりを解決

PR

日帰り旅行で帰りが遅くなる時など「ペットの餌やりをどうしよう?」ってなりますよね。

そんな時に役に立つ、タイマーでペットに自動で餌をあげる「餌自動フィーダー」を自作してみました。夏休みの自由研究などにもおススメです。

ペット自動給餌器の完成イメージ図
完成イメージ図

用意するもの

制御基板https://amzn.to/4ymxWey
Arduino UNO
モータドライバhttps://amzn.to/45dWj0C
SU-1201(株式会社イーケイジャパン)
モータhttps://amzn.to/4bSVdeq
MG-12V-1:380(Olimex LTD)

今回使用した部品(モータドライバ、モータ)の合計は、Aruduinoを除いておおよそ4,000〜5,000円程度でした。百均で購入した外装部材(土台、滑り台等)を含めても、全体で5,000円以内に収まっています。

制御には Arduinoを使用しました。 Arduinoをお持ちでない方は、こちらのような入門キットでの購入もおススメです。 ⇒ Arduino 入門キット

アイディア次第で色々な工作が楽しめます。

シャッタ制御部をつくる

まずは一番重要なシャッタをタイマーで開閉する制御部分を作ります

モータドライバSU-1201の配線
モータドライバ(SU-1201)
制御基板Arduino UNOの写真
制御基板(Arduino UNO)

モータ

https://amzn.to/4bSVdeq
MG-12V-1:380(Olimex LTD)

まずはじめに制御基板とモータドライバをドッキングします。

・ArduinoのDIGITAL 0番ピンとモータドライバ基板のJ2-0 番ピンの位置
・ArduinoのANALOG A5番ピンとモータドライバ基板のJ4-A5 番ピンの位置
が合うようにして、しっかりと奥まで差し込みます。

プログラミングをするための、Arduinoの開発環境「Arduino SDK」をインストールします。
参考サイト:https://www.kkaneko.jp/tools/win/arduinoide.html

COMポートの指定

はじめにArduino SDKを立ち上げて、COMポートを指定します。
ArduinoとPCをUSBケーブルで接続すると、該当するCOMポート番号に(Arduino UNO)が表示されるので、それを選択します。

Arduino SDKでCOMポートを選択する画面

Arduinoタイプの指定

次にArduinoのタイプをTools -> Boad: > ●Arduino AVR Boards > から、「Arduino UNO」を選択してください

Arduino SDKでボードタイプを選択する画面

サンプルプログラムの実行

設定が完了したら、以下のサンプルコードを実行し、開発環境が構築できていることを確認します

void setup() {
  // put your setup code here, to run once:
  pinMode(8, OUTPUT);
  pinMode(12, OUTPUT);
}

void loop() 
{
  // put your main code here, to run repeatedly:
  digitalWrite(8, HIGH);
  digitalWrite(12, LOW);
  delay(1000);
  digitalWrite(8, LOW);
  digitalWrite(12, HIGH);
  delay(1000);
}

Upload(右矢印マーク)ボタンを押して、プログラムを転送・実行します。

モータドライバ基板の2つのLEDが赤く1秒ずつ交互に点灯したらOKです。

実際にモータを動かしてみる

下記のコードを入力すると、モータが正転(1秒)⇒停止(1秒)⇒逆転(1秒)⇒停止(1秒)と動作します。

void setup() {
  // put your setup code here, to run once:
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(10, OUTPUT);
}

void loop() 
{
  // put your main code here, to run repeatedly:
  analogWrite(9, 160); //回転スピードの設定
  digitalWrite(4, LOW); //回転方向の設定
  digitalWrite(5, HIGH);
  delay(1000);

  analogWrite(9, 0); //回転スピードの設定
  delay(1000);

  analogWrite(9, 160); //回転スピードの設定
  digitalWrite(4, HIGH); //回転方向の設定
  digitalWrite(5, LOW);
  delay(1000);

  analogWrite(9, 0); //回転スピードの設定
  delay(1000);
}

次にタイマーを入れます

  analogWrite(9, 0); //回転スピードの設定
  delay(3600000); //設定したいタイマー値 [ms]

このコードを14行目の前に入れれば、タイマーが作動します。delayの()に入る数字がミリ秒単位のタイマー値なので、目的に合わせて数値を入れてください。

1時間なら、60×60×1,000で3,600,000となります。

装置を作る

モータの制御ができたので、次は餌やり機の本体を製作します。

百均で以下の材料を購入しました。

100円ショップで購入した給餌器の外装材料

段ボールなどで各パーツを作り、組み立て

・土台(フレーム)は、百均で購入した木を木工用ボンドで接着

・餌を入れるホッパは、トイレットペーパーの芯がぴったりだったので、それを段ボールにはめて使用

・滑り台の部分はプラダンを折り曲げて固定して使用

完成したペット自動給餌器の外観
完成した装置の外観

②市販品の紹介セクション(新規セクションとして追加)

自作が難しそう…という方には、市販の自動給餌器もおすすめです

電子工作に慣れていない方や、もっと手軽に導入したい方には、市販の自動給餌器という選択肢もあります。タイマー機能はもちろん、スマホから餌やりができるカメラ付きモデルなど、機能も充実しています。

タイプ①:シンプルタイマー式
  • エレコム「PET-AF06WH」:ダイヤルタイマー式。1日最大6回、1回あたり約7〜112gの給餌量を16パターンから設定可能。停電時のバックアップ機能もあり(https://amzn.to/4fbQmHyx)
  • マルカン「CT-526 ペット用オートフィーダー3Days」:3日間(6食分)の給餌に対応。長期不在にも使える設計(https://amzn.to/4wTePr3
タイプ②:スマホ連携・カメラ付き
  • PETKIT「自動給餌機 P570」:スマホアプリで給餌スケジュールを設定可能。ドライフードに加えフリーズドライフードにも対応。給餌時間のずれは1分以内という検証結果あり(https://amzn.to/44Id7g6
タイプ③:大容量・長期不在対応
  • Surfola「自動給餌器 SP03」:約4Lの大容量タンク、双方向音声機能とカメラを搭載。外出先からペットの様子を確認しながら給餌できる(https://amzn.to/4yrHyEU

まとめ

Arduinoとモータドライバを組み合わせることで、比較的シンプルな仕組みでペット用の自動給餌器を自作できました。旅行や出張で家を空ける際の「ペットの餌やり問題」を解決する手段として、ぜひ挑戦してみてください。

同じくArduinoを使った電子工作として、観葉植物向けの自動水やり機の製作記事もあわせてご覧ください。植物とペット、どちらも「留守中の世話」という共通の悩みを、電子工作で解決するアイデアです。

本記事はアフィリエイトリンクを含みます。

「お宝ホリダー」の作り方|Scratchで作るパネルめくりゲーム

PR

今回はお宝ホリダーの作成方法をご紹介します。

参考書籍「Scratchでゲームをつくって楽しく学ぼう」(技術評論社)

①ステージにコードを書きます

「ゲーム準備」「ゲームスタート」「ゲームクリア」等のメッセージや、「スコア」「ハイスコア」「パネル番号」などの変数を作成しながらコーディングしてください。

②パネルにコードを書きます

リスト「てもちのパネル」を作成してください

変数「i」も作成してください

続けて下記をコーディングします

ここまでできたら「ゲーム準備を受け取ったとき」の部分をクリックしてみてください。

このとき、画面に1~25のブロックがランダムに配置されれば、正しくコーディングできています。

効果音

続けて効果音の部分をコーディングします

正解ブロックを押したら「pop」音が鳴り、ブロックが消えるようになります。

不正解のブロックを押したら、「boing」音が鳴り、ブロックは消えません。

テロップ

文字のスプライトに以下のコードを書きます

ゲームクリア時の処理

背景に下記のコードを追加

お宝ゲージを追加

お宝ゲージに下記のコードを追加します。

「お宝ゲージ」変数も追加してください

素早くパネルを消せたらゲージが増えるようにする

変数に「まえの時間」を追加して、ステージにあるコードに画像にあるコードを追加します。

「まえの時間」1つ前のパネルをクリックした時刻を記憶するための変数です。

次に「パネル」のコードに以下を追加します。

前のパネルを消してから次のパネルを消すまで、1秒未満でできればパネルゲージを1つずつ増やします。

またクリックされるたびにまえの時間をタイマー値にリセットします。

ゲージに合わせてお宝を表示する

現在はランダムで表示を切り替えているので、これをお宝ゲージに合わせて変えるように変更します

以下のように条件に合わせて変更するようにします

ホリダくんを動かす

ホリダ君を動かしてみましょう

速く消せたときの音を変える

本記事はアフィリエイトリンクを含みます。

ネプリーグみたいなクイズをScrachで作る①

ネプリーグみたいな漢字の読み方を当てるクイズをScrachで作る方法を紹介します。

正解のリストを作る

「変数」タブの「リストを作る」をクリックして、リストを作ります

左下の「+」ボタンを押して、問題の答え(この場合は漢字の読み方)のリストを作ります。

ネコのスプライトのコードに下記を入力します。

出題する漢字を作る

漢字用のスプライトを作成し、コスチュームを問題分だけ追加して作成します。

漢字用のスプライトに下記のコードを入力します

音楽も入れてみます。

好きなBGMをフリー素材でダウンロードして、それがランダムで流れるようにします。

ネコのスプライトのコードに得点の加算を追加します

Scratchでブロック崩しゲームを作る②

前回に引き続き、Scratchでブロック崩しゲームを作る方法を紹介します。

今回は、新しい種類のブロック(跳ね返らないブロック・2回当てないと壊れないブロック)の作り方を紹介します。

1.通過するブロック

Button3を選択して右クリックして「複製」を選択します。

新しく複製されたButtonのスプライトコードから「ブロック接触を送る」を削除します。

これで透過するブロックは完成です。

ただ、このままでは複製する前のブロックと同じ場所に表示されてしまい、どちらかが見えなくなってしまうので、表示する場所をずらします。

ずらしたいButtonスプライトの位置を定義している箇所を直せば、場所を変更できます。

↑こちらは高さ方向(y座標)の位置を変更する時に変える場所です。

2.二回当てないと消えないブロック

先ほどと同じように、Button3を複製して新たなブロックを作ります。

コスチュームを追加して

コスチューム1:最初の状態

コスチューム2:一回当たった状態

の見た目を作ります。

そして、ブロックを消している条件のところに「もし・でなければ」を追加し、

・コスチューム番号が1なら:次のコスチュームにする

・でなければ(つまりコスチューム番号が2なら):このクローンを削除する

を追加します。

これで2回当てないと消せないブロックを追加できます。

透過ブロックと同じように、このブロックを配置する座標も普通のブロックとずらせば完成です。