Arduino勉強会/0K-Arduino3.3V版でlbeDuinoを使う
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[Arduino勉強会]]
#contents
2015/04/05からのアクセス回数 &counter;
** lbeDuino開発の思い [#h226c4e7]
鈴木哲哉さんの著書
[[作って遊べるArduino互換機 >http://www.amazon.co.jp/dp/4...
に紹介されているArduino変換基板というアイディアを元にUnCo...
LPC1114FN28でプログラム(スケッチ)やライブラリ、上に載せ...
EclipseベースのLpcExpressoを使ったソースレベルのデバッグ...
環境を提供することが、lbeDuino開発の願いです。
*** 変換基板の改造 [#ea9386f3]
ArduinoのSoftI2CMasterを使って何とかソフトウェアレベルでl...
共有できないかと頑張ってみたのですが、I2CベースのLCDがど...
[[Arduino勉強会/0H-アイロンプリントのすすめ]]
で作成した、lbeDuino用Arduino変換シールドに以下のようなジ...
&ref(exchange_jumper.png); &ref(exchange_arduino.png);
** UnCompatino 3.3Vで試すlbeDuinoサンプル [#kd22ff2e]
[[Arduino勉強会/0F-lbeDuino誕生]]
で紹介した例題を使ってArduinoでmbed(lbeDuino)風のプログ...
最初に使用するArduinoをIDEに知らせるため、ツール→マイコン...
次に、シリアルポートセットしてください。((ArduinoをUSBケ...
*** BlinkLED(LEDの点滅) [#h20a9e99]
最初は、DigitalOut(デジタル出力クラス)を使ったLEDの点滅...
からはじめましょう。
まず、BlinkLEDスケッチを読み込みます。
ファイル→スケッチの例→lbeDuino→BlinkLEDを選択すると、以下...
#pre{{
/*
BlinkLED(LEDの点滅)
1秒間隔でLEDを点滅します。
*/
#include "lbed.h"
// D13番ピンに接続されたLEDを使用
DigitalOut led(D13);
// リセット時に呼び出されるsetupでは、特に処理は必要あり...
void setup() {
}
// 毎回呼び出されるloopで、ledを切り替えて1秒待ちます。
void loop() {
led = !led; // LEDを切り替える(点灯→消灯、消灯→...
wait_ms(1000); // 1秒待つ(1000ミリ秒=1秒)
}
}}
DigitalOutクラスのledには、0と1のいずれかの値を持ちます。...
とても直感的な表現がmbedのクラスの特徴です。
次にファイル→マイコンボードに書き込むを選択して、スケッチ...
&ref(BlinkLED.png);
*** ButtonSwitch(ボタンスイッチの例) [#hfb57ff3]
次に、ボタンスイッチを押したときにArduinoのLEDを点灯させ...
以下の図のようにブレッドボードに回路を組みます。
抵抗は、10kΩを使います。今回は、Arduino3.3V版を使用します...
ブレッドボードの電源ライン(赤の線)には、Arduinoの3.3Vを...
&ref(ButtonSwitch_Brd.png);
ファイル→スケッチの例→lbeDuino→ButtonSwitchを選択してスケ...
#pre{{
/*
ButtonSwitch(ボタンスイッチの例)
ボタンを押すとLEDが点灯します。
*/
#include "lbed.h"
// D13番ピンに接続されたLEDを使用
DigitalOut led(D13);
// D7番ピンに接続されたタクトスイッチを使用
DigitalIn sw(D7);
// リセット時に呼び出されるsetupでは、特に処理は必要あり...
void setup() {
}
// 毎回呼び出されるloopで、タクトスイッチの値を読んで、LE...
void loop() {
led = !sw; // タクトスイッチは押すと0になるので、!...
wait_ms(200); // 200ミリ秒待つ
}
}}
スケッチをArduinoに書き込んで、タクトスイッチを押してみて...
&ref(ButtonSwitch.png);
*** Buzzer(ブザーの例) [#p02cef66]
ボタンスイッチの応用として、LEDの代わりに圧電ブザーを鳴ら...
ボタンスイッチの回路に以下のようにブザーを追加します。ブ...
&ref(Buzzer_brd.png);
ファイル→スケッチの例→lbeDuino→Buzzerを選択してスケッチを...
単なるブザーだと芸がないので、ド、レ、ミの音階を出してみ...
#pre{{
/*
Buzzer(ブザーの例)
ボタンを押すと圧電ブザーがド、レ、ミと鳴ります。
*/
#include "lbed.h"
int duration = 500;
// D7番ピンに接続されたタクトスイッチを使用
DigitalIn sw(D7);
// D3番ピンに接続された圧電ブザーを使用
Tone buzzer(D3); // #A
// リセット時に呼び出されるsetupでは、特に処理は必要あり...
void setup() {
}
// 毎回呼び出されるloopで、タクトスイッチの値を読んで、ブ...
void loop() {
if (!sw) { // #B
buzzer.tone(262, duration); // ド, 500 msec
wait_ms(500);
buzzer.tone(294, duration); // レ, 500 msec
wait_ms(500);
buzzer.tone(330, duration); // ミ, 500 msec
}
}
}}
- #A: LEDの代わりに、Toneのbuzzerをピン番号D3に作成します
- #B: swが押された(値が0なので、!を付けて真にしています...
スケッチをArduinoに書き込んで、タクトスイッチを押してみて...
&ref(Buzzer.png);
*** 電圧の読込(可変抵抗を使った例) [#a6f10d75]
AnalogInを使って、可変抵抗(potentiometer)の電圧を読み込...
以下の様に可変抵抗の真ん中の線をArduinoのA0につなぎ、両端...
&ref(potentiometer.png);
ファイル→スケッチの例→lbeDuino→PotentioMeterを選択してス...
#pre{{
/*
PotentioMeter(電圧測定の例)
電圧が規定電圧(3.3V)の0.1倍になったらLEDを消します。
*/
#include "lbed.h"
// D13番ピンに接続されたLEDを使用
DigitalOut led(D13);
// A0番をアナログ入力に使用
AnalogIn sensor(A0); // #A
// リセット時に呼び出されるsetupでは、特に処理は必要あり...
void setup() {
}
// 毎回呼び出されるloopで、potentiometerの値を読んで、0.3...
void loop() {
float value = sensor;
if (value > 0.1) // #B
led = 1;
else
led = 0;
wait_ms(200); // 200ミリ秒待つ
}
}}
** UnCompatino 3.3VとArduino変換シールドで試すlbeDuinoサ...
次に変換シールドと連結してlbeDuinoのシールドを使ってみま...
シールドの作り方は、[[Arduino勉強会/0G-lbeDuinoシールドを...
*** I2cLCDシールド [#v2396b07]
以下の様にArduino変換シールドとI2cLCDシールドをセットしま...
&ref(I2cLCDSheild.png);
ファイル→スケッチの例→lbeDuino→I2cLCDSheildを選択してスケ...
#pre{{
#include "lbed.h"
#include "AQCM0802.h"
// D13番ピンにLEDを接続
DigitalOut led(D13);
// D8番ピンSDA, D9番ピンSCL. ArduinoではハードI2Cを使用し...
AQCM0802 lcd(D8, D9);
// タクトスイッチ
DigitalIn sw1(D2);
DigitalIn sw2(D3);
void setup() {
sw1.mode(PullUp);
sw2.mode(PullUp);
lcd.setup();
lcd.print("I2C LCD");
}
void loop() {
led = !led;
lcd.locate(0, 1);
if (!sw1) {
lcd.print("SW1 On ");
}
else if (!sw2) {
lcd.print("SW2 On ");
}
else {
lcd.print("All Off");
}
wait_ms(1000);
}
}}
lbeDuinoの例題と同じスケッチでArduinoでもI2cLCDSheildが動...
*** 非接触温度計TMP006シールド [#oa78d21f]
最後に、バッテリーシールドと非接触温度計TMP006シールドを...
&ref(TMP006Sheild.png);
ファイル→スケッチの例→lbeDuino→I2cLCDSheildを選択してスケ...
#pre{{
#include "lbed.h"
#include "TMP006.h"
#include "AQCM0802.h"
#define Address (0x40<<1)
// D8番ピンSDA, D9番ピンSCL
TMP006 sensor(D8, D9, Address);
AQCM0802 lcd(D8, D9);
void setup() {
lcd.setup();
sensor.config(Address, 8);
}
void loop() {
lcd.locate(0, 0);
lcd.print("DieTemp: ");
lcd.print(sensor.readDieTempC(Address), 2);
lcd.locate(0, 1);
lcd.print("ObjTemp: ");
lcd.print(sensor.readObjTempC(Address), 2);
wait_ms(1000);
}
}}
手を近づけるとObjTempが高くなります。DieTempは、センサー...
** lbeDuinoForArduinoのインストール方法 [#ud0c3a93]
以下のZIPファイルをダウンロードして、解凍して作成されたlb...
- &ref(lbeDuinoForArduino.zip);
最新のソースは、Githubからダウンロードすることができます。
以下のURLでGithubのlbedのページを表示して、Download ZIPボ...
- https://github.com/take-pwave/lbed
解凍したフォルダーのArduino/lbeDuinoとArduino/lbeDuinoUse...
** コメント [#h0629bfe]
#vote(おもしろかった[1],そうでもない[0],わかりずらい[0])
皆様のご意見、ご希望をお待ちしております。勉強会で分から...
スパム防止に画像の文字列も入力してください。
#comment_kcaptcha
終了行:
[[Arduino勉強会]]
#contents
2015/04/05からのアクセス回数 &counter;
** lbeDuino開発の思い [#h226c4e7]
鈴木哲哉さんの著書
[[作って遊べるArduino互換機 >http://www.amazon.co.jp/dp/4...
に紹介されているArduino変換基板というアイディアを元にUnCo...
LPC1114FN28でプログラム(スケッチ)やライブラリ、上に載せ...
EclipseベースのLpcExpressoを使ったソースレベルのデバッグ...
環境を提供することが、lbeDuino開発の願いです。
*** 変換基板の改造 [#ea9386f3]
ArduinoのSoftI2CMasterを使って何とかソフトウェアレベルでl...
共有できないかと頑張ってみたのですが、I2CベースのLCDがど...
[[Arduino勉強会/0H-アイロンプリントのすすめ]]
で作成した、lbeDuino用Arduino変換シールドに以下のようなジ...
&ref(exchange_jumper.png); &ref(exchange_arduino.png);
** UnCompatino 3.3Vで試すlbeDuinoサンプル [#kd22ff2e]
[[Arduino勉強会/0F-lbeDuino誕生]]
で紹介した例題を使ってArduinoでmbed(lbeDuino)風のプログ...
最初に使用するArduinoをIDEに知らせるため、ツール→マイコン...
次に、シリアルポートセットしてください。((ArduinoをUSBケ...
*** BlinkLED(LEDの点滅) [#h20a9e99]
最初は、DigitalOut(デジタル出力クラス)を使ったLEDの点滅...
からはじめましょう。
まず、BlinkLEDスケッチを読み込みます。
ファイル→スケッチの例→lbeDuino→BlinkLEDを選択すると、以下...
#pre{{
/*
BlinkLED(LEDの点滅)
1秒間隔でLEDを点滅します。
*/
#include "lbed.h"
// D13番ピンに接続されたLEDを使用
DigitalOut led(D13);
// リセット時に呼び出されるsetupでは、特に処理は必要あり...
void setup() {
}
// 毎回呼び出されるloopで、ledを切り替えて1秒待ちます。
void loop() {
led = !led; // LEDを切り替える(点灯→消灯、消灯→...
wait_ms(1000); // 1秒待つ(1000ミリ秒=1秒)
}
}}
DigitalOutクラスのledには、0と1のいずれかの値を持ちます。...
とても直感的な表現がmbedのクラスの特徴です。
次にファイル→マイコンボードに書き込むを選択して、スケッチ...
&ref(BlinkLED.png);
*** ButtonSwitch(ボタンスイッチの例) [#hfb57ff3]
次に、ボタンスイッチを押したときにArduinoのLEDを点灯させ...
以下の図のようにブレッドボードに回路を組みます。
抵抗は、10kΩを使います。今回は、Arduino3.3V版を使用します...
ブレッドボードの電源ライン(赤の線)には、Arduinoの3.3Vを...
&ref(ButtonSwitch_Brd.png);
ファイル→スケッチの例→lbeDuino→ButtonSwitchを選択してスケ...
#pre{{
/*
ButtonSwitch(ボタンスイッチの例)
ボタンを押すとLEDが点灯します。
*/
#include "lbed.h"
// D13番ピンに接続されたLEDを使用
DigitalOut led(D13);
// D7番ピンに接続されたタクトスイッチを使用
DigitalIn sw(D7);
// リセット時に呼び出されるsetupでは、特に処理は必要あり...
void setup() {
}
// 毎回呼び出されるloopで、タクトスイッチの値を読んで、LE...
void loop() {
led = !sw; // タクトスイッチは押すと0になるので、!...
wait_ms(200); // 200ミリ秒待つ
}
}}
スケッチをArduinoに書き込んで、タクトスイッチを押してみて...
&ref(ButtonSwitch.png);
*** Buzzer(ブザーの例) [#p02cef66]
ボタンスイッチの応用として、LEDの代わりに圧電ブザーを鳴ら...
ボタンスイッチの回路に以下のようにブザーを追加します。ブ...
&ref(Buzzer_brd.png);
ファイル→スケッチの例→lbeDuino→Buzzerを選択してスケッチを...
単なるブザーだと芸がないので、ド、レ、ミの音階を出してみ...
#pre{{
/*
Buzzer(ブザーの例)
ボタンを押すと圧電ブザーがド、レ、ミと鳴ります。
*/
#include "lbed.h"
int duration = 500;
// D7番ピンに接続されたタクトスイッチを使用
DigitalIn sw(D7);
// D3番ピンに接続された圧電ブザーを使用
Tone buzzer(D3); // #A
// リセット時に呼び出されるsetupでは、特に処理は必要あり...
void setup() {
}
// 毎回呼び出されるloopで、タクトスイッチの値を読んで、ブ...
void loop() {
if (!sw) { // #B
buzzer.tone(262, duration); // ド, 500 msec
wait_ms(500);
buzzer.tone(294, duration); // レ, 500 msec
wait_ms(500);
buzzer.tone(330, duration); // ミ, 500 msec
}
}
}}
- #A: LEDの代わりに、Toneのbuzzerをピン番号D3に作成します
- #B: swが押された(値が0なので、!を付けて真にしています...
スケッチをArduinoに書き込んで、タクトスイッチを押してみて...
&ref(Buzzer.png);
*** 電圧の読込(可変抵抗を使った例) [#a6f10d75]
AnalogInを使って、可変抵抗(potentiometer)の電圧を読み込...
以下の様に可変抵抗の真ん中の線をArduinoのA0につなぎ、両端...
&ref(potentiometer.png);
ファイル→スケッチの例→lbeDuino→PotentioMeterを選択してス...
#pre{{
/*
PotentioMeter(電圧測定の例)
電圧が規定電圧(3.3V)の0.1倍になったらLEDを消します。
*/
#include "lbed.h"
// D13番ピンに接続されたLEDを使用
DigitalOut led(D13);
// A0番をアナログ入力に使用
AnalogIn sensor(A0); // #A
// リセット時に呼び出されるsetupでは、特に処理は必要あり...
void setup() {
}
// 毎回呼び出されるloopで、potentiometerの値を読んで、0.3...
void loop() {
float value = sensor;
if (value > 0.1) // #B
led = 1;
else
led = 0;
wait_ms(200); // 200ミリ秒待つ
}
}}
** UnCompatino 3.3VとArduino変換シールドで試すlbeDuinoサ...
次に変換シールドと連結してlbeDuinoのシールドを使ってみま...
シールドの作り方は、[[Arduino勉強会/0G-lbeDuinoシールドを...
*** I2cLCDシールド [#v2396b07]
以下の様にArduino変換シールドとI2cLCDシールドをセットしま...
&ref(I2cLCDSheild.png);
ファイル→スケッチの例→lbeDuino→I2cLCDSheildを選択してスケ...
#pre{{
#include "lbed.h"
#include "AQCM0802.h"
// D13番ピンにLEDを接続
DigitalOut led(D13);
// D8番ピンSDA, D9番ピンSCL. ArduinoではハードI2Cを使用し...
AQCM0802 lcd(D8, D9);
// タクトスイッチ
DigitalIn sw1(D2);
DigitalIn sw2(D3);
void setup() {
sw1.mode(PullUp);
sw2.mode(PullUp);
lcd.setup();
lcd.print("I2C LCD");
}
void loop() {
led = !led;
lcd.locate(0, 1);
if (!sw1) {
lcd.print("SW1 On ");
}
else if (!sw2) {
lcd.print("SW2 On ");
}
else {
lcd.print("All Off");
}
wait_ms(1000);
}
}}
lbeDuinoの例題と同じスケッチでArduinoでもI2cLCDSheildが動...
*** 非接触温度計TMP006シールド [#oa78d21f]
最後に、バッテリーシールドと非接触温度計TMP006シールドを...
&ref(TMP006Sheild.png);
ファイル→スケッチの例→lbeDuino→I2cLCDSheildを選択してスケ...
#pre{{
#include "lbed.h"
#include "TMP006.h"
#include "AQCM0802.h"
#define Address (0x40<<1)
// D8番ピンSDA, D9番ピンSCL
TMP006 sensor(D8, D9, Address);
AQCM0802 lcd(D8, D9);
void setup() {
lcd.setup();
sensor.config(Address, 8);
}
void loop() {
lcd.locate(0, 0);
lcd.print("DieTemp: ");
lcd.print(sensor.readDieTempC(Address), 2);
lcd.locate(0, 1);
lcd.print("ObjTemp: ");
lcd.print(sensor.readObjTempC(Address), 2);
wait_ms(1000);
}
}}
手を近づけるとObjTempが高くなります。DieTempは、センサー...
** lbeDuinoForArduinoのインストール方法 [#ud0c3a93]
以下のZIPファイルをダウンロードして、解凍して作成されたlb...
- &ref(lbeDuinoForArduino.zip);
最新のソースは、Githubからダウンロードすることができます。
以下のURLでGithubのlbedのページを表示して、Download ZIPボ...
- https://github.com/take-pwave/lbed
解凍したフォルダーのArduino/lbeDuinoとArduino/lbeDuinoUse...
** コメント [#h0629bfe]
#vote(おもしろかった[1],そうでもない[0],わかりずらい[0])
皆様のご意見、ご希望をお待ちしております。勉強会で分から...
スパム防止に画像の文字列も入力してください。
#comment_kcaptcha
ページ名:
SmartDoc