SlideShare ist ein Scribd-Unternehmen logo
1 von 58
2014/1/19版

Arduino入門
光永 法明
http://n.mtng.org/ele/arduino/
•
•

本資料は講義等のために筆者が作成したものに加
筆修正したものです。
誤り、改良点があればお知らせください。

•

著作権は放棄しませんが、個人での利用や、学校
(授業・地域向けイベント)や社内、自分たちで
実施する勉強会で使うのはご自由にどうぞ。

•

有料の講習会等の場合の利用は別途ご相談くださ
い。有料の講習会を実施する方には、本資料の内
容ぐらいは自分で作成いただきたいので。
最初の一歩
• Arduino IDEを起動してサンプルを動かすま
でです
• 画面は Windows 版です
• Arduino IDE は http://arduino.cc/ から入手し
ます。今の時点では 1.0.x系を推奨します。
• Windows では USB シリアルのドライバが
必要です。
• その場合には Arduino IDE に付属のドライ
バを次のスライドのようにインストール
します
ドライバのインストール
Arduino ボードを USB ケーブルで PC につないだときに、
ドライバがインストールされていなければ
• 参照をクリックし、Arduino IDEに含まれる
フォルダ drivers → FTDI USB Drivers を指定
する
Arduino IDEを起動する
• Arduino(.exe)を
ダブルクリッ
ク
• ダウンロード
したZIPファイ
ルを展開して
おくこと
ファイル→
スケッチの例→
01.Basics→
Blinkを開く
ツール→マイコンボード→Arduino…ATmega16
を選択する(使っている物に合わせる)
ボードを変えなければ
PCにつき1回すればOK
ツール→シリアルポートの中の適切なものを
選択する(おおよそ番号の一番大きいものでよい
Uploadをクリック
クリックするとスケッチの
コンパイルが始まる。
コンパイルが終わると
転送が始まり、
ArduinoのTX, RXの
LEDが点滅する。
点滅が終了すると
Arduinoがリセットされ
スケッチが動く。
エラーの場合は
ボード、
シリアルポート、
スケッチを
確認する。
今動かしたスケッチを読もう
• Blink サンプルのスケッチを読んでみま
しょう
• そのための解説をします
Arduino 言語のお約束
• 基本的には、マイコンへの命令が並んで
います。
• マイコンは一文ずつ順に命令を実行しま
す。
• 一文の終わり(。)は;です
• 右の部分は次のように読みます
ledピンをHIGHにせ
digitalWrite(led, HIGH);
よ。
delay(1000);
1000ms(1秒)待て。
digitalWrite(led, LOW);
ledピンをLOWにせよ。 delay(1000);
Arduinoのスケッチ(プログラ
ム)
void setup()
{
}
void loop()
{
}

setup関数
最初に1回だけ実行する文を
並べる(初期化など)

loop関数
繰り返し実行する文を
並べる(最後の文が実行したら
最初の文に戻る)
スケッチのお約束
• 文の終わりは ;
• 空白は好きなだけ入れていい(全角空白は
ダメ)
• 改行も空白の一種として扱われる
– 以下は同じ文

a = 2 + 3;
a=2
+3;
• 大文字と小文字、半角と全角を区別する
スケッチのお約束
• // から行末まではコメント
• /* と */ で囲まれた間はコメント
• コメント:人が読むためのものでプログ
ラムの一部ではない
関数とは?
• 文をまとめたもの
• Arduinoのスケッチを書く
→loop関数とsetup関数をつくる
• あらかじめよく使う機能について関数が
用意されている
すぐに使える関数
• pinMode, digitalWrite, analogWrite, delay
pinMode(13, OUTPUT); // 13ピンを出力
に設定する
digitalWrite(13, HIGH); // 13ピンの出力
をHIGHにする
analogWrite(3, 100); // 3ピンのPWM出力
を100/255にする
delay(100); // 100ミリ秒待つ
Blinkスケッチ

/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.
This example code is in the public domain.
*/
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000);
// wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000);
// wait for a second
}

Arduino IDEで開くと
色分けされている

コメント、定数、setup, loo
関数を探してみよう
ここまでのまとめ
• Blink スケッチを読めましたか?

• 点滅の間隔を変えるにはどうしたらいい
でしょう?
• 337拍子で、LEDを点滅させてみよう
• 次ページ以降は、もう少し細かな約束
(文法)です。
四則演算
•
•
•
•

+, ー, ×, ÷, (, )は +, -, *, /, (, )
計算の基本は整数
% であまりを求められる
計算式の = は変数への代入を意味する
– a = b + 3; は、今のbの値に3を足した値がaに入
る
– 次の行にb = 4 があっても、aは変化しない

• i ++, ++ i は i=i+1とほぼ同じ
• i--, -- i は i=i-1とほぼ同じ
比較演算
• >, <, ≧, ≦, =は>, <, >=, <=, ==
• 成立するとき値が真(1)にしないとき偽(0)にな
る
• 2つの値しか比較できない
• 二つの比較式をならべるとき、かつ、または
を &&, || で表す
• ! は否定(~でない)を表す
式
値
式
値
例)
a>b 偽
a>1 && a<2
偽
a=1
a==b 偽
a>=1 && a<=2 真
a<b 真
!(a<b)
偽
b=2
a>1 || b==2 真
のとき a>=b 偽
a<=b

真

a>0 && b>0

真
定数
•
•
•
•

10進数(整数):普通に書いていい (123)
16進数:あたまに0xをつける (0x123)
2進数:あたまにBをつける (B1010)
10進数(浮動小数点): . をつける (123.0,
1.23)
• 10進数(指数表現): eを使う(2.4e5 = 2.4×105)
• デジタル入出力: HIGH, LOW
• デジタル入出力の向き: INPUT, OUTPUT
• 真と偽: true, false
変数
• 名前を自分で決められる
• 長さは任意
• 英文字で始まり、英数字や_を使ってよい
例)

a, b, a1, a2, a3, a4, LEDpin, LED_pin1

• 使う前に宣言が必要
• 変数の「型」によって扱える値(範囲)が違う(早見表参照)
– 型: char, int, short, long, float, double など

• 宣言は型<空白>名前;または型<空白>名前1,名前2,…; と
する
– int a;
– int a, b;
など

• 変数の初期値は不定(心配なら代入する)
int a; a = 0;
int a=2;
など
配列変数
• 数列(a1, a2, a3, …)のようなもの
• 大きさを宣言してから使う
int a[10];

• 型はなんでもいい
• 添え字は0から始まるので大きさが10なら、添え字
は0から9になる
• 宣言した大きさを超えて使おうとするとうまく動作
しない
• 添え字に[]をつけて使う
a[0] = a[1];
a[i+1] = a[i] + 1;
制御文
• while文
while(条件式)
式A;

• for文
for(式1; 条件式; 式3)
式A;
• if文
if (条件式)
式A;
else
式B;
while文
while(条件式)
式A;

• 条件式が成り立つ(真)間、式Aを実行
• 最初に成り立っていなければ、式Aを実行し
ない
例)
while (digitalRead(3) == HIGH)
;
3番ピンがHIGHの間待つ。3番ピンにスイッチ
をつけている回路では、スイッチが押される
for文
for(式1; 条件式; 式3)
式A;
• 式1を実行し、
• 条件式が成り立つ(真)間、式Aと式3を実行す
る
• 最初に成り立っていなければ、式Aを実行しな
い
例)
for (int i=0; i<10; i=i++)
delay(1000);
最初にiを0にする。i<10が成り立っているので、
1000ms待ち、iに1を足す。またi<10が成り立って
if文
if(条件式)
式A;
else
式B;
• 条件式が成り立つ(真)なら式Aを成り立たない(偽)なら式Bを実行
する
• else から先を省略してもいい
例)
if (digitalRead(2) == LOW)
digitalWrite(13, HIGH);
else
digitalWrite(13,LOW);
2番ピンのスイッチが押されたら13番ピンのLEDを点灯し、そうでな
ければ消灯する
Arduio に回路をつなごう
• ここからは Arduino に回路をつなぐ例を紹
介します
• 具体的な部品の選定は解説していません
ピンの機能とつながる回路の例
• デジタル入力 (0[V]/5[V])
– スイッチ,デジタル回路

• デジタル出力 (0[V]/5[V])
– LED,トランジスタやドライバを介してリレー,DCモータ,ソレ
ノイドなど
– デジタル回路

• アナログ入力 (0~5[V]を0~1023で表す)
– 抵抗分圧を使ってポテンショメータ(ボリューム),感圧セン
サなど
– 0から5[V]の範囲で電圧を出力するセンサの回路

• マトリクスLED
– 8×8のマトリクスLED

•

PWM 出力 (高速にON/OFF, ON/OFFの比:0から255
明るさやモータの速度を制御できる)
– LED,トランジスタやドライバを介してモータなど

• R/Cサーボ
– ラジコン用のサーボモータ
デジタル/PWM出力(0V or 5V,
最大10mAから20mA)の使用例
デジタル回路

例:LED, 圧電スピーカ

tone()を使う
digitalWrite()や
analogWrite()を使う
デジタル/PWM出力の増幅例
例:トランジスタ、
トランジスタ+リレー、
FETによる、モータや
他の回路の電源の制御
トランジスタ+リレー

digitalWrite() を使う

トランジスタでモータ

digitalWrite()や
analogWrite()を使う

MOS FET+リレー

digitalWrite() を使う

MOS FETでモータ

digitalWrite()や
analogWrite()を使う
デジタル/PWM出力の増幅例
例:モータドライバICによる
模型用モータの制御
(正逆回転・ブレーキ)
digitalWrite()や
analogWrite()を使う
R/Cサーボ出力の使用例
Servo s;
s.attach(), s.write()を使う
s は変数名で任意

電源
ラジコンサー
ボ
グラウンド
デジタル入力(0V or 5V)の使用例
デジタル回路

digitalRead()を使う

電源が異なる
デジタル回路
アナログ入力(0[V]から5[V])の使用
例 ポテンショメータ(ボリューム)
例:温度センサIC,
アナログ回路
(電圧出力の
センサなど)

analogRead()を使う
アナログ入力(0[V]から5[V])の使用
例
~抵抗値が変化するセンサ~
analogRead()を使う

例:CdS, 照度センサ, サーミスタ
例題を動かしてみよう
• 動かす前にスケッチを読んで何が起こるか予
想しよう
• 少し変えて動作を確かめ、保存してみよう
• 01.Basics
– BareMinimum
– Blink

• 02.Digital
– BlinkWithoutDelay
• millis()関数は何?早見表、日本語リファレンスを読んで
みよう
例題を動かしてみよう
• 動かす前にスケッチを読んで何が起こる
か予想しよう
• 02.Digital
– Button
– toneMelody

• 03.Analog
– Fading
– AnalogInput (CdSと10kΩ抵抗を使う)
スイッチに反応させる
const int SWpin=2
void setup()
{
pinMode(13, OUTPUT)
if (digitalRead(SWpin) ==LOW)
digitalWrite(13, HIGH);
}

void loop()
{
}
スイッチに反応させる
const int SWpin=2
void setup()
{
}
void loop()
{
pinMode(13, OUTPUT)
if (digitalRead(SWpin) ==LOW)
digitalWrite(13, HIGH);
}
スイッチに反応させる
const int SWpin=2
void setup()
{
pinMode(13, OUTPUT)
}
void loop()
{
if (digitalRead(SWpin) ==LOW)
digitalWrite(13, HIGH);
else
digitalWrite(13, LOW);
}
アナログ入力(0[V]から5[V])の使用
例 ポテンショメータ(ボリューム)
例:温度センサIC,
アナログ回路
(電圧出力の
センサなど)

analogRead()を使う
センサに反応させる
CdSは明るいほど抵抗値が下がる
→明るいほどアナログ入力の値が
下がる
どうやって決める?

if (analogRead(CDSpin) < 100) {
digitalWrite(13, HIGH);
} else {
digitalWrite(13, LOW);
}
シリアルモニタ
ArduinoとPCの間でシリアル通信をして
今の値を表示する
(Arduino→PC, PC→Arduinoの両方が出来る)

ここに表示される

通信速度
ArduinoからPCへ送信
void setup()
{
Serial.begin(9600);
}

通信速度、単位はbps (bit per second)
9600, 19200, 38400, 115200など
数値が大きいほど速い。シリアルモニタの
設定をこれにあわせること。

シリアル通信に関係するもの(シリアルライブラリ)にはつく

引数を人に読める形で表示して改行する
void loop()
{
Serial.println(analogRead(A0));
delay(1000);
引数はアナログ入力の値
}
ほかにも表示形式がある。リファレンスマニュアル参照のこと。
const int LEDpin=13;
void setup()
{
pinMode(LEDpin, OUTPUT);
Serial.begin(9600);
}
void loop()
{
Serial.println(analogRead(A0));
if (analgoRead(A0) < 100)
digitalWrite(LEDpin, HIGH);
else
digitalWrite(LEDpin, LOW);
delay(1000);
}
明るくなると点滅が速くなる
const int LEDpin=13;
void setup()
{
pinMode(LEDpin, OUTPUT);
}
void loop()
{
digitalWrite(LEDpin, HIGH);
if (analgoRead(A0) < 100)
delay(100);
else
delay(500);
digitalWrite(LEDpin, LOW);
if (analgoRead(A0) < 100)
delay(100);
else
delay(500);

}

2段階で点滅の間隔が変わる
もっと細かくするには?
明るくなると点滅が速くなる
const int LEDpin=13;
void setup()
{
pinMode(LEDpin, OUTPUT);
}
void loop()
{
int a = analogRead(A0);
digitalWrite(LEDpin, HIGH);
delay(a);
digitalWrite(LEDpin, LOW);
delay(a);
}

アナログ入力の値(0~1023)
の長さ[ms]の間隔で点滅
明るくなると点滅が速くなる
const int LEDpin=13;
void setup()
{
pinMode(LEDpin, OUTPUT);
}
void loop()
{
int a = analogRead(A0);
digitalWrite(LEDpin, HIGH);
delay(a);
digitalWrite(LEDpin, LOW);
delay(a);
}

アナログ入力の値を元に計算や
比較をすれば色々出来る
もっと速く点滅
int a = analogRead(A0) / 2;
2乗に比例
int a = analogRead(A0);
a = a*a / 1000;
速くなりすぎないように制限する
if (a<100)
a = 100;
暗くなると速くなるようにする
a = 1023 – a;
過去を覚えておく
const int LEDpin=13;
int oA0 ;
void setup()
{
pinMode(LEDpin, OUTPUT);
oA0 = analogRead(A0);
}

abs() は絶対値を求める関数

void loop()
{
int a = analogRead(A0);

以前の値oA0とA0の差が大
きいときにLEDを点灯

if (abs(a – oA0)>100)
digitalWrite(LEDpin, HIGH);
delay(1000);
}
digitalWrite(LEDpin, LOW);
delay(100);

人が通りがかったり、手を
かざしたときに反応といっ
た応用が出来る

oA0 = a;
}
平均値をとる
const int LEDpin=13;
int oA0[3] ;
void setup()
{

pinMode(LEDpin, OUTPUT);
}
void loop()
{
int a = analogRead(A0);
int avg;
avg = (oA0[0] + oA0[1] + oA0[2] + A0)/4;
if (avg>100)
digitalWrite(LEDpin, HIGH);
}
digitalWrite(LEDpin, LOW);
oA0[0] = oA0[1];
oA0[1] = oA0[2];
oA0[2] = a;
delay(1000);
}

4回の平均を求める例
過去の値を配列にいれてお
く
ノイズの除去、細かい変化
の無視をしたいときに使う
順に覚えている前の値をず
らしていく

平均を求めたり、記憶をず
らすのにforループを使うこ
とも多い
関数
millis関数:リセットからの経過時間[ms]
数学関数: abs, sin, cos, tan, log などが使える
角度の単位はラジアン、logの底はe
乱数: random, randomSeed
最初に一回randomSeedで初期化
あとはrandomを使う

ほかにも関数がある。制約や注意事項も含めリファレンスマニュアル参照のこと。
乱数を使う
const int LEDpin=13;

乱数をアナログ入力の値で
初期化

void setup()
{
pinMode(LEDpin, OUTPUT);
randomSeed(analogRead(A0));
}
void loop()
{
int t = random(100, 1000);
digitalWrite(LEDpin, HIGH);
delay(t);
digitalWrite(LEDpin, LOW);
delay(t);
}

乱数といっても計算で求め
るので、randomSeedに与え
る値が同じなら、random関
数を呼び出した回数が同じ
ならrandom関数の返す値は
同じ
左の例では100から999の間
の値がtに入る
tone関数
• ブザーをならせる
tone(2, 1000);
// 2ピンに1000Hzを出す
noTone(2);
// やめる
tone(2, 1000, 100); // 2ピンに1000Hzを100ms出す

toneMelody のpitches.hを使う(コピーする)と
tone(2, NOTE_C4, 100);
// (4オクターブ目のド)といった記号を使える

• toneMelody では、配列に音の高さと長さを覚えている
• forループで順に処理
• また4→250ms, 8→125ms となるように1000をその音の音符の分で割っている
(4分音符なら4,8分音符なら8)
int noteDurations[] = { 4, 8, 8, 4,4,4,4,4 };
int noteDuration = 1000/noteDurations[thisNote];
サーボライブラリ
• ラジコンサーボを扱う
• スケッチの先頭に次の1行が必要
#include <Servo.h>
• 使いたいサーボの数だけ宣言が必要
Servo s1, s2;

• attachでピンを指定する
s1.attach(2);
s2.attach(3);
• writeで角度(おおよそを指定する0から180)
s1.write(10);
s2.write(200);

制約や注意事項も含めリファレンスマニュアル参照のこと
例題を動かしてみよう
• 動かす前にスケッチを読んで何が起こる
か予想しよう
• 少し変えて動作を確かめ、保存してみよ
う
• Servo
– Sweep
– Knob
参考リンク
• Arduino.cc
http://www.arduino.cc/

• Arduino 日本語リファレンス
http://www.musashinodenpa.com/arduino/ref/

• Arduino のすすめ
http://n.mtng.org/ele/arduino/

• エレキジャックのArduino関連web記事
http://www.eleki-jack.com/FC/

• MAKE blog の Arduino 関連記事
http://jp.makezine.com/blog/arduino/

• Arduino 便利メモ
http://ndesign.ifdef.jp/a/a_m.html

Weitere ähnliche Inhalte

Was ist angesagt?

Unityで意外と簡単・・・だけど難しいVRコンテンツ
Unityで意外と簡単・・・だけど難しいVRコンテンツUnityで意外と簡単・・・だけど難しいVRコンテンツ
Unityで意外と簡単・・・だけど難しいVRコンテンツinfinite_loop
 
広告配信のための高速疎ベクトル検索エンジンの開発@WebDBフォーラム2015 #webdbf2015
広告配信のための高速疎ベクトル検索エンジンの開発@WebDBフォーラム2015 #webdbf2015広告配信のための高速疎ベクトル検索エンジンの開発@WebDBフォーラム2015 #webdbf2015
広告配信のための高速疎ベクトル検索エンジンの開発@WebDBフォーラム2015 #webdbf2015Yahoo!デベロッパーネットワーク
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...NTT DATA Technology & Innovation
 
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~Takuya Akiba
 
Hokkaido.cap#1 Wiresharkの使い方(基礎編)
Hokkaido.cap#1 Wiresharkの使い方(基礎編)Hokkaido.cap#1 Wiresharkの使い方(基礎編)
Hokkaido.cap#1 Wiresharkの使い方(基礎編)Panda Yamaki
 
Docker と ECS と WebSocket で最強のマルチプレイ・ゲームサーバを構築
Docker と ECS と WebSocket で最強のマルチプレイ・ゲームサーバを構築Docker と ECS と WebSocket で最強のマルチプレイ・ゲームサーバを構築
Docker と ECS と WebSocket で最強のマルチプレイ・ゲームサーバを構築gree_tech
 
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜Megagon Labs
 
研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門ryos36
 
インターネットにおける悪評 - 高野光弘編
インターネットにおける悪評 - 高野光弘編インターネットにおける悪評 - 高野光弘編
インターネットにおける悪評 - 高野光弘編TAKANO Mitsuhiro
 
デジタル回路の超入門
デジタル回路の超入門デジタル回路の超入門
デジタル回路の超入門KeroFire
 
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムTakuya Akiba
 
イベント・ソーシングを知る
イベント・ソーシングを知るイベント・ソーシングを知る
イベント・ソーシングを知るShuhei Fujita
 
C++のビルド高速化について
C++のビルド高速化についてC++のビルド高速化について
C++のビルド高速化についてAimingStudy
 
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdfcatupper
 
こわくない Git
こわくない Gitこわくない Git
こわくない GitKota Saito
 
JobSchedulerでのジョブの多重実行・排他制御
JobSchedulerでのジョブの多重実行・排他制御JobSchedulerでのジョブの多重実行・排他制御
JobSchedulerでのジョブの多重実行・排他制御OSSラボ株式会社
 
[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...
[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...
[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...Deep Learning JP
 

Was ist angesagt? (20)

最短経路問題 & 最小全域木
最短経路問題 & 最小全域木最短経路問題 & 最小全域木
最短経路問題 & 最小全域木
 
Unityで意外と簡単・・・だけど難しいVRコンテンツ
Unityで意外と簡単・・・だけど難しいVRコンテンツUnityで意外と簡単・・・だけど難しいVRコンテンツ
Unityで意外と簡単・・・だけど難しいVRコンテンツ
 
広告配信のための高速疎ベクトル検索エンジンの開発@WebDBフォーラム2015 #webdbf2015
広告配信のための高速疎ベクトル検索エンジンの開発@WebDBフォーラム2015 #webdbf2015広告配信のための高速疎ベクトル検索エンジンの開発@WebDBフォーラム2015 #webdbf2015
広告配信のための高速疎ベクトル検索エンジンの開発@WebDBフォーラム2015 #webdbf2015
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
 
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
 
Hokkaido.cap#1 Wiresharkの使い方(基礎編)
Hokkaido.cap#1 Wiresharkの使い方(基礎編)Hokkaido.cap#1 Wiresharkの使い方(基礎編)
Hokkaido.cap#1 Wiresharkの使い方(基礎編)
 
目指せグラフマスター
目指せグラフマスター目指せグラフマスター
目指せグラフマスター
 
Docker と ECS と WebSocket で最強のマルチプレイ・ゲームサーバを構築
Docker と ECS と WebSocket で最強のマルチプレイ・ゲームサーバを構築Docker と ECS と WebSocket で最強のマルチプレイ・ゲームサーバを構築
Docker と ECS と WebSocket で最強のマルチプレイ・ゲームサーバを構築
 
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
 
研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門
 
インターネットにおける悪評 - 高野光弘編
インターネットにおける悪評 - 高野光弘編インターネットにおける悪評 - 高野光弘編
インターネットにおける悪評 - 高野光弘編
 
デジタル回路の超入門
デジタル回路の超入門デジタル回路の超入門
デジタル回路の超入門
 
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
 
Topological sort
Topological sortTopological sort
Topological sort
 
イベント・ソーシングを知る
イベント・ソーシングを知るイベント・ソーシングを知る
イベント・ソーシングを知る
 
C++のビルド高速化について
C++のビルド高速化についてC++のビルド高速化について
C++のビルド高速化について
 
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
 
こわくない Git
こわくない Gitこわくない Git
こわくない Git
 
JobSchedulerでのジョブの多重実行・排他制御
JobSchedulerでのジョブの多重実行・排他制御JobSchedulerでのジョブの多重実行・排他制御
JobSchedulerでのジョブの多重実行・排他制御
 
[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...
[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...
[DL輪読会]BERT: Pre-training of Deep Bidirectional Transformers for Language Und...
 

Ähnlich wie Arduino 入門

AtCoder Beginner Contest 012 解説
AtCoder Beginner Contest 012 解説AtCoder Beginner Contest 012 解説
AtCoder Beginner Contest 012 解説AtCoder Inc.
 
SIMDで整数除算
SIMDで整数除算SIMDで整数除算
SIMDで整数除算shobomaru
 
AtCoder Beginner Contest 034 解説
AtCoder Beginner Contest 034 解説AtCoder Beginner Contest 034 解説
AtCoder Beginner Contest 034 解説AtCoder Inc.
 
第15回 配信講義 計算科学技術特論B(2022)
第15回 配信講義 計算科学技術特論B(2022)第15回 配信講義 計算科学技術特論B(2022)
第15回 配信講義 計算科学技術特論B(2022)RCCSRENKEI
 
今すぐ始めるArduino
今すぐ始めるArduino今すぐ始めるArduino
今すぐ始めるArduinofuna3
 
マルチコアを用いた画像処理
マルチコアを用いた画像処理マルチコアを用いた画像処理
マルチコアを用いた画像処理Norishige Fukushima
 
色々なダイクストラ高速化
色々なダイクストラ高速化色々なダイクストラ高速化
色々なダイクストラ高速化yosupo
 
Goコンパイラのきもち
GoコンパイラのきもちGoコンパイラのきもち
Goコンパイラのきもちmjhd-devlion
 
2011年11月11日
2011年11月11日2011年11月11日
2011年11月11日nukaemon
 
C++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISるC++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISるHideyuki Tanaka
 

Ähnlich wie Arduino 入門 (14)

AtCoder Beginner Contest 012 解説
AtCoder Beginner Contest 012 解説AtCoder Beginner Contest 012 解説
AtCoder Beginner Contest 012 解説
 
SIMDで整数除算
SIMDで整数除算SIMDで整数除算
SIMDで整数除算
 
AtCoder Beginner Contest 034 解説
AtCoder Beginner Contest 034 解説AtCoder Beginner Contest 034 解説
AtCoder Beginner Contest 034 解説
 
第15回 配信講義 計算科学技術特論B(2022)
第15回 配信講義 計算科学技術特論B(2022)第15回 配信講義 計算科学技術特論B(2022)
第15回 配信講義 計算科学技術特論B(2022)
 
今すぐ始めるArduino
今すぐ始めるArduino今すぐ始めるArduino
今すぐ始めるArduino
 
マルチコアを用いた画像処理
マルチコアを用いた画像処理マルチコアを用いた画像処理
マルチコアを用いた画像処理
 
Introduction to programming
Introduction to programmingIntroduction to programming
Introduction to programming
 
色々なダイクストラ高速化
色々なダイクストラ高速化色々なダイクストラ高速化
色々なダイクストラ高速化
 
Goコンパイラのきもち
GoコンパイラのきもちGoコンパイラのきもち
Goコンパイラのきもち
 
計算機理論入門02
計算機理論入門02計算機理論入門02
計算機理論入門02
 
2011年11月11日
2011年11月11日2011年11月11日
2011年11月11日
 
Arduino001
Arduino001Arduino001
Arduino001
 
第6回
第6回第6回
第6回
 
C++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISるC++コミュニティーの中心でC++をDISる
C++コミュニティーの中心でC++をDISる
 

Arduino 入門