Breadboard
ブレッドボードを使うと色々な電子部品を繋げてみることが出来る。
ブレッドボードは端の部分が電源用(Power Rails)になっていて横に内部配線されている。中央の部分(端子板:Terminal Strips)は縦に繋がっている。
上の画像では13ピンの出力を端子板に挿し、抵抗とLEDを通ってGNDに戻っている。
電源レールは使っていない。
こっちは13ピンを電源レールのプラスに繋ぎ、ジャンパワイヤー(Jump Wire)で端子板に接続した。
今回は抵抗を入れてみたが、外してもLEDが破損することはなかった。
ブレッドボードを使わずに点灯させた時も抵抗なしだったので当たり前かもしれないが、参考にした本などでは推奨されていなかったので。
ただ抵抗がないとめちゃくちゃ眩しい。
Blinking an LED
Arduinoの13ピンの出力は、LEDがあらかじめ埋め込まれていた。
これを点灯させたのと同じように、LEDをピンに接続して光らせることが出来る。
LEDの短いリード線(カソード)をGNDに、長い方(アノード)を13番ピンに接続すると、埋め込み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)
What Can Be Made with Arduino ?
実際に世界中の人たちがこれで何を作っているのか。
オリジナルの楽器やおもちゃだったり、ロボットやIoT機器。
Project Hub
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でプログラミングした内容をハードウェアに出力したり出来る。
下記にいろいろ紹介されているが、映像や音を制御したり、WifiやBluetoothなどの無線を利用したり、モーターを接続して何かを動かすなど
Language Reference
Arduinoの言語はC++によく似ているらしいが、プログラミング言語の違いがわかるレベルではない。
リファレンスを読みながら少しずつ覚えていく。ここにある100個くらい?の言語の組み合わせで何でも出来るようになるのかね。
https://www.arduino.cc/en/Reference/HomePage
あとプログラミングと並行して英語も少し学びたいので、インターネットで情報を得るときはなるべく海外のサイトを利用しようと思う。