Dear friends,
Here is the code , using inline C, for controlling DC motors via Adafruit Motor Shield V1 . Adafruit library is attached herewith.
Here is the code , using inline C, for controlling DC motors via Adafruit Motor Shield V1 . Adafruit library is attached herewith.
B4X:
Sub Process_Globals
Public Serial1 As Serial
Dim PWM As Int
End Sub
Private Sub AppStart
Serial1.Initialize(115200)
Log("AppStart")
RunNative("M1_stop",Null)
PWM=255
AddLooper("Looper")
End Sub
Sub Looper
Log("FORWARD")
RunNative("M1_drive_fwd",Null)
Delay(5000)
RunNative("M1_stop",Null)
Log("STOPPED")
Delay(1000)
Log("BACKWARD")
RunNative("M1_drive_rev",Null)
Delay(5000)
Log("STOPPED")
RunNative("M1_stop",Null)
Delay(1000)
End Sub
#if C
#include <AFMotor.h>
//AF_DCMotor M1(1); //M1 with default PWM frequency of 1KHz
AF_DCMotor M1(1, MOTOR12_64KHZ);
//AF_DCMotor M1(1, MOTOR12_8KHZ);
//AF_DCMotor M1(1, MOTOR12_2KHZ);
//AF_DCMotor M1(1, MOTOR12_1KHZ);
void M1_stop (B4R::Object* o){
M1.run(RELEASE);
}
void M1_drive_fwd (B4R::Object* o) {
M1.run(FORWARD);
M1.setSpeed(b4r_main::_pwm);
}
void M1_drive_rev (B4R::Object* o) {
M1.run(BACKWARD);
M1.setSpeed(b4r_main::_pwm);
}
#End if