arduino


アルデュイーノと読む。
2003年、イタリアIvreaのInteraction Design Institute Ivrea(IDII)で立ち上がる。
2005年ごろ、プロトタイプ。
2011年に30万人、2013年に70万人が利用するようになった。
その後2017年、ARM社と提携している。

RaspberryPiなどと同様にシングルボードと呼ばれる種類。
RaspberryPiと違う点はOSを必要としないマイコン系であり限りなく電子部品寄り
の製品であること。

ライセンスはCreative Commons Attribution Share-Alike 2.5で、オープンソース
であり、ハードウェアの設計書がオープンのためどんな企業、個人も作ることが出来る。


  • Arduinoを買ったらすること
 本体のほかに、USB 2.0 Type-Aオス-Bオスケーブルが必要。
 ArduinoIDEを公式サイトからダウンロードする。

 USBをPC本体側のUSBコネクタをArduinoを結ぶと本体側に給電される。

 ここで注意。
 上述の通りUSB-A側、つまりパソコンに繋げるコネクタはPC本体に付いているものを
 使用すること。決してUSBハブなど中継器や延長ケーブルを介して繋げない事だ。
 小生、実はここで相当つまづいた。


  • ArduinoIDE
 ArduinoのプログラミングはArduinoIDEを使って行う。
 C言語ライクなプログラムを組むことが出来る。
 正しくは「Pduino」という言語で、Pure Data、Max/MSPを元に作られている。

 違いは物理ポートを操作する関数があることだ。
 一番最初に触れるだろうサンプル「Blink」でもpinMode、digitalWriteを利用する。
 もちろんCのライブラリに指示を出しているに過ぎないが、最初からあって、
 引数2つで物理ハードを動かせるのは感動するかもしれない。


  • 主要なプログラミング

概要 基本式 記述例 備考
基本構成 定数定義
変数定義
void setup(){}
void loop() {}
ディレイ delay(); delay(1000); 引数:マイクロ秒
変数 型 変数名 int count
定数 #define #define DEFINE 100
インクルード #include<> #include<avr/library.h>
コメント // if(cnt == 0){ //コメント プログラム行の末尾に追加可能
条件式
if if(){}else{}
switch switch(){}
for for(;;){}
while while(){}
do while do{}while();
break; break;
continue; continue;
return; return;
goto; goto;
関数
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, HIGH);
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
ポート操作
ポートD方向レジスタ DDRD DDRD = B11111110; ピン1~7を出力, ピン0は入力
ポートDデータレジスタ PORTD PORTD = B10101000; デジタルピン7,5,3をHIGHに
ポートD入力レジスタ(読み取り専用) PIND
ポートB方向レジスタ DDRB
ポートBデータレジスタ PORTB
ポートB入力レジスタ(読み取り専用) PINB
ポートC方向レジスタ DDRC
ポートCデータレジスタ PORTC
ポートC入力レジスタ(読み取り専用) PINC


最終更新:2018年02月19日 22:35