Thanks to @Erel and the new rservo library (Beta#7), we've access to servo motors.
Servos are a motor type that allows for precise control of angular or linear position, velocity and acceleration (wiki);there're various types with different characteristics (torque, velocity, etc)
There're very cheap models like this one and usually used on actuators, robotic arms, etc..
Servos are quite power-hungry so if you connect several sensors to Arduino, you'll need to use a separate power supply for servo motors (battery ,etc..)
Servos are a motor type that allows for precise control of angular or linear position, velocity and acceleration (wiki);there're various types with different characteristics (torque, velocity, etc)
There're very cheap models like this one and usually used on actuators, robotic arms, etc..
B4X:
Sub Process_Globals
'These global variables will be declared once when the application starts.
'Public variables can be accessed from all modules.
Public Serial1 As Serial
Public servo1 As Servo
Public pinservo As Pin
Public Timer1 As Timer
Public angleservo As UInt
Public upangle As Boolean
End Sub
Private Sub AppStart
Serial1.Initialize(115200)
Log("AppStart")
pinservo.Initialize (4,pinservo.MODE_OUTPUT) 'connect servo to pin 4 of Arduino
servo1.Attach(pinservo.PinNumber) 'assign servo to device on pin servo
Timer1.Initialize ("Timer1_Tick",1000) 'Call Timer every second
Timer1.Enabled=True
angleservo=servo1.Read 'initial servo angle
upangle=True 'Increment angle
End Sub
Sub Timer1_Tick
angleservo=servo1.read
Select upangle 'Increment angle
Case True
If (angleservo >=0 And angleservo <180) Then
Log ("up angle ",angleservo)
angleservo=angleservo +1
servo1.Write(angleservo)
End If
If angleservo=180 Then upangle=False
Case False 'Decrement angle
If angleservo <=180 And angleservo>0 Then
Log ("down angle ",angleservo)
angleservo=angleservo-1
servo1.Write(angleservo)
End If
If angleservo=0 Then upangle=True
End Select
End Sub
Servos are quite power-hungry so if you connect several sensors to Arduino, you'll need to use a separate power supply for servo motors (battery ,etc..)
Last edited: