Close

Headbang - The second servo

A project log for Balambér

a robotic handpuppet

borazsloborazslo 10/04/2016 at 21:460 Comments

With more 3D designing and printing, I put in work the second servo as well. Balambér is now able to say yes (shaking his head) or no (headbanging).

This is the not-elaborated python code:

import time
import pigpio
pi = pigpio.pi() 

GPIOHor= 23
HorMin = 1000
HorMid = 1500
HorMax = 2000
GPIOVer = 24
VerMin= 1800
VerMid = 2200
VerMax = 2300

speed = 0.01
pi.set_PWM_range(GPIOHor, 2500)
pi.set_PWM_range(GPIOVer, 2500)

pi.set_servo_pulsewidth(GPIOHor, 0)	
pi.set_servo_pulsewidth(GPIOVer, 0)	

def shake(gpio,min,mid,max):
	for x in xrange(mid, min, -10):
		pi.set_servo_pulsewidth(gpio,x)	
	  	time.sleep(speed)
		pass
	for x in xrange(min,max,10):
		pi.set_servo_pulsewidth(gpio, x)	
	  	time.sleep(speed)
		pass
	for x in xrange(max,mid,-10):
		pi.set_servo_pulsewidth(gpio, x)	
	  	time.sleep(speed)
		pass
	pass

shake(GPIOHor,HorMin,HorMid,HorMax)
shake(GPIOHor,HorMin,HorMid,HorMax)
shake(GPIOHor,HorMin,HorMid,HorMax)
time.sleep(0.5)
shake(GPIOVer,VerMin,VerMid,VerMax)
shake(GPIOVer,VerMin,VerMid,VerMax)
shake(GPIOVer,VerMin,VerMid,VerMax)
time.sleep(1)

pi.set_servo_pulsewidth(GPIOVer, 0)
pi.set_servo_pulsewidth(GPIOHor, 0)

And the video for those who has read this log:

Discussions