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で、オープンソース
であり、ハードウェアの
設計書がオープンのためどんな企業、個人も作ることが出来る。
本体のほかに、USB 2.0 Type-Aオス-Bオスケーブルが必要。
ArduinoIDEを公式サイトからダウンロードする。
USBをPC本体側のUSBコネクタをArduinoを結ぶと本体側に給電される。
ここで注意。
上述の通りUSB-A側、つまりパソコンに繋げるコネクタはPC本体に付いているものを
使用すること。決してUSBハブなど中継器や延長ケーブルを介して繋げない事だ。
小生、実はここで相当つまづいた。
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