アフィリエイト広告を利用しています
アクセスカウンター
ファン
<< 2018年08月 >>
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
最新記事
写真ギャラリー
カテゴリーアーカイブ
タグクラウド
月別アーカイブ
日別アーカイブ
最新コメント

広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

2016年09月24日

A6:5 高度な入力と出力:アナログ入出力 LEDランプ作成

アナログ入力+PWM出力 LEDランプ作成

前々回前回、の『Arduinoをはじめよう 第3版』第4章スケッチ入門 ではLEDをデジタル入出力制御しました

第5章 高度な入力と出力ではアナログ入出力LEDランプを作るようです

Arduinoをはじめよう 第3版 (Make:PROJECTS)

新品価格
¥2,160から


  ページ 実行内容                  スケッチ
  051  ゆっくり明滅するLED            E.5-1
  053  ボタンでLEDの明るさを調節する       E.5-2
  057  アナログ入力に応じてLED点滅レートが変化  E.5-3
  057  アナログ入力に応じてLEDの明るさを変える  E.5-4
  059  アナログ入力ピンの値をコンピュータへ送る   E.5-5


第5章の流れは以下のようになっています

        E.5-1 アナログ出力
        E.5-2 デジタル入力、アナログ出力
        E.5-3 アナログ入力、デジタル出力
        E.5-4 アナログ入力、アナログ出力
        E.5-5 シリアル通信 

051 ゆっくり明滅するLED:E.5-1

(1)回路設計

目的: PWM出力でLEDをゆっくり明滅させます
    (アナログ出力)

材料: Mac (Arduino IDE), Arduino UNOボード, LED x1,
    ブレッドボード, ジャンプワイヤ, 抵抗器(1KΩ)
回路: 回路5-1
回路5-1.png

ここの抵抗は220Ω以上を用いることになってますが、『Arduinoをはじめよう 互換キット』では200Ωの次に大きいものが1KΩでした

IMG_4104.jpg

Arduinoをはじめよう 互換キット UNO R3対応互換ボード 初心者専用実験キット 基本部品セット20 in 1 Arduino sidekick basic kit

新品価格
¥3,780から


(2)プログラミング

※スケッチ は、原書版で公開されているスケッチデータを用います
(以下Example 5-5まで同様)

E5_1_Fade
――――――――――(Example 5-1)――――――――――
// Fade an LED in and out, like on a sleeping Apple computer

const int LED = 9; // the pin for the LED
int i = 0; // We'll use this to count up and down

void setup() {
pinMode(LED, OUTPUT); // tell Arduino LED is an output
}

void loop(){

for (i = 0; i < 255; i++) { // loop from 0 to 254 (fade in)
analogWrite(LED, i); // set the LED brightness
delay(10); // Wait 10ms because analogWrite
// is instantaneous and we would
// not see any change
}

for (i = 255; i > 0; i--) { // loop from 255 to 1 (fade out)

analogWrite(LED, i); // set the LED brightness
delay(10); // Wait 10ms
}

}

―――――――――――――――――――――――――――

(3)実行


YouTube https://youtu.be/pfwub5ADuO8

白色LEDがゆっくり明るくなったり暗くなったりします

スケッチに"like on a sleeping Apple computer"とありますが、ちょうどMacBookのスリープインジケータライト (SIL)のような動きをします

053 ボタンでLEDの明るさを調節する:E.5-2

次は、回路5-1にプッシュボタンを追加し、ボタンの押し方でLEDの点灯や明るさを調節します

(1)回路設計

目的: ブッシュボタンの押し方でLEDの点灯・消灯と明るさを制御する
    (デジタル入力、アナログ出力)

材料: Mac (Arduino IDE), Arduino UNOボード, LED x1,
    ブレッドボード, ジャンプワイヤ, 抵抗器(1KΩ),
    抵抗器(10KΩ), プッシュボタン(タクトスイッチ)
回路: 回路5-2
回路5-2.png

(2)プログラミング

@ボタンを押してすぐに離した時はLEDの点灯、消灯を行い、

Aボタンを押し続ける(500 ms以上)とLEDの明るさが変化し、離した時点の明るさで固定するようにします


E5_2_ButtonHold
――――――――――(Example 5-2)――――――――――
// Sketch to change the brightness as you hold the button

const int LED = 9; // the pin for the LED
const int BUTTON = 7; // input pin of the pushbutton

int val = 0; // stores the state of the input pin

int old_val = 0; // stores the previous value of "val"
int state = 0; // 0 = LED off while 1 = LED on

int brightness = 128; // Stores the brightness value
unsigned long startTime = 0; // when did we begin pressing?

void setup() {
pinMode(LED, OUTPUT); // tell Arduino LED is an output
pinMode(BUTTON, INPUT); // and BUTTON is an input
}

void loop() {

val = digitalRead(BUTTON); // read input value and store it
// yum, fresh

// check if there was a transition
if ((val == HIGH) && (old_val == LOW)) {

state = 1 - state; // change the state from off to on
// or vice-versa

startTime = millis(); // millis() is the Arduino clock
// it returns how many milliseconds
// have passed since the board has
// been reset.

// (this line remembers when the button
// was last pressed)
delay(10);
}

// check whether the button is being held down
if ((val == HIGH) && (old_val == HIGH)) {

// If the button is held for more than 500 ms.
if (state == 1 && (millis() - startTime) > 500) {

brightness++; // increment brightness by 1
delay(10); // delay to avoid brightness going
// up too fast

if (brightness > 255) { // 255 is the max brightness

brightness = 0; // if we go over 255
// let's go back to 0
}
}
}

old_val = val; // val is now old, let's store it

if (state == 1) {
analogWrite(LED, brightness); // turn LED ON at the
// current brightness level

} else {
analogWrite(LED, 0); // turn LED OFF
}
}

―――――――――――――――――――――――――――

(3)実行


YouTube https://youtu.be/f2FFqEMreLg

素早くボタンを押すとLEDが点いたり消えたりします

長押しするとLEDがゆっくり明るくなったり暗くなったりし、ボタンから指を離した時の明るさで固定されます

057 アナログ入力に応じてLED点滅レートが変化:E.5-3

ここでは光センサを用いてアナログ入力を行い、その値に応じてLEDの点滅レートを制御します

(1)回路設計

目的: 光センサでLEDの点滅レートを制御する
    (アナログ入力、デジタル出力)

材料: Mac (Arduino IDE), Arduino UNOボード, LED x1,
    ブレッドボード, ジャンプワイヤ, 抵抗器(10KΩ),
    光センサ
回路: 回路5-3
回路5-3.png

(2)プログラミング

E5_3_BlinkRate
――――――――――(Example 5-3)――――――――――
// Blink LED at a rate specified by the value of the analogue input

const int LED = 13; // the pin for the LED

int val = 0; // variable used to store the value
// coming from the sensor
void setup() {
pinMode(LED, OUTPUT); // LED is as an OUTPUT

// Note: Analogue pins are
// automatically set as inputs
}

void loop() {

val = analogRead(0); // read the value from
// the sensor

digitalWrite(LED, HIGH); // turn the LED on

delay(val); // stop the program for
// some time

digitalWrite(LED, LOW); // turn the LED off

delay(val); // stop the program for
// some time
}

―――――――――――――――――――――――――――
(3)実行


YouTube https://youtu.be/DZOdyblJW3s

光センサに当たる光の量によって13番ピンLEDの点滅スピードが変化します

(動画は最後にまとめて示します:Example 5-3)
057 アナログ入力に応じてLEDの明るさを変える:E.5-4


続いて、PWM出力(アナログ出力)の9番ピンにLEDを接続し、光センサの値に応じてLEDの明るさを制御します

(1)回路設計

目的: 光センサでLEDの明るさを制御する
    (アナログ入力、アナログ出力)

材料: Mac (Arduino IDE), Arduino UNOボード, LED x1,
    ブレッドボード, ジャンプワイヤ, 抵抗器(10KΩ),
    抵抗器(1KΩ), 光センサ
回路: 回路5-4
回路5-4.png

(2)プログラミング

E5_4_LEDBrightness
――――――――――(Example 5-4)――――――――――
// Set the LED to a brightness specified by the value of the analogue input

const int LED = 9; // the pin for the LED

int val = 0; // variable used to store the value
// coming from the sensor

void setup() {

pinMode(LED, OUTPUT); // LED is as an OUTPUT

// Note: Analogue pins are
// automatically set as inputs
}

void loop() {

val = analogRead(0); // read the value from
// the sensor
analogWrite(LED, val/4); // turn the LED on at
// the brightness set
// by the sensor

delay(10); // stop the program for
// some time
}

―――――――――――――――――――――――――――
(3)実行


YouTube https://youtu.be/SulvEn-6z3A

光センサに当たる光の量によって9番ピンLEDの明るさが変化します

059 アナログ入力ピンの値をコンピュータへ送る:E.5-5


Example 5-4で第5章の目的であるアナログ入出力LEDランプができました

これを応用すれば周りが暗くなるに従って明るくなるモニターやキーボードバックライトを作れるんですかね

最後に光センサを使ってアナログ入力の値を読み取るSerial monitorの使い方(シリアル通信)を学びます

(1)回路設計

回路5-4に同じ

(2)プログラミング

E5_5_Serial
――――――――――(Example 5-5)――――――――――
// Send the computer the values read from analogue input 0

const int SENSOR = 0; // select the input pin for the
// sensor resistor

int val = 0; // variable to store the value coming
// from the sensor

void setup() {

Serial.begin(9600); // open the serial port to send
// data back to the computer at
// 9600 bits per second
}

void loop() {

val = analogRead(SENSOR); // read the value from
// the sensor

Serial.println(val); // print the value to
// the serial port

delay(100); // wait 100ms between
// each send
}

―――――――――――――――――――――――――――
(3)実行


YouTube https://youtu.be/r10XHGNOJ2Y

Arduinoボードにスケッチを書き込み、Arduino IDEでSerial monitorボタンを押すと光センサからの値を表示します

Example 5-1〜5-5の動画まとめ

最後に今回のExample 5-1〜5-5の実験の動画を示します

YouTube  

以上で、『Arduinoをはじめよう 第3版』第5章のお勉強を終えます

ではまた〜


【永久保証付き】Arduino Uno

新品価格
¥3,240から


Raspberry Pi3 Model B ボード&ケースセット (Element14版, Clear)-Physical Computing Lab

新品価格
¥5,780から


Arduinoをはじめよう 第3版 (Make:PROJECTS)

新品価格
¥2,160から


Arduinoをはじめよう 互換キット UNO R3対応互換ボード 初心者専用実験キット 基本部品セット20 in 1 Arduino sidekick basic kit

新品価格
¥3,780から


Arduinoをはじめようキット

新品価格
¥4,310から


Arduino エントリーキット(Uno版)- Physical Computing Lab

新品価格
¥4,320から


タミヤ 楽しい工作シリーズ No.216 3ch RCロボット製作セット 70216

新品価格
¥6,327から


エレキット 水圧式ロボットアーム MR-9105

新品価格
¥4,560から


エレキット バトルタイタン2 MR-9101R

新品価格
¥3,163から


世界最小★OZO-010102-0102 World's Smallest SMART Robot - Dual Pack, 1 Crystal White & 1 Titanium Black 2 Bonus Limited-Edition Skins スマートロボット Ozobot社【並行輸入】

新品価格
¥6,000から


タミヤ 楽しい工作シリーズ No.211 アームクローラー工作セット 70211

新品価格
¥1,345から


タミヤ 楽しい工作シリーズ No.97 ツインモーターギヤーボックス (70097)

新品価格
¥587から


タミヤ 楽しい工作シリーズ No.106 4チャンネル・リモコンボックス (70106)

新品価格
¥1,118から


posted by riserobo: at 17:52| Comment(0) | TrackBack(0) | Arduino

2016年09月20日

A5:4 スケッチ入門:デジタル入出力 LEDランプ作成A


前回の続きです

  ページ  実行内容                スケッチ
  038   ボタンが押されている間、LEDを点ける  E.4-2
  040   ボタンを1回押すと点灯を続けるLED   E.4-3
  042   ボタンを押した時の挙動を改善      E.4-4
  043   バウンシングに対応した最終版      E.4-5

038 ボタンが押されている間、LEDを点ける:E.4-2

Example 4-1ではLEDが1秒ごとに点滅しましたが、

Example 4-2ではボタンを押している間だけLEDが点きます

(1)回路設計

目的: プッシュボタン(センサー)によりLEDの点灯を制御する

材料: Mac (Arduino IDE), Arduino UNOボード, LED x1,
    ブレッドボード, ジャンプワイヤ, 抵抗器(10KΩ),
    プッシュボタン(タクトスイッチ)
    
回路: 回路4-2

回路4-2.png

回路4-1にブッシュボタン制御用ブレッドボードを7番ピンに接続します

この回路に必要な部品は全て『Arduinoをはじめよう 互換キット UNO R3対応互換ボード』に入っていました

IMG_4104.jpg

Arduinoをはじめよう 互換キット UNO R3対応互換ボード 初心者専用実験キット 基本部品セット20 in 1 Arduino sidekick basic kit

新品価格
¥3,780から


(2)プログラミング

スケッチ:Example 4-2

上記スケッチ E.4-1同様、原書版で公開されているスケッチデータを用います(以下Example 4-5まで同様)

E4_2_LED_Button
――――――――――(Example 4-2)――――――――――
// Turn on LED while the button is pressed

const int LED = 13; // the pin for the LED
const int BUTTON = 7; // the input pin where the
// pushbutton is connected
int val = 0; // val will be used to store the state
// of the input pin

void setup() {
pinMode(LED, OUTPUT); // tell Arduino LED is an output
pinMode(BUTTON, INPUT); // and BUTTON is an input
}

void loop(){
val = digitalRead(BUTTON); // read input value and store it

// check whether the input is HIGH (button pressed)
if (val == HIGH) {
digitalWrite(LED, HIGH); // turn LED ON
} else {
digitalWrite(LED, LOW);
}
}

―――――――――――――――――――――――――――

(3)実行

実際に動かすと、ボタンを押している間だけLEDが点きます


YouTube https://youtu.be/dZq70-5B6Jw

40 ボタンを1回押すと点灯を続けるLED:E.4-3

Example 4-2のようにLEDを点灯させるためにボタンを押し続けなくてはいけないのは大変ですので、Example 4-3ではボタンを1回押すとLEDが点灯し、もう一度押すと消灯するようにしたい

(1)回路設計

Example 4-2に同じ

(2)プログラミング

スケッチ:Example 4-3

E4_3_LED_KeepOn
――――――――――(Example 4-3)――――――――――
// Turn on LED when the button is pressed and keep it on after it is released

const int LED = 13; // the pin for the LED
const int BUTTON = 7; // the input pin where the
// pushbutton is connected
int val = 0; // val will be used to store the state
// of the input pin
int state = 0; // 0 = LED off while 1 = LED on

void setup() {
pinMode(LED, OUTPUT); // tell Arduino LED is an output
pinMode(BUTTON, INPUT); // and BUTTON is an input
}

void loop() {
val = digitalRead(BUTTON); // read input value and store it

// check if the input is HIGH (button pressed)
// and change the state
if (val == HIGH) {
state = 1 - state;
}

if (state == 1) {
digitalWrite(LED, HIGH); // turn LED ON
} else {
digitalWrite(LED, LOW);
}
}

―――――――――――――――――――――――――――
Example 4-2からの変更点を赤字で示しています

(3)実行

ボタンを押すとLEDが点きます・・・が、押した時に点くか消えるかは気分次第というか・・・ランダムなような・・・押している時間依存的なような不安定な挙動をします


YouTube https://youtu.be/CeVU-okcHMA

これは state = 1 - state; によって

LEDの状態(state)が1(点灯)なら state = 1 - state(=1)=0(消灯)

LEDの状態(state)が0(消灯)なら state = 1 - state(=0)=1(点灯)

としてLEDの状態を変えますが、ボタンを押しているほんのすこしの間にこの状態変化の読み取りが次々と変化し偶然の結果としてどちらかの状態になりLEDが光ったり消えたりすることになります

LEDの点灯を偶然に任せるというのも面白いのですが、ここでは実用的になるように改良してます
042 ボタンを押した時の挙動を改善:E.4-4

Example 4-4ではExample 4-3の不具合をスケッチの改善する

(1)回路設計

Example 4-2に同じ

(2)プログラミング

スケッチ:Example 4-4

E4_4_NewImprovedButton
――――――――――(Example 4-4)――――――――――
// New and improved button press formula!

const int LED = 13; // the pin for the LED
const int BUTTON = 7; // the input pin where the
// pushbutton is connected
int val = 0; // val will be used to store the state
// of the input pin
int old_val = 0; // this variable stores the previous
// value of "val"
int state = 0; // 0 = LED off and 1 = LED on

void setup() {
pinMode(LED, OUTPUT); // tell Arduino LED is an output
pinMode(BUTTON, INPUT); // and BUTTON is an input
}
void loop(){
val = digitalRead(BUTTON); // read input value and store it
// yum, fresh

// check if there was a transition
if ((val == HIGH) && (old_val == LOW)){
state = 1 - state;
}

old_val = val; // val is now old, let's store it

if (state == 1) {
digitalWrite(LED, HIGH); // turn LED ON
} else {
digitalWrite(LED, LOW);
}
}

―――――――――――――――――――――――――――
Example 4-3からの変更点を赤字で示しています

ここでは押す前のボタンの状態をint old_val = 0; で保存して

((val == HIGH) && (old_val == LOW))で押した時のボタンの状態(val)がHIGHでかつ(&&)押す前のボタンの状態(old_val)がLOWの時 state = 1 - stateとすることでボタンを押している間にstateが変化しないようにしています

・・・ボタンでLEDを点けたり消したりするだけでこんなに面倒くさいことになるとは・・・σ(^_^;)

(3)実行

早速実行してみるとExample 4-3の時と違いがわかりませんσ(^_^;)



YouTube https://youtu.be/PX0DuWLJ8ZE

これはプッシュボタンの機械的な接触の問題でバウンスという現象の影響だそうで、delayを10〜50 msほど入れれば解消されるそうです
043 バウンシングに対応した最終版:E.4-5

Example 4-5でExample 4-4のバウンスの問題を解消する

(1)回路設計

Example 4-2に同じ

(2)プログラミング

スケッチ:Example 4-5

E4_5_DebounceWithButton
――――――――――(Example 4-5)――――――――――
// Another new and improved formula for button presses--with simple debouncing!

const int LED = 13; // the pin for the LED
const int BUTTON = 7; // the input pin where the
// pushbutton is connected
int val = 0; // val will be used to store the state
// of the input pin
int old_val = 0; // this variable stores the previous
// value of "val"
int state = 0; // 0 = LED off and 1 = LED on

void setup() {
pinMode(LED, OUTPUT); // tell Arduino LED is an output
pinMode(BUTTON, INPUT); // and BUTTON is an input
}

void loop(){
val = digitalRead(BUTTON); // read input value and store it
// yum, fresh

// check if there was a transition
if ((val == HIGH) && (old_val == LOW)){
state = 1 - state;
delay(10);
}

old_val = val; // val is now old, let's store it

if (state == 1) {
digitalWrite(LED, HIGH); // turn LED ON
} else {
digitalWrite(LED, LOW);
}
}

―――――――――――――――――――――――――――
Example 4-4からの変更点を赤字で示しています

ここでは state = 1 - state;の後に delay(10);を入れているだけです

(3)実行


YouTube https://youtu.be/Of-LSemRt64

ん? 確かにマシになっているように思いますが、まだちょっと不安定なような?

これはプッシュスイッチの問題かもしれないので、とりあえずこれで
Example 4-2からExample 4-5の結果

ここまで(Example 4-2からExample 4-5)のところを動画でまとめて示します

あまり代わり映えのしない映像なんでアレですが・・・


YouTube  https://youtu.be/bCn_khchi6g

『Arduinoをはじめよう 第3版』購入のすすめ

『Arduinoをはじめよう 第3版』の眼目はArduinoを用いる上での思想や開発の手順だったりします

このブログの内容はそこまで書かないので是非『Arduinoをはじめよう 第3版』を手にとってみてください

一通り読みましたがArduinoを基礎から学習する上でよくできた教科書と思います

ではでは


【永久保証付き】Arduino Uno

新品価格
¥3,240から


Raspberry Pi3 Model B ボード&ケースセット (Element14版, Clear)-Physical Computing Lab

新品価格
¥5,780から


Arduinoをはじめよう 第3版 (Make:PROJECTS)

新品価格
¥2,160から


Arduinoをはじめよう 互換キット UNO R3対応互換ボード 初心者専用実験キット 基本部品セット20 in 1 Arduino sidekick basic kit

新品価格
¥3,780から


Arduinoをはじめようキット

新品価格
¥4,310から


Arduino エントリーキット(Uno版)- Physical Computing Lab

新品価格
¥4,320から


タミヤ 楽しい工作シリーズ No.216 3ch RCロボット製作セット 70216

新品価格
¥6,327から


エレキット 水圧式ロボットアーム MR-9105

新品価格
¥4,560から


エレキット バトルタイタン2 MR-9101R

新品価格
¥3,163から


世界最小★OZO-010102-0102 World's Smallest SMART Robot - Dual Pack, 1 Crystal White & 1 Titanium Black 2 Bonus Limited-Edition Skins スマートロボット Ozobot社【並行輸入】

新品価格
¥6,000から


タミヤ 楽しい工作シリーズ No.211 アームクローラー工作セット 70211

新品価格
¥1,345から


タミヤ 楽しい工作シリーズ No.97 ツインモーターギヤーボックス (70097)

新品価格
¥587から


タミヤ 楽しい工作シリーズ No.106 4チャンネル・リモコンボックス (70106)

新品価格
¥1,118から


posted by riserobo: at 18:31| Comment(0) | TrackBack(0) | Arduino

2016年09月16日

A4:4 スケッチ入門:デジタル入出力 LEDランプ作成@

スケッチ入門@

今回は『Arduinoをはじめよう 第3版』の第4章 スケッチ入門にそってデジタル入出力 LEDランプ作成を行います

Arduinoをはじめよう 第3版 (Make:PROJECTS)

新品価格
¥2,160から


何かを作りながらArduinoの使い方になれましょうということですね

今回の内容はプロジェクト一覧(リンク)の次の部分になります

  ページ  実行内容                スケッチ
  028   LEDの点滅               E.4-1
  038   ボタンが押されている間、LEDを点ける  E.4-2
  040   ボタンを1回押すと点灯を続けるLED   E.4-3
  042   ボタンを押した時の挙動を改善      E.4-4
  043   バウンシングに対応した最終版      E.4-5

3つの段階

Arduinoのようなマイコンボードの学習方法は大きく3つの段階に分けられます

    (1)回路設計
    (2)プログラミング
    (3)実行

それぞれ行うことは以下の3つです

(1)回路設計でArduinoボードにつないだ回路を組み立て
(2)プログラム(Arduinoではスケッチ)をArduino IDEに入力し
(3)Arduino IDEでArduinoボードにスケッチを書き込み実行する

これから各実験はこの3つに分けて解説します
028 LEDの点滅:スケッチ E.4-1

(1)回路設計
目的: LEDを点滅させてArduinoの動作確認をする(いわゆるLチカ)

材料: Mac (Arduino IDE), Arduino UNOボード, LED x1

回路: 回路4-1
回路4-1.png
赤色LEDを13番ピン (A: アノード)とGND (K: カソード)に差します
"L”ラベルLEDが同じ13番につながっているので同じ挙動をします

写真: 写真4-1
IMG_4106.jpg
色が付いていないのでわかりにくいですが赤色LEDです

(2)プログラミング

スケッチ:E.4-1

『Arduinoをはじめよう 第3版』の028ページに本実験に用いるスケッチ Example (E.) 4-1が掲載されています

これをそのままここに書き写すとまずいかもしれないので・・・

さて、どうしようかなと思っていたら、『Arduinoをはじめよう 第3版』の原書『Getting Started with Arduino, 3rd Edition』(O’REILLY)のWebページに本書で用いるスケッチのzipファイルへのリンクがありましたのでそれを参照します

英語なので本書のスケッチとはちょっと違うのですが・・・

E4_1_BlinkingLED1000
―――――――――――――(Example 4-1)―――――――――――――
// Blinking LED

const int LED = 13; // LED connected to
// digital pin 13

void setup()
{
pinMode(LED, OUTPUT); // sets the digital
// pin as output
}

void loop()
{
digitalWrite(LED, HIGH); // turns the LED on
delay(1000); // waits for a second
digitalWrite(LED, LOW); // turns the LED off
delay(1000); // waits for a second
}

―――――――――――――――――――――――――――――――――
Example 4-1ではLEDが1秒(1000 ms)ごとに点滅します

C言語や組み込み用のプログラミングをやったことがあれば、「なるほど」となりそうだけど、「ん?こんなんでいいんだっけ?」という感じもします

詳しい解説は『Arduinoをはじめよう 第3版』にまかせるとして、本の内容に合わせます

(3)実行

文章だけだとわかりにくいので動画にまとめました


YouTube  https://youtu.be/mqOSVGsyBbw


ArduinoボードをパソコンのUSBでつないでArduino IDEを起動します

Arduino IDEにExample 4-1を書き込んで[Verify]→[Upload]します

これでLEDが1秒ごとに点滅します

後半はdelay timeをいろいろと変えてみてます

この時のスケッチは例えばdelay timeを100 msにしたい場合は以下のスケッチのように赤字のところのみを変えています

E4_1_1_BlinkingLED100
――――――――――(Example 4-1-1)―――――――――
// Blinking LED

const int LED = 13; // LED connected to
// digital pin 13

void setup()
{
pinMode(LED, OUTPUT); // sets the digital
// pin as output
}

void loop()
{
digitalWrite(LED, HIGH); // turns the LED on
delay(100); // waits for a second
digitalWrite(LED, LOW); // turns the LED off
delay(100); // waits for a second
}

―――――――――――――――――――――――――――
このようにしてdelay timeをいろいろ変えてみたときの印象は以下のとおりです

@ HIGH 100, LOW 100 → 点滅が早くなる
A HIGH 10, LOW 10 → ちらつくが点灯し続けて見える(残像現象?)
B HIGH 1, LOW 1 → 点灯し続けて見える
C HIGH 1, LOW 50 → 点灯が弱くなった気がするがチカチカする
D HIGH 1, LOW 5 → 点灯が弱くなった
E HIGH 0.1, LOW 5 → 点灯が明らかに弱くなった


delay timeの組み合わせでLEDの点灯の明るさを調節できることがわかりました

しかし・・・どれくらいの明るさにしたいならdelay timeをどういう組み合わせにすると良いという一般的な比率はあるんやろうか??

因みにですが、

  Arduino IDEファイル 右向き三角1スケッチの例 右向き三角1 01.Basics 右向き三角1Blink

Example 4-1と同じ動きをさせるスケッチが開きます

Arduino IDE Blink1.jpg
Arduino IDE Blink2.jpg

他にもサンプルスケッチがいろいろあるので『Arduinoをはじめよう 第3版』を一通り終わったらそちらでお勉強するのもいいかもしれませんね

・・・ってお勉強ばっかりだといつまでたってもジリツロボットできそうにないんだが・・・σ(^_^;)

以上でExample 4-1を終えます

思ったより長くなったので今回はここまで

ではでは〜


【永久保証付き】Arduino Uno

新品価格
¥3,240から


Raspberry Pi3 Model B ボード&ケースセット (Element14版, Clear)-Physical Computing Lab

新品価格
¥5,780から


Arduinoをはじめよう 第3版 (Make:PROJECTS)

新品価格
¥2,160から


Arduinoをはじめよう 互換キット UNO R3対応互換ボード 初心者専用実験キット 基本部品セット20 in 1 Arduino sidekick basic kit

新品価格
¥3,780から


Arduinoをはじめようキット

新品価格
¥4,310から


Arduino エントリーキット(Uno版)- Physical Computing Lab

新品価格
¥4,320から


タミヤ 楽しい工作シリーズ No.216 3ch RCロボット製作セット 70216

新品価格
¥6,327から


エレキット 水圧式ロボットアーム MR-9105

新品価格
¥4,560から


エレキット バトルタイタン2 MR-9101R

新品価格
¥3,163から


世界最小★OZO-010102-0102 World's Smallest SMART Robot - Dual Pack, 1 Crystal White & 1 Titanium Black 2 Bonus Limited-Edition Skins スマートロボット Ozobot社【並行輸入】

新品価格
¥6,000から


タミヤ 楽しい工作シリーズ No.211 アームクローラー工作セット 70211

新品価格
¥1,345から


タミヤ 楽しい工作シリーズ No.97 ツインモーターギヤーボックス (70097)

新品価格
¥587から


タミヤ 楽しい工作シリーズ No.106 4チャンネル・リモコンボックス (70106)

新品価格
¥1,118から


posted by riserobo: at 16:41| Comment(0) | TrackBack(0) | Arduino

2016年09月12日

A3:3 Arduinoプラットフォーム:Arduinoセットアップ

(1) Arduino IDEのインストール

『Arduinoをはじめよう 第3版』3 Arduinoプラットフォームに沿ってArduinoのセットアップをします

ここではMacArduino IDEをインストールします

@ Arduino - HomeのメニューからDownloadをクリックしてDownloadのページに移動します

Arduino Home_3_1.jpg

A DownloadのページMac OS X 10.7 Lion or newerをクリックしてSupport the Arduino Softwareのページに移動します

Arduino Home_3_2.jpg

C ここでArduinoソフトウェアへの寄付を募っています

寄付するときは寄付したい金額を選んでCONTRIBUTE & DOWNLOADをクリックします

寄付しないときはJUST DOWNLOADをクリックします

そうするとarduino-1.6.11-macosx.zipのダウンロードが始まります

Arduino Home_3_3.jpg

D ダウンロードされたarduino-1.6.11-macosx.zipをダブルクリックしてArduino(.app)に展開します

E 展開されたArduino(.app)をアプリケーションフォルダに移動します

ここまででMacへのArduino IDEのインストールは終了です

(2) Arduino UNOボード用ドライバの確認

MacがArduino UNOボードを認識する(動かせるようにする)ためのドライバはMac OS Xが提供するドライバを使うため特にインストールする必要はありません

ここではArduino UNOボードMacUSBケーブルで接続されることを確認します

@ Arduinoをはじめよう 互換キット からArduino UNOボード(互換機)USBケーブルを取り出します

Arduinoをはじめよう 互換キット UNO R3対応互換ボード 初心者専用実験キット 基本部品セット20 in 1 Arduino sidekick basic kit

新品価格
¥3,780から


A MacのUSBにつなぎます

B 問題がなければ、ON (LED)が点灯し、L (LED)が1回点滅します

IMG_4091.jpg
(3) Arduino UNO接続ポートの確認

最後にArduino UNOが接続されているポートの選択をします

@ Arduino UNOボードをMacのUSBに接続します

A Arduino(.app)のアイコンをダブルクリックしてArduino IDEを起動します

B ツール メニューからシリアル ポートを開き、または[/dev/tty.usbmodem1411(Arduino/Genuino Uno)]を選択します

Arduino IDE port.jpg

C 続いて、ツール メニューのボード:を開き、[Arduino/Genuino Uno]をクリックして選択します

Arduino IDE Uno.jpg

最後に上記【(2) Arduino UNOボード用ドライバの確認】から【(3) Arduino UNO接続ポートの確認】までの流れを動画で確認します


YouTube  https://youtu.be/hQFt6sxaBWY

・・・これだけです・・・

以上でArduinoセットアップを終わります

ちなみに今回使うArduino UNOボードは互換ボードですがちょっと作りが

・・・大丈夫かな?σ(^_^;)

ではでは〜


【永久保証付き】Arduino Uno

新品価格
¥3,240から


Raspberry Pi3 Model B ボード&ケースセット (Element14版, Clear)-Physical Computing Lab

新品価格
¥5,780から


Arduinoをはじめよう 第3版 (Make:PROJECTS)

新品価格
¥2,160から


Arduinoをはじめよう 互換キット UNO R3対応互換ボード 初心者専用実験キット 基本部品セット20 in 1 Arduino sidekick basic kit

新品価格
¥3,780から


Arduinoをはじめようキット

新品価格
¥4,310から


Arduino エントリーキット(Uno版)- Physical Computing Lab

新品価格
¥4,320から


タミヤ 楽しい工作シリーズ No.216 3ch RCロボット製作セット 70216

新品価格
¥6,327から


エレキット 水圧式ロボットアーム MR-9105

新品価格
¥4,560から


エレキット バトルタイタン2 MR-9101R

新品価格
¥3,163から


世界最小★OZO-010102-0102 World's Smallest SMART Robot - Dual Pack, 1 Crystal White & 1 Titanium Black 2 Bonus Limited-Edition Skins スマートロボット Ozobot社【並行輸入】

新品価格
¥6,000から


タミヤ 楽しい工作シリーズ No.211 アームクローラー工作セット 70211

新品価格
¥1,345から


タミヤ 楽しい工作シリーズ No.97 ツインモーターギヤーボックス (70097)

新品価格
¥587から


タミヤ 楽しい工作シリーズ No.106 4チャンネル・リモコンボックス (70106)

新品価格
¥1,118から


posted by riserobo: at 23:21| Comment(0) | TrackBack(0) | Arduino

2016年09月08日

A2:『Arduinoをはじめよう 第3版』をよむ

『Arduinoをはじめよう 第3版』1〜3章

『Arduinoをはじめよう 第3版』を読み始めます
表紙をめくると目次の後ではじめにがあり、Michealさんが第2版からの第3版での変更点を書いた後で、Massimoさんの簡単な自分史とともにtinkeringという言葉の重要性を教えてくれます

続いての1イントロダクションには「この本はArduinoに初めて触れる完全な未経験者のために書かれています。」とあります、よし!

次にいきなり「インタラクションデザイン」や「プロトタイピング」や「フィジカルコンピューティング」・・・の言葉が出てきて戸惑いますがよくわからないので読み飛ばします

2Arduinoの流儀ではPrototyping, Tinkering, Patching・・・といった手法や方法について紹介しています・・・思考原理や行動原理みたいなものでしょうか・・・とりあえずTinkeringのイラストなんかが面白いです

3Arduinoプラットフォームから本格的にArduinoの使い方の話が始まります

まず重要なのが、

パソコン(Arduino IDE)→ スケッチ → Arduinoボード

という流れで、パソコンでArduino IDEというソフトウェアを使ってスケッチという名前のプログラムを作ってArduinoボードへ伝えて動かすようです

続いてArduinoボードの説明があり、次にArduino IDEの説明とインストール方法について、はじめにMac、続いてWindowsについて書かれています

・・・

と、このあたりまでAmazonの『Arduinoをはじめよう 第3版』のイメージのところで読むことができます

というわけで、23ページまでAmazonで無料で読めちゃうわけですが、この本の131ページ以降はオンラインで公開されているArduino 日本語リファレンスを(一部を除き)まとめたものですから、この本を買わないと得られない内容というのは全体の半分弱ということになります
『Arduinoをはじめよう 第3版』の読み方

こういう本を読む時は、次の2パターンがあるように思います

  @ 本を読みながら内容に沿って随時やることを実行していく
  A 全体を読み終えた後でやることを実行に移す


まだ、道具や材料が揃っているかどうか読んでみないとわからないので「A 全体を読み終えた後でやることを実行に移す」で進みます

そのために読了後に実行する内容を章ごとにプロジェクトとしてまとめておきます
『Arduinoをはじめよう 第3版』プロジェクト一覧

スクリーンショット 2016-08-22 8.19.20.png
⇧これをクリックすると大きい画像が見れます・・・はず
『Arduinoをはじめよう 第3版』9章以降

実行(実験)する内容は8章までで、最後の9章はトラブルシューティングの方法について書かれています

やったことが必ず成功するというのも大事ですが、失敗から学ぶことも多いとおもいます

その意味で自分でトラブルシューティングできて一人前という気もしますのでここもしっかり頭に入れておきます

9章が終わると付録A〜Cがあり、それぞれ

 付録A ブレッドボード
 付録B 抵抗器とコンデンサの値の読み方
 付録C 回路図の読み方


についての解説があります

「ブレッドボードって何?」からスタートする身としてはありがたい限りです

ここまでが本文と言えるもので、前述しましたが131〜237ページにはArduino公式リファレンスが掲載されており、この中にはArduino言語標準ライブラリについての記述があります

オンラインで公開されているArduino 日本語リファレンスには本書に載っていない内容もあるようです

スクリーンショット 2016-08-21 17.54.52.png
また、本家Arduino - Homeでは”Learning”のプルダウンメニューから”Reference”を選択するとReferenceページに入ります

Arduino Home_01.jpg
Learning”プルダウンメニューから”Reference”を選択)

Arduino Home_02.jpg
Language Referenceページ

Referenceページでは次の四つを選択できます
Language | Libraries | Comparison | Changes

Librariesを選択してみましょう

Arduino Home_03.jpg
Librariesページ

『Arduinoをはじめよう 第3版』に戻るとArduino公式リファレンスに続いて、238〜244ページが索引となっており、この本をちょっとした用語集がわりに使うこともできます

最後に245〜247ページが訳者あとがき、248ページが著者・訳者紹介となっています

これで『Arduinoをはじめよう 第3版』を一通り読み終えました

次回からいよいよ実験に移りたいと思います

はたして? 
娘はこれ(Arduino)に興味を持つんでしょうか?σ(^_^;)

ではでは〜


【永久保証付き】Arduino Uno

新品価格
¥3,240から


Raspberry Pi3 Model B ボード&ケースセット (Element14版, Clear)-Physical Computing Lab

新品価格
¥5,780から


Arduinoをはじめよう 第3版 (Make:PROJECTS)

新品価格
¥2,160から


Arduinoをはじめよう 互換キット UNO R3対応互換ボード 初心者専用実験キット 基本部品セット20 in 1 Arduino sidekick basic kit

新品価格
¥3,780から


Arduinoをはじめようキット

新品価格
¥4,310から


Arduino エントリーキット(Uno版)- Physical Computing Lab

新品価格
¥4,320から


タミヤ 楽しい工作シリーズ No.216 3ch RCロボット製作セット 70216

新品価格
¥6,327から


エレキット 水圧式ロボットアーム MR-9105

新品価格
¥4,560から


エレキット バトルタイタン2 MR-9101R

新品価格
¥3,163から


世界最小★OZO-010102-0102 World's Smallest SMART Robot - Dual Pack, 1 Crystal White & 1 Titanium Black 2 Bonus Limited-Edition Skins スマートロボット Ozobot社【並行輸入】

新品価格
¥6,000から


タミヤ 楽しい工作シリーズ No.211 アームクローラー工作セット 70211

新品価格
¥1,345から


タミヤ 楽しい工作シリーズ No.97 ツインモーターギヤーボックス (70097)

新品価格
¥587から


タミヤ 楽しい工作シリーズ No.106 4チャンネル・リモコンボックス (70106)

新品価格
¥1,118から


posted by riserobo: at 07:24| Comment(0) | TrackBack(0) | Arduino

2016年09月05日

A1:Arduinoはじめました

Arduino と Raspberry Pi

アームクローラーに自律させたいと思って、なんかいい方法はないかなあと探していたらArduino(アルデュイーノ)Raspberry Pi(ラズベリーパイ;ラズパイ)というのが良さそうです

Arduino(アルデュイーノ)

【永久保証付き】Arduino Uno

新品価格
¥3,240から


Raspberry Pi(ラズベリーパイ)

Raspberry Pi3 Model B ボード&ケースセット (Element14版, Clear)-Physical Computing Lab

新品価格
¥5,780から


Arduinoは組み込みマイコンボードで、Raspberry Piは小型コンピューターといった感じでしょうか

Arduinoはイタリア生まれで、Raspberry Piはイギリス生まれ、

どちらも教育用に開発されたもので初心者でも始めやすいとのことです
・・・本当かなあσ(^_^;)

それで、どっちを使うのかということですが、ArduinoよりRaspberry Piの方が性能が良さそうなんですが、難しそうでちょっと敷居が高いので今回はArduinoを使ってみようと思います

いくつか見たところでは自分達がアームクローラーにさせたい程度の自律行動ならどちらを使ってもできそうなのでArduinoでチャレンジしてみて、ダメだったらRaspberry Piに行こうかなあという「いきあたりばったり」計画で進めます
Arduinoのお勉強

まずは、何もわからないのでお勉強しなくてはいけません

ネット上にはたくさんの情報がありますが、どれがいいのかわかりません

それにネットで自分の欲しい情報だけ探して、それだけを真似てやってもその基礎となる考え方やその先の応用となるとちょっと心もとないです・・・それも必要になるかどうかもわかりませんが・・・

ブログなどに掲載されているものについてもいつ見ることができなくなるかわかりませんし・・・まあ、心配しすぎなんですが以前そんなようなことが・・・

ある程度できるようになればネット上に散在する情報をもとに自分の思う使い方ができるようになると思いますがまだ無理です

というわけで、いつものようにAmazonさんを物色してみます

なんか、これ(↓)がArduinoの教科書っぽいですね

Arduinoをはじめよう 第3版.jpg

Arduinoをはじめよう 第3版 (Make:PROJECTS)

Arduinoをはじめよう 第3版 (Make:PROJECTS)

新品価格
¥2,160から


あと、「よく一緒に購入されている商品」これ(↓)が載っていました

Arduinoをはじめよう 互換キット UNO R3対応互換ボード 初心者専用実験キット 基本部品セット20 in 1 Arduino sidekick basic kit

Arduinoをはじめよう 互換キット UNO R3対応互換ボード 初心者専用実験キット 基本部品セット20 in 1 Arduino sidekick basic kit

新品価格
¥3,780から


他にも「Arduinoをはじめようキット」「Arduino エントリーキット(Uno版)- Physical Computing Lab」というのもあるみたいです

Arduinoをはじめようキット

新品価格
¥4,310から

Arduino エントリーキット(Uno版)- Physical Computing Lab

新品価格
¥4,320から


今回はいろいろ入ってて値段も比較的安価なArduinoをはじめよう 互換キット UNO R3対応互換ボード 初心者専用実験キット 基本部品セット20 in 1 Arduino sidekick basic kitを注文してみます

これが、安物買いの銭失いにならないかちと心配・・・

・・・・・・・・・・・・

それで届いたのがこれ

IMG_3790.jpg

それではこれから頑張って読みます

娘はまだ漢字をあまり読めないのでこの中で大切なところおもしろそうなところをかいつまんで教えていくことになると思いますが

・・・うまく教えられるかなあσ(^_^;)

ではでは〜


【永久保証付き】Arduino Uno

新品価格
¥3,240から


Raspberry Pi3 Model B ボード&ケースセット (Element14版, Clear)-Physical Computing Lab

新品価格
¥5,780から


Arduinoをはじめよう 第3版 (Make:PROJECTS)

新品価格
¥2,160から


Arduinoをはじめよう 互換キット UNO R3対応互換ボード 初心者専用実験キット 基本部品セット20 in 1 Arduino sidekick basic kit

新品価格
¥3,780から


Arduinoをはじめようキット

新品価格
¥4,310から


Arduino エントリーキット(Uno版)- Physical Computing Lab

新品価格
¥4,320から


Yidarton ミニ 無線wifi 防犯カメラ 監視カメラ アクセサリー付属 赤外線 暗視対応 iPhone Android対応 Micro SD 録画 バッテリー内蔵 1セット

新品価格
¥3,590から


タミヤ 楽しい工作シリーズ No.216 3ch RCロボット製作セット 70216

新品価格
¥6,327から


エレキット 水圧式ロボットアーム MR-9105

新品価格
¥4,560から


エレキット バトルタイタン2 MR-9101R

新品価格
¥3,163から


世界最小★OZO-010102-0102 World's Smallest SMART Robot - Dual Pack, 1 Crystal White & 1 Titanium Black 2 Bonus Limited-Edition Skins スマートロボット Ozobot社【並行輸入】

新品価格
¥6,000から


タミヤ 楽しい工作シリーズ No.211 アームクローラー工作セット 70211

新品価格
¥1,345から


タミヤ 楽しい工作シリーズ No.97 ツインモーターギヤーボックス (70097)

新品価格
¥587から


タミヤ 楽しい工作シリーズ No.106 4チャンネル・リモコンボックス (70106)

新品価格
¥1,118から


posted by riserobo: at 10:15| Comment(0) | TrackBack(0) | Arduino
検索
QRコード
RSS取得
プロフィール
riserobo:さんの画像
riserobo:
プロフィール
×

この広告は30日以上新しい記事の更新がないブログに表示されております。