6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Re:ゼロから始める電子工作【Arduino】

6
Last updated at Posted at 2026-02-26

はじめに

約1年前、「電子工作をやるぞ!」と意気込んで購入したArduinoスターターキット。
結局、箱を開けることもなく棚の奥で眠らせていました…。

「何から始めればいいかわからない」
「難しそう」

そんな理由で放置していた私が、重い腰を上げて再挑戦してみた軌跡を記録します。
結論から言うと、もっと早くやればよかった! と思うほど楽しかったです。

Arduino(アルドゥイーノ)とは?

Arduinoは、小さなコンピューター(マイコン)が載ったボードです。
PCで書いたプログラムに従って、光をつけたり、音を出したり、センサーで温度を測ったりと、デジタルとアナログの架け橋になってくれます。

137886.jpg

色々と種類があるようですが、Arduino本体はこんな見た目をしています。

ゼロからArduinoを用いた電子工作にトライする場合、様々な部品がセットになった”スターターキット”がオススメです。私自身、このスターターキットを購入しました。
価格もお手軽で、中国のECサイト「AliExpress」でセール時に1,771円で購入できました。
商品ページを↓に置いておきます。
https://ja.aliexpress.com/item/32620337494.html?gatewayAdapt=glo2jpn

Arduinoでできること

アイデア次第でやれることは無限大ですが、例えば以下のようなことができます。

  • LEDを自在にコントロールする(イルミネーション)
  • スイッチやセンサーで音を鳴らす(楽器やアラーム)
  • モーターを動かす(ラジコンやロボット)

ステップ1:Lチカ(LEDをチカチカさせる)

まずは電子工作の「Hello World」、Lチカに挑戦しました。

スケッチの作成

まず、Arduinoに書き込むスケッチ(プログラムのこと)を作成します。
ArduinoではC++言語を利用したスケッチを作成する必要があり、Arduino IDEという専用ソフト上で作成し、Arduinoに書き込みます。
今回は、以下のように1秒間単位で点滅を繰り返すスケッチを作成しました。


// 起動時に一度だけ実行される処理を実装するメソッド
void setup() {
pinMode(13, OUTPUT); // 13番ピンを出力モードに
}

// 起動中実行し続ける処理を実装するメソッド
void loop() {
digitalWrite(13, HIGH); // 点灯
delay(1000); // 1秒待つ
digitalWrite(13, LOW);// 消灯
delay(1000);// 1秒待つ
}

配線

次に、スケッチを書き込んだArduinoとLEDモジュールを繋げていきます。
配線の際、ブレッドボードと呼ばれる板に部品を差し込んでいき、電気がきちんとつながるようにケーブルをつないでいきます。ブレッドボードを活用することで、はんだ付けが不要となり、部品を完全に固定しないので再利用が可能となります。

スクリーンショット 2026-02-01 161028.png
配線後の状態。赤字の流れで電気が流れていきます。

起動

あとはArduinoを電源に接続すればOKです。接続している間、スケッチに定義したloopメソッドの処理が実行され続けます。

たったこれだけのコードで、目の前のLEDが意志を持って光り出したように見え、放置していた1年間が嘘のように熱中してしまいました。
このように、自分で作成したものが動いている様子を直ぐに・目の前で確認できるところが電子工作のいいところだと感じます。

ステップ2:応用編「チャルメラ」を鳴らす

LEDを光らせるだけではつまらないので、
出力部品をLEDからブザーに変えて「チャルメラ」のメロディが流れる装置を作りました。

スケッチの作成

先ほど作成したスケッチを以下のように修正しました。
起動している間、チャルメラが鳴り続ける仕様となっています。

// 音の高さを定義
#define NOTE_C5  523 // ド
#define NOTE_D5  587 // レ
#define NOTE_E5  659 // ミ

int speakerPin = 13; // スピーカーを繋いだピン

void setup() {
  pinMode(speakerPin, OUTPUT); // 13番ピンを出力モードに
}

void loop() {
  playCharumera();

}

void playCharumera() {
// ドレミーレド
  tone(speakerPin, NOTE_C5); delay(200);
  tone(speakerPin, NOTE_D5); delay(200);
  tone(speakerPin, NOTE_E5); delay(400); // 伸ばす
  tone(speakerPin, NOTE_D5); delay(200);
  tone(speakerPin, NOTE_C5); delay(300); // 伸ばす
  noTone(speakerPin); // 音を止める
  delay(200); // 少し間を置く
 
 
  // ドレミレドレ〜
  tone(speakerPin, NOTE_C5); delay(200);
  tone(speakerPin, NOTE_D5); delay(200);
  tone(speakerPin, NOTE_E5); delay(200);
  tone(speakerPin, NOTE_D5); delay(200);
  tone(speakerPin, NOTE_C5); delay(200);
  tone(speakerPin, NOTE_D5); delay(800); // 最後の余韻

  noTone(speakerPin); // 音を止める
  delay(1000); // 1秒待つ
}

動作の様子

正常に動作することが確認できました。感動。
ちなみに、スケッチの作成や配線のやり方などはGeminiに相談しながら進めています。
いつもありがとうな…。

おわりに

「いつかやろう」と放置していたArduinoでしたが、実際に触ってみると思っていたよりずっとスムーズに動かすことができました。
今回は出力部品しか使わなかったので、次回は入力部品を追加して物理的に動作を制御できるようなサムシングを作ってみようと思います。
電子工作に興味が湧いた方はぜひスターターキットを購入してLチカから始めてみてはいかがでしょうか?
安価で楽しめる趣味としておすすめですよ!

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?