Arduino/ArduinoInAction.Chap5
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[FrontPage]]
#contents
2013/05/25からのアクセス回数 &counter;
秋月からのモータも届いたので、
Arduino in Actionの5章に出てくる例題を試してみました。
Arduinoのすごいところは、豊富な例題と丁寧なドキュメントに...
5章では、モータ制御の例があるのですが、最初に例題スケッチ...
で動かしてみます。
** サーボモータの制御 [#a4345d20]
[[例題のスケッチ>http://arduino.cc/en/Tutorial/Knob]]にあ...
&ref(knob_bb.png);&ref(knob_cirkit.png);
スケッチは、以下の通りです。
#pre{{
// Controlling a servo position using a potentiometer (va...
// by Michal Rinott <http://people.interaction-ivrea.it/m...
#include <Servo.h>
Servo myservo; // create servo object to control a servo
int potpin = 0; // analog pin used to connect the potent...
int val; // variable to read the value from the analog...
void setup()
{
myservo.attach(9); // attaches the servo on pin 9 to t...
}
void loop()
{
val = analogRead(potpin); // reads the value...
val = map(val, 0, 1023, 0, 179); // scale it to use...
myservo.write(val); // sets the servo ...
delay(15); // waits for the s...
}
}}
たったこれだけでサーボモータがコントロールできるとは信じ...
((これに対抗できるのは、mbedくらいかなぁ))
特にmap関数を使って値の変換をさりげなくすませているところ...
ATmega32U4ボードでの動作確認は以下の様にしました。
サーボモータの世界ではコネクターのピン配置が以下の様に決...
- 黒:GND
- 赤:VCC(5V)
- 黄:制御電圧
&ref(my_servo_bread.png);
** Hブリッジモータコントローラ [#p4504c55]
5.2節では、DCモータの制御を扱っています。
モータの回転を制御するために、図5.11のようなHブリッジモー...
&ref(Fig5_11.png);
Arduino in Actionでは、この制御にL293D dual H driverを使...
入手できる
[[SN754410NE>http://akizukidenshi.com/catalog/g...
を使用しました。
ピンの配置も以下の様にL293Dと同じになっています。
&ref(SN754410NE_pin.png);
*** DCモータの接続テスト [#eb64eef6]
SN754410NEは、2個のモータを制御することができま...
図5.13のように回路を接続します。
&ref(Fig5_13.png);
*** スケッチと動作確認 [#q56c21eb]
交互に回転を変更する例題スケッチを動かしてみます。
#pre{{
int enablePin = 11;
int in1A = 4;
int in2A = 7;
void setup() {
pinMode(enablePin, OUTPUT);
pinMode(in1A, OUTPUT);
pinMode(in2A, OUTPUT);
digitalWrite(enablePin, LOW);
}
void loop() {
digitalWrite(in1A, HIGH);
digitalWrite(in2A, LOW);
digitalWrite(enablePin, HIGH);
delay(5000);
digitalWrite(enablePin, LOW);
delay(2000);
digitalWrite(in1A, LOW);
digitalWrite(in2A, HIGH);
digitalWrite(enablePin, HIGH);
delay(5000);
digitalWrite(enablePin, LOW);
delay(2000);
}
}}
DCモータの駆動には単3電池を使用するよりも、eneloopの5Vを...
USBからの電源の取り出しには、秋月のAE-USB-MINIが安価((200...
&ref(AE-USB-MINI.JPG);&ref(AE-USB-MINI-sch.png);
以下の様にブレッドボードに回路を組んで動作を確認しました。
&ref(Bread5_13.png);
** ステッピングモータ [#ae108a1a]
単にステッピングモータの制御をテストすることが目的なので...
[[SPG27>http://akizukidenshi.com/catalog/g/gP-05708/]]
を使って試してみました。
この製品は、15度のステッピングとあったので、最初ステッピ...
[[ステッピングモータを動かしてみます(Arduino編)>http://ww...
をみると、1回転ステップ数:288とされていたので、この...
*** 回路との接続方法 [#g24db314]
結線方法は、Arduino in Actionの説明よりも
[[Stepper Motor Knob>http://arduino.cc/en/Tutorial/MotorK...
の方が丁寧でした。
2相の場合の結線は、以下の様にします。
&ref(th_bipolar_bb.jpg);
回路も上記のサイトの通り、以下のようにします。
&ref(bipolar_schem.jpeg);
ここで、注意するのは、モータの黒と青の線は、モータ用の電...
*** スケッチと動作確認 [#z5f55c86]
スケッチは、以下の様にしました。
#pre{{
#include <Stepper.h>
const int stepsPerRevolution = 288;
Stepper myStepper(stepsPerRevolution, 8,9,10,11);
int stepCount = 0;
void setup() {
myStepper.setSpeed(40) ;
Serial.begin(9600);
}
void loop() {
myStepper.step(1);
Serial.print("steps:" );
Serial.println(stepCount);
stepCount++;
delay(500);
}
}}
何とか無事動くようになりました。
&ref(Bread5_21.png);
** コメント [#lc885b54]
#vote(おもしろかった[12],そうでもない[1],わかりずらい[5])
皆様のご意見、ご希望をお待ちしております。
#comment_kcaptcha
終了行:
[[FrontPage]]
#contents
2013/05/25からのアクセス回数 &counter;
秋月からのモータも届いたので、
Arduino in Actionの5章に出てくる例題を試してみました。
Arduinoのすごいところは、豊富な例題と丁寧なドキュメントに...
5章では、モータ制御の例があるのですが、最初に例題スケッチ...
で動かしてみます。
** サーボモータの制御 [#a4345d20]
[[例題のスケッチ>http://arduino.cc/en/Tutorial/Knob]]にあ...
&ref(knob_bb.png);&ref(knob_cirkit.png);
スケッチは、以下の通りです。
#pre{{
// Controlling a servo position using a potentiometer (va...
// by Michal Rinott <http://people.interaction-ivrea.it/m...
#include <Servo.h>
Servo myservo; // create servo object to control a servo
int potpin = 0; // analog pin used to connect the potent...
int val; // variable to read the value from the analog...
void setup()
{
myservo.attach(9); // attaches the servo on pin 9 to t...
}
void loop()
{
val = analogRead(potpin); // reads the value...
val = map(val, 0, 1023, 0, 179); // scale it to use...
myservo.write(val); // sets the servo ...
delay(15); // waits for the s...
}
}}
たったこれだけでサーボモータがコントロールできるとは信じ...
((これに対抗できるのは、mbedくらいかなぁ))
特にmap関数を使って値の変換をさりげなくすませているところ...
ATmega32U4ボードでの動作確認は以下の様にしました。
サーボモータの世界ではコネクターのピン配置が以下の様に決...
- 黒:GND
- 赤:VCC(5V)
- 黄:制御電圧
&ref(my_servo_bread.png);
** Hブリッジモータコントローラ [#p4504c55]
5.2節では、DCモータの制御を扱っています。
モータの回転を制御するために、図5.11のようなHブリッジモー...
&ref(Fig5_11.png);
Arduino in Actionでは、この制御にL293D dual H driverを使...
入手できる
[[SN754410NE>http://akizukidenshi.com/catalog/g...
を使用しました。
ピンの配置も以下の様にL293Dと同じになっています。
&ref(SN754410NE_pin.png);
*** DCモータの接続テスト [#eb64eef6]
SN754410NEは、2個のモータを制御することができま...
図5.13のように回路を接続します。
&ref(Fig5_13.png);
*** スケッチと動作確認 [#q56c21eb]
交互に回転を変更する例題スケッチを動かしてみます。
#pre{{
int enablePin = 11;
int in1A = 4;
int in2A = 7;
void setup() {
pinMode(enablePin, OUTPUT);
pinMode(in1A, OUTPUT);
pinMode(in2A, OUTPUT);
digitalWrite(enablePin, LOW);
}
void loop() {
digitalWrite(in1A, HIGH);
digitalWrite(in2A, LOW);
digitalWrite(enablePin, HIGH);
delay(5000);
digitalWrite(enablePin, LOW);
delay(2000);
digitalWrite(in1A, LOW);
digitalWrite(in2A, HIGH);
digitalWrite(enablePin, HIGH);
delay(5000);
digitalWrite(enablePin, LOW);
delay(2000);
}
}}
DCモータの駆動には単3電池を使用するよりも、eneloopの5Vを...
USBからの電源の取り出しには、秋月のAE-USB-MINIが安価((200...
&ref(AE-USB-MINI.JPG);&ref(AE-USB-MINI-sch.png);
以下の様にブレッドボードに回路を組んで動作を確認しました。
&ref(Bread5_13.png);
** ステッピングモータ [#ae108a1a]
単にステッピングモータの制御をテストすることが目的なので...
[[SPG27>http://akizukidenshi.com/catalog/g/gP-05708/]]
を使って試してみました。
この製品は、15度のステッピングとあったので、最初ステッピ...
[[ステッピングモータを動かしてみます(Arduino編)>http://ww...
をみると、1回転ステップ数:288とされていたので、この...
*** 回路との接続方法 [#g24db314]
結線方法は、Arduino in Actionの説明よりも
[[Stepper Motor Knob>http://arduino.cc/en/Tutorial/MotorK...
の方が丁寧でした。
2相の場合の結線は、以下の様にします。
&ref(th_bipolar_bb.jpg);
回路も上記のサイトの通り、以下のようにします。
&ref(bipolar_schem.jpeg);
ここで、注意するのは、モータの黒と青の線は、モータ用の電...
*** スケッチと動作確認 [#z5f55c86]
スケッチは、以下の様にしました。
#pre{{
#include <Stepper.h>
const int stepsPerRevolution = 288;
Stepper myStepper(stepsPerRevolution, 8,9,10,11);
int stepCount = 0;
void setup() {
myStepper.setSpeed(40) ;
Serial.begin(9600);
}
void loop() {
myStepper.step(1);
Serial.print("steps:" );
Serial.println(stepCount);
stepCount++;
delay(500);
}
}}
何とか無事動くようになりました。
&ref(Bread5_21.png);
** コメント [#lc885b54]
#vote(おもしろかった[12],そうでもない[1],わかりずらい[5])
皆様のご意見、ご希望をお待ちしております。
#comment_kcaptcha
ページ名:
SmartDoc