Arduino勉強会/02-ProtoSnap Pro Miniを使ってみる(その1)
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[Arduino勉強会]]
#contents
2014/02/15からのアクセス回数 &counter;
私たちのArduino勉強会は、小学生、ご婦人から目の見えない方...
できるだけ、初心者でも分かるように、またArduino経験者にも...
** LEDチカチカ [#qa6429d5]
[[Arduino勉強会/01-Arduinoのセットアップ]]の最後に使ったB...
説明します。小学生もいるので、Blinkのコメントを日本語にし...
Arduinoではプログラムをスケッチと呼びます。
((Arduinoの兄弟プロジェクトProcessingでも同様にスケッチと...
Arduinoでは、//から行末までと/* から */までがコメントとし...
Blinkのスケッチ(行番号を追加)を見ながら、簡単に動作を説...
#pre{{
1 /*
2 Blink
3 1秒LEDを点灯し、次の1秒は消灯、これを繰り返し...
4
5 この例題はパブリックドメイン(自由に使ってよ...
6 */
7
8 // ほとんどのArduinoボードでは、13ピンにLEDが接...
9 // 13番ピンにledという名前を付けます.
10 int led = 13;
11
12 // Arduinoに電源を入れたり、リセットボタンを押...
13 void setup() {
14 // ledのデジタルピンを出力用に初期化します.
15 pinMode(led, OUTPUT);
16 }
17
18 // loop関数は無限に繰り返します.
19 void loop() {
20 digitalWrite(led, HIGH); // LEDを点灯する(...
21 delay(1000); // 1秒間待つ
22 digitalWrite(led, LOW); //電圧をLOWにして...
23 delay(1000); // 1秒間待つ
24 }
}}
- Blinkスケッチの説明(1から6行目まで)
- 変数ledにLEDの13番をセット(10行目)
- setup関数でledの13番のデジタルピンを出力用に初期化(13...
- loopは無限に呼び出される関数で、その中でLEDの点灯、1秒...
たったこれだけのスケッチでLEDチカチカができるのがArduino...
*** 困ったときの対処 [#b25ac357]
上手く動かないと困ったときには、日本語のマニュアルが役に...
Arduinoの日本語のマニュアルが武蔵野電波のホームページ
[[Arduinoマニュアル>http://www.musashinodenpa.com/arduino...
に公開されていますので、分からない場合は参照して下さい。
** ProtoSnap Pro Miniボードの特徴 [#y573bae0]
どんなArduinoを用意したら、初心者にも使ってもらえるか色々...
いくつかの実験ができ、後でブレッドボードを使った実験にス...
[[ProtoSnap Pro Mini QUickstart Guide>https://www.sparkfu...
を使うことにしました。
&ref(ProtoSnap_Pro_Mini.png);
ProtoSnap Pro Miniには、Arduinoを試すために必要な以下のも...
- Arduino UNOをブレッドボードで使えるサイズに小さくしたAr...
- パソコンと通信したりプログラムを書き込む時に使用する通...
- タクトスイッチ
- 光センサー
- カラー(RGB)LED
- ブザー
部品とArduino Pro Miniのピンの接続は以下のようになってい...
| 部品のピン | Arduino Pro Miniのピン |h
| ボタン | 7 |
| 光センサー | A0 |
| 緑のLED | 5 |
| 青のLED | 6 |
| 赤のLED | 3 |
| ブザー | 2 |
** スイッチとLEDを連動させる [#z694edde]
ProtoSnap Pro Miniボードの部品を使って色々な実験をしまし...
Arduino IDEからファイル→新規ファイルを選択し、以下のスケ...
#pre{{
int buttonPin = 7; // ボタンは 7番ピンにつながっています
int ledPin = 13; // LEDは 13番ピンにつながっています
int buttonStatus; // ボタンの状態を保持するための変数
void setup() {
pinMode(buttonPin, INPUT); // ボタンピンを入力として初...
pinMode(ledPin, OUTPUT); // LEDピンを出力として初期設定
}
void loop() {
/* 最初にボタンの状態を読み込みます
HIGH = ボタンが押されていない状態
LOW = ボタンが押されている状態 */
buttonStatus = digitalRead(buttonPin);
if (buttonStatus == LOW) {
digitalWrite(ledPin, HIGH); // ボタンが押されていた...
}
else {
digitalWrite(ledPin, LOW); // そうでなければLEDを消す
}
}
}}
Blinkと同様に書き込みボタンをクリックしてスケッチをArduin...
ボタンを押すとLEDが点灯することを確認してください。
Blinkスケッチとの違いを見ながら、スケッチの説明をします。
- LEDのピン番号13をledPin、ボタンスイッチのピン番号7をbut...
- setup関数では、buttonPinのモードをINPUTに初期化しています
- digitalReadがデジタルピンの値(HIGH、LOW)を読み込む関...
digitalReadで読み込んだ結果をbuttonStatusにセットします.
- if文は、条件によって処理が分かれる部分です。{}で括った...
#pre{{
if(条件)
条件が真の時に処理するブロック
else
条件が偽の時に処理するブロック
}}
if文の使い方が分かったところで、どうしてbuttonStatusがLOW...
その理由を簡単に説明します。
以下の図がボタンの回路です。ボタンを押していないときには...
そのため、buttonStatusがLOWの時にLEDを点灯しているのです。
&ref(Button_sch.png);
** 光センサーの電圧を測ってみる [#b8f9e0d0]
これまでは、デジタルピンを使ってきましたが、電圧を読み込...
アナログピンの電圧を読み込むときには、analogRead関数を使...
光センサーは、A0のアナログピンにつながっていますので、光...
どのように光センサーの電圧を読み込んでいるのか説明するよ...
まず、以下のスケッチをArduinoに書き込んで下さい(CTRL-U)...
#pre{{
int lightPin = A0; // 光センサーはA0につながっている
int lightReading; // 光センサーからの値を保持する変数
void setup() {
/* シリアル通信の速度を9600ボーにセットし、最初にHello…...
Serial.begin(9600);
Serial.println("Hello world, let's read some light sens...
}
void loop() {
lightReading = analogRead(lightPin); // 光センサーから...
Serial.println(lightReading, DEC); // 読み込んだ値をシ...
delay(250); // 次の読み込みまで待つ
}
}}
*** 光センサーの測定結果をパソコンに送る [#g393d20d]
光センサーの測定結果をみるために、光センサーの値をシリア...
Arduino IDEのツールメニューからシリアルモニターを選択(CT...
ここで、右下の転送速度が9600 baud(ボーと呼びます)になっ...
次々にArduinoの光センサーから読み取られた値がパソコンに送...
&ref(Serial_monitor.png);
*** スケッチの説明 [#u367c404]
スケッチの動きが分かったところで、スケッチの中身を見てい...
- 光センサーは、アナログピンA0につながっているので、light...
- 読み込んだ値を保持するために、lightReading変数を用意(...
- setup関数で、シリアル通信の速度を9600ボーにセットし、”H...
- loop関数では、analogRead関数を使って光センサーから電圧...
- 最後のdelay(250)を入れないとシリアルポートに一度にたく...
今回はこれまで、次回をお楽しみに!
** 補足 [#yfbd17ae]
光センサーのパソコンに返す値とセンサーの電圧との関係を分...
以下がテスターの値です。
&ref(Light_Volt.png);
シリアルモニターに返された値は、160近辺の値です。
&ref(Light_Value.png);
Arduinoは、4.78Vで動いていましたので、予想される値149と大...
((光センサーの値は結構振れ幅があるのと、測定タイミングず...
- 予想されるパソコンの値: 0.695/4.78 * 1023 = 149
** コメント [#k6c7222d]
#vote(おもしろかった[6],そうでもない[0],わかりずらい[0])
皆様のご意見、ご希望をお待ちしております。勉強会で分から...
スパム防止に画像の文字列も入力してください。
#comment_kcaptcha
終了行:
[[Arduino勉強会]]
#contents
2014/02/15からのアクセス回数 &counter;
私たちのArduino勉強会は、小学生、ご婦人から目の見えない方...
できるだけ、初心者でも分かるように、またArduino経験者にも...
** LEDチカチカ [#qa6429d5]
[[Arduino勉強会/01-Arduinoのセットアップ]]の最後に使ったB...
説明します。小学生もいるので、Blinkのコメントを日本語にし...
Arduinoではプログラムをスケッチと呼びます。
((Arduinoの兄弟プロジェクトProcessingでも同様にスケッチと...
Arduinoでは、//から行末までと/* から */までがコメントとし...
Blinkのスケッチ(行番号を追加)を見ながら、簡単に動作を説...
#pre{{
1 /*
2 Blink
3 1秒LEDを点灯し、次の1秒は消灯、これを繰り返し...
4
5 この例題はパブリックドメイン(自由に使ってよ...
6 */
7
8 // ほとんどのArduinoボードでは、13ピンにLEDが接...
9 // 13番ピンにledという名前を付けます.
10 int led = 13;
11
12 // Arduinoに電源を入れたり、リセットボタンを押...
13 void setup() {
14 // ledのデジタルピンを出力用に初期化します.
15 pinMode(led, OUTPUT);
16 }
17
18 // loop関数は無限に繰り返します.
19 void loop() {
20 digitalWrite(led, HIGH); // LEDを点灯する(...
21 delay(1000); // 1秒間待つ
22 digitalWrite(led, LOW); //電圧をLOWにして...
23 delay(1000); // 1秒間待つ
24 }
}}
- Blinkスケッチの説明(1から6行目まで)
- 変数ledにLEDの13番をセット(10行目)
- setup関数でledの13番のデジタルピンを出力用に初期化(13...
- loopは無限に呼び出される関数で、その中でLEDの点灯、1秒...
たったこれだけのスケッチでLEDチカチカができるのがArduino...
*** 困ったときの対処 [#b25ac357]
上手く動かないと困ったときには、日本語のマニュアルが役に...
Arduinoの日本語のマニュアルが武蔵野電波のホームページ
[[Arduinoマニュアル>http://www.musashinodenpa.com/arduino...
に公開されていますので、分からない場合は参照して下さい。
** ProtoSnap Pro Miniボードの特徴 [#y573bae0]
どんなArduinoを用意したら、初心者にも使ってもらえるか色々...
いくつかの実験ができ、後でブレッドボードを使った実験にス...
[[ProtoSnap Pro Mini QUickstart Guide>https://www.sparkfu...
を使うことにしました。
&ref(ProtoSnap_Pro_Mini.png);
ProtoSnap Pro Miniには、Arduinoを試すために必要な以下のも...
- Arduino UNOをブレッドボードで使えるサイズに小さくしたAr...
- パソコンと通信したりプログラムを書き込む時に使用する通...
- タクトスイッチ
- 光センサー
- カラー(RGB)LED
- ブザー
部品とArduino Pro Miniのピンの接続は以下のようになってい...
| 部品のピン | Arduino Pro Miniのピン |h
| ボタン | 7 |
| 光センサー | A0 |
| 緑のLED | 5 |
| 青のLED | 6 |
| 赤のLED | 3 |
| ブザー | 2 |
** スイッチとLEDを連動させる [#z694edde]
ProtoSnap Pro Miniボードの部品を使って色々な実験をしまし...
Arduino IDEからファイル→新規ファイルを選択し、以下のスケ...
#pre{{
int buttonPin = 7; // ボタンは 7番ピンにつながっています
int ledPin = 13; // LEDは 13番ピンにつながっています
int buttonStatus; // ボタンの状態を保持するための変数
void setup() {
pinMode(buttonPin, INPUT); // ボタンピンを入力として初...
pinMode(ledPin, OUTPUT); // LEDピンを出力として初期設定
}
void loop() {
/* 最初にボタンの状態を読み込みます
HIGH = ボタンが押されていない状態
LOW = ボタンが押されている状態 */
buttonStatus = digitalRead(buttonPin);
if (buttonStatus == LOW) {
digitalWrite(ledPin, HIGH); // ボタンが押されていた...
}
else {
digitalWrite(ledPin, LOW); // そうでなければLEDを消す
}
}
}}
Blinkと同様に書き込みボタンをクリックしてスケッチをArduin...
ボタンを押すとLEDが点灯することを確認してください。
Blinkスケッチとの違いを見ながら、スケッチの説明をします。
- LEDのピン番号13をledPin、ボタンスイッチのピン番号7をbut...
- setup関数では、buttonPinのモードをINPUTに初期化しています
- digitalReadがデジタルピンの値(HIGH、LOW)を読み込む関...
digitalReadで読み込んだ結果をbuttonStatusにセットします.
- if文は、条件によって処理が分かれる部分です。{}で括った...
#pre{{
if(条件)
条件が真の時に処理するブロック
else
条件が偽の時に処理するブロック
}}
if文の使い方が分かったところで、どうしてbuttonStatusがLOW...
その理由を簡単に説明します。
以下の図がボタンの回路です。ボタンを押していないときには...
そのため、buttonStatusがLOWの時にLEDを点灯しているのです。
&ref(Button_sch.png);
** 光センサーの電圧を測ってみる [#b8f9e0d0]
これまでは、デジタルピンを使ってきましたが、電圧を読み込...
アナログピンの電圧を読み込むときには、analogRead関数を使...
光センサーは、A0のアナログピンにつながっていますので、光...
どのように光センサーの電圧を読み込んでいるのか説明するよ...
まず、以下のスケッチをArduinoに書き込んで下さい(CTRL-U)...
#pre{{
int lightPin = A0; // 光センサーはA0につながっている
int lightReading; // 光センサーからの値を保持する変数
void setup() {
/* シリアル通信の速度を9600ボーにセットし、最初にHello…...
Serial.begin(9600);
Serial.println("Hello world, let's read some light sens...
}
void loop() {
lightReading = analogRead(lightPin); // 光センサーから...
Serial.println(lightReading, DEC); // 読み込んだ値をシ...
delay(250); // 次の読み込みまで待つ
}
}}
*** 光センサーの測定結果をパソコンに送る [#g393d20d]
光センサーの測定結果をみるために、光センサーの値をシリア...
Arduino IDEのツールメニューからシリアルモニターを選択(CT...
ここで、右下の転送速度が9600 baud(ボーと呼びます)になっ...
次々にArduinoの光センサーから読み取られた値がパソコンに送...
&ref(Serial_monitor.png);
*** スケッチの説明 [#u367c404]
スケッチの動きが分かったところで、スケッチの中身を見てい...
- 光センサーは、アナログピンA0につながっているので、light...
- 読み込んだ値を保持するために、lightReading変数を用意(...
- setup関数で、シリアル通信の速度を9600ボーにセットし、”H...
- loop関数では、analogRead関数を使って光センサーから電圧...
- 最後のdelay(250)を入れないとシリアルポートに一度にたく...
今回はこれまで、次回をお楽しみに!
** 補足 [#yfbd17ae]
光センサーのパソコンに返す値とセンサーの電圧との関係を分...
以下がテスターの値です。
&ref(Light_Volt.png);
シリアルモニターに返された値は、160近辺の値です。
&ref(Light_Value.png);
Arduinoは、4.78Vで動いていましたので、予想される値149と大...
((光センサーの値は結構振れ幅があるのと、測定タイミングず...
- 予想されるパソコンの値: 0.695/4.78 * 1023 = 149
** コメント [#k6c7222d]
#vote(おもしろかった[6],そうでもない[0],わかりずらい[0])
皆様のご意見、ご希望をお待ちしております。勉強会で分から...
スパム防止に画像の文字列も入力してください。
#comment_kcaptcha
ページ名:
SmartDoc