Breadboard

ブレッドボードを使うと色々な電子部品を繋げてみることが出来る。

f:id:spinspine:20170118011202j:plain

ブレッドボードは端の部分が電源用(Power Rails)になっていて横に内部配線されている。中央の部分(端子板:Terminal Strips)は縦に繋がっている。
上の画像では13ピンの出力を端子板に挿し、抵抗とLEDを通ってGNDに戻っている。
電源レールは使っていない。

f:id:spinspine:20170118012249j:plain

こっちは13ピンを電源レールのプラスに繋ぎ、ジャンパワイヤー(Jump Wire)で端子板に接続した。

f:id:spinspine:20170118013520p:plain

今回は抵抗を入れてみたが、外してもLEDが破損することはなかった。
ブレッドボードを使わずに点灯させた時も抵抗なしだったので当たり前かもしれないが、参考にした本などでは推奨されていなかったので。
ただ抵抗がないとめちゃくちゃ眩しい。

Blinking a Built-in LED

まず、基本的なプログラムの書き方を知るために、Arduino Unoに埋め込まれているLEDを点灯させる。

 

//Blinking an LED

void setup() //初期化 戻り値を返さない関数はvoid型

{

pinMode(13, OUTPUT); //デジタルピンの13を出力に使う

}

void loop() //繰り返される処理

{

digitalWrite(13, HIGH); //13ピンをオンにする

delay(500); //500ミリ秒(0.5秒)の遅延

digitalWrite(13, LOW); //13ピンをオフにする

delay(500);

}

 

記述が違うとエラーになってしまうので、検証ボタンを押してチェックする。
マイコンボードに書き込む時はメニュー>ツールから正しいマイコンボードとシリアルポートを選択する。

スケッチには必ずsetup()とloop()という2つの関数がある。
これらの関数は波括弧(curly braces){}でブロックにまとめて記述する。
文の終わりにはセミコロン(semicolon);をつける。
//の後は無視されるので自由にコメントを入れられる。

【pinMode】は、ピンを入力として使うか出力として使うかを決める関数で、2つの引数で定義する。1つ目がピン番号で、2つ目はピンの状態を「OUTPUT」か「INPUT」で指定する。これはArduinoであらかじめ定義されている(定数)。

【digitalWrite】も2つの引数を使って、どのピンをオン/オフにするか指定する関数。「HIGH」「LOW」は出力ピンの電圧を高低二段階で制御するということ。

Arduino Software (IDE)

プログラムはArduino IDE統合開発環境)を使って作成する。
このソフトで作成したスケッチをアップロードしたり、Arduinoからデータ受信してパソコンに表示させることが出来る。

https://www.arduino.cc/en/Guide/Environment

 

また、ソフトウェアをインストールしなくても、インターネット回線が繋がっていればオンラインでIDEを利用することも。

https://create.arduino.cc/editor

What Can Be Made with Arduino ?

実際に世界中の人たちがこれで何を作っているのか。
オリジナルの楽器やおもちゃだったり、ロボットやIoT機器。

 

Project Hub

https://create.arduino.cc/projecthub

Make:

http://makezine.com/category/technology/arduino/

Arduino Uno

Arduinoには小型のものから高性能のまで、いろいろな機種がある。

https://www.arduino.cc/en/Main/Products

Raspberry Piというのもある。
https://www.raspberrypi.org/

 

市場で売られている家電製品なんかのマイコンは何が使われているのか?

さっぱりわからないことだらけだが、とりあえず手元にあるのは『Arduino Uno』という入門用の普及タイプ。

https://www.arduino.cc/en/Main/ArduinoBoardUno

 

電源は5Vで、パソコンなどのUSBから供給できる。(7-12VのAC/DCアダプターも可)
小さなコンピューターに入出力がついている感じだろうか。

14のデジタルピンは入力にも出力にも対応していて、A0からA5の6つはアナログ入力となっている。
これらのピンに外部センサーからの情報を入力したり、Arduinoでプログラミングした内容をハードウェアに出力したり出来る。

下記にいろいろ紹介されているが、映像や音を制御したり、WifiBluetoothなどの無線を利用したり、モーターを接続して何かを動かすなど

http://playground.arduino.cc/Main/InterfacingWithHardware

Language Reference

Arduinoの言語はC++によく似ているらしいが、プログラミング言語の違いがわかるレベルではない。
リファレンスを読みながら少しずつ覚えていく。ここにある100個くらい?の言語の組み合わせで何でも出来るようになるのかね。

https://www.arduino.cc/en/Reference/HomePage

 

あとプログラミングと並行して英語も少し学びたいので、インターネットで情報を得るときはなるべく海外のサイトを利用しようと思う。