2016-04-27 7 views
0

私はarduino uno r3でV2.3モーターホイールを使用しています。 過去1週間に読んだiveからardunio excpetについてはほとんど何もありません。 私は単純に以下のコードでモーターを回そうとしていますが、動作しません。私はarduinoを私のコンピュータに差し込み、12Vは青のパワーボックスの事に行きました。私は一顧事が回転することができません。このモーターhttps://www.servocity.com/html/900_rpm_micro_gearmotorblocks.html#.VyELIFaDFBc を使用しています 私はそのM1接続 配線における地表ではなく、5V /にまっすぐに配線すると、モーターが正常に動作します:https://i.groupme.com/747x1328.png.54a01e30433241d4a99905bd0e8ede2bこのリンクdoesntの仕事ならばmeknowを聞かせて 配線http://imgur.com/J92ewnu の#includeArduino Uno DCモータは簡単なテストでは動作しません。 Arduinoにモーターを回転させることができません

AF_DCMotor motor(1); 

void setup() { 
    Serial.begin(9600);   // set up Serial library at 9600 bps 
    Serial.println("Motor test!"); 

    // turn on motor 
    motor.setSpeed(200); 

    motor.run(RELEASE); 
} 

void loop() { 
    uint8_t i; 

    Serial.print("tick"); 

    motor.run(FORWARD); 
    for (i=0; i<255; i++) { 
    motor.setSpeed(i); 
    delay(10); 
} 

    for (i=255; i!=0; i--) { 
    motor.setSpeed(i); 
    delay(10); 
} 

    Serial.print("tock"); 

    motor.run(BACKWARD); 
    for (i=0; i<255; i++) { 
    motor.setSpeed(i); 
    delay(10); 
} 

    for (i=255; i!=0; i--) { 
    motor.setSpeed(i); 
    delay(10); 
} 


    Serial.print("tech"); 
    motor.run(RELEASE); 
    delay(1000); 
} 
+0

アダルトチュートリアルを試してみましたか?彼らは通常とてもうまく説明しています:) –

答えて

0

のための相続人Imgurリンク私は現在、特定のシールドの専門家とそのライブラリはないです。しかし、私が最初にあなたのスケッチとモーター接続のイメージを見ているのは、あなたがコマンドで特定の速度でDCモータを動かそうとしているということです。これはサーボやステッピングモーターのようです。

電流と電圧に基づいて速度を計算している場合、またはモータのシャフトに速度センサがある場合、DCモータをある速度で動作させることが可能です。このモーターはセンサを持っていません(私のプロジェクトで同じことが使われているので確かに分かります)。シールドはスピードを計算できないと思います。あなたはできますは、それをオンとオフに切り替えるだけで、その方向を変更することができます。

まず、そのような機能のためにライブラリを調べる(そして使用する)必要があります。

0

"AF_DCMotor"と呼ばれていた機能を探していると、どのように混乱しているのか分かりません。 this productもあり、これはもう一つの麻酔薬モーター・シードです。

しかし、実際には非常に異なるモータードライバです。両方のシールドにはパルスを取り、モータを駆動するためにそれらを増幅するパワー段があります。 V2には明らかにこれらのパルスを生成するチップがあり、シリアルデータを送信してI2Cを使用してコマンドを実行します。 V1はこれらのパルスをArduinoから直接取得します。

あなたのために、V2モーターシールドは、ガイドを試してみてください。

Here's the link - Adafruit Motor Sheild V2 DC motor control

そして、ここではそれはラッチとのArduinoのPWMピンを使用しての

代わりの紹介ページでI2Cの使用に言及しているコード

#include <Wire.h> 
#include <Adafruit_MotorShield.h> 
#include "utility/Adafruit_MS_PWMServoDriver.h" 
Adafruit_MotorShield AFMS = Adafruit_MotorShield(); 
Adafruit_DCMotor *myMotor = AFMS.getMotor(1); 
AFMS.begin(); 
myMotor->setSpeed(100); 
myMotor->run(FORWARD); 

だ、我々は持っています完全に専用のPWMドライバチップを搭載しています。このチップはI2Cですべてのモーターおよびスピードコントロールを処理します

これは、それがワイヤライブラリを含む理由です。これを実行する独自のコードを作成することができますが、使用しているPWMドライバチップにコマンドを送信するためにI2Cを使用する必要があります。

関連する問題