ないものは作りましょう。

色々なことに挑戦(主にプログラミング)

Arduinoに挑戦

電子工作してみたいなと思いまして、マイコンをやってみることにしました。
で、手軽に始められるArduinoを買ってみました。
f:id:IJMP320:20150509003730j:plain

買ったもの

電子工作とか全くの初心者なわけですが、Arduinoに挑戦するためにいろいろ買ってみました。
秋月電子通商さんで買いました。ネットだと近くに店がなくても買えるので便利です。

  • Arduino Uno Rev 3
  • USBケーブル
  • ブレッドボード
  • ユニバーサル基板
  • はんだ吸い取り線
  • 線材
  • OLEDキャラクターディスプレイ
  • ブレッドボード・ジャンパーコード
  • LED各種
  • 抵抗各種
  • タクトスイッチ
  • AVRマイコン ATMEGA328P-PU
  • 圧電スピーカー
  • フォトカプラ

などいろいろ買いました。

f:id:IJMP320:20150509005014j:plainf:id:IJMP320:20150509005059j:plain
Arduinoの箱。ポップで可愛いね。

f:id:IJMP320:20150509005140j:plain
ブレッドボード。部品をブスブス刺してコードで繋ぐだけで回路を作れるスグレモノ。

f:id:IJMP320:20150509003730j:plain
f:id:IJMP320:20150509005325j:plain
Arduino本体。意外と小さい。MADE IN ITALY。

PCに繋いでLEDを点けてみる

WEBサイトを参考に見様見真似で遊んでみます。

f:id:IJMP320:20150509005600j:plain
PCに繋ぐと右上の「ON」のLEDがしました。USBから電源が供給されます。

Arduinoの5VのピンとGNDのピンにLEDと抵抗とスイッチを繋ぎ、ボタンを押すとLEDが点きました。
(抵抗を挟まないと電流が流れすぎてしまうらしいです。)
f:id:IJMP320:20150509005807j:plain
当たり前だけど嬉しいです。

スケッチ(プログラム)を書き込んでみる

ArduinoではホームページからダウンロードできるIDEを使ってプログラミングします。IDELinuxに対応しているのが嬉しいです。
言語はC++ベースなのでかなり気軽にプログラミングできます。

適当にインストールを済ませたら、早速プログラミングしてみます。

HIGHの信号(5V)とLOWの信号(0V)を交互に出力してLEDを点滅させてみます。

#define LED_PIN 9

void setup() {
    pinMode(LED_PIN,OUTPUT);
}

void loop() {
    digitalWrite(LED_PIN,HIGH);
    delay(500);
    digitalWrite(LED_PIN,LOW);
    delay(500);
}

Arduinoではsetup()とloop()がメインの関数でsetup()がはじめに呼ばれて、その後loop()が繰り返し呼ばれます。

pinMode()で指定したピンを”入力”として使うのか”出力”として使うのかを設定しています。
digitalWrite()ではHIGHの信号かLOWの信号を出力しています。

f:id:IJMP320:20150509010246j:plain
実際に9番ピンにLEDと抵抗を繋いでスケッチを送信してみると、ちゃんと点滅しました。
プログラム通りに動くとかなり嬉しいです。(写真では点滅しているかわかりませんが)

あと、圧電スピーカを鳴らすためのtone()という関数が用意されていて、音をならすのは容易でした。


Arduinoはプログラミング初心者でもプログラミングの楽しさを実感できると思います。
普段PCでしかプログラミングしたことがない人もやってみると楽しめると思います。(シンプルなのにかなり感動しました)
これこそがプログラミングの楽しみですよね。

OLEDのキャラクターディスプレイについてはまた今度書こうと思います。

それでは。