2021年、書初めコーディング: ArduinoでLチカを書こう

はじめに

あけましておめでとうございます。 まさかまさかの2020年でしたが、なんとか年も明け2021年が始まりました。

とりあえず新年ということで個人的にしてるのが書初めコーディングですが、まあ今年の抱負とか目標とかそういうことをふんわり込めながらなんか書きます。 今年のテーマは「挑戦」。「いつかやろう」と思ってやってなかった事にしっかりと挑戦していく年に出来たらと思います。

そんなわけで、電子工作をしてみました。最終的な目標としては水温を制御したいのですが、とりあえず今日はHello WorldとしてL地下です。 用意したのはArduino。ラズパイよりも電子部品を組み合わせるのには向いてそうだし、いろんな言語で書けるというわけじゃないのでWebの記事も大体参考になるので、より初心者向けかな、と。 いきなりゼロからパーツを集めるのも大変なので下記のスターターキットを買いました。

SunFounder Uno R3 Project Starter kit Compatible with Arduino IDE,25 Tutorials Includedwww.sunfounder.com

また、下記のサイトを参考にというかほぼ写経させてもらっています。

deviceplus.jp

環境構築

まずは環境構築として公式サイトからIDEをインストール。WIndows 10であればWindows Storeから直接入手も可能です。 つづいて、メインボードを付属のUSBケーブルでPCに接続します。このタイミングでドライバも設定されます。どうやらCOM (RS232C)として認識されるっぽい。なつい。。。

電子回路の作成

つづいて、LEDをブレッドボードにさし、ブレッドボードと本体をぽちぽちつないでいきます。 この辺詳しくは上記の記事参照なのですが、本当にどう使えば良いかも分からなかったので、間違ったところに刺してみたりここが一番時間かかりましたね。 小学校の図工や理科の時間を思い出して楽しかったです。

Lチカ制御プログラム

最後にLチカの制御プログラムです。以下のように書きました。pinの13番を指定するためにledという変数に入れています。この値でセットアップ時に出力端子として初期化したり、digitalWrite関数でオン/オフをしています。

int led = 13;
void setup() {
  pinMode(led, OUTPUT);
}

void loop() {
  digitalWrite(led, HIGH);
  delay(1000);
  digitalWrite(led, LOW);
  delay(1000);
}

これは見ての通り1秒待って1秒光るというLチカが点滅するプログラムです。わかりやすいですね? 結果はこちら。

まとめ

とりあえず、無事Lチカを光らせることが出来ました。 シリアルコンソールででバックできるのは良いですね。COMもそうですが電気信号がそのままコードで制御した通りになるのはシンプルで良いですね。良くも悪くもプロトコルも何もない世界。。。 このあとPotentiometer(可変抵抗器)を使ったアナログデータの取得もやったのでArduinoを完全に理解したと思います!

まあ、冗談はさておきやはり作りたいものを作りながら調べて学ぶのが性に合ってるので次は実際に水温センサーとヒータの制御を作ります。

それではHappy Hacking!