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 SubServos 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: 
			
		
	
							 
				 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		