예제 #1
0
#set della granularity (è il default durante l'inizializzazione tic di incremento in microsecondi)
PWM.setup(granularity, 0)			#default: pulse_incr_us=10, delay_hw=0

for i in canale_dma:
	PWM.init_channel(i, subcycle_time[i])	#canale DMA con tempo subcycle
#	PWM.setup(granularity, 0)		#default: pulse_incr_us=10, delay_hw=0
	#aggiungo un impulso nel canale DMA all'interno di ogni subcycle per ogni GPIO
	#POSSO ANCHE NON AGGIUNGERE NIENTE :-), VOLENDO.
	PWM.add_channel_pulse(i, gpio_port[i], pulse_start[i], pulse_width[i])
#setup per output su GPIO
for i in gpio_port:
	RPIO.setup(i, RPIO.OUT)

for i in canale_dma:
	PWM.print_channel(i) 
	if PWM.is_channel_initialized(i):
		print ("canale ", i, " inizializzato")
	else:
		print ("canale ", i, " NON inizializzato")
	if PWM.is_setup():
		print ("setup canale ", i, "chiamato")
	else:
		print ("setup canale ", i, " NON chiamato")

try:
    while True:
	# LED per vedere se tutto funziona
	for t in led_time:
		for i in gpio_port:
			RPIO.output(i, RPIO.HIGH)
예제 #2
0
import RPIO.PWM as PWM

GPIO = 2
CHANNEL = 0
GPIO2 = 3
CHANNEL2 = 3

PWM.set_loglevel(PWM.LOG_LEVEL_DEBUG)

PWM.setup()
PWM.init_channel(CHANNEL)
PWM.print_channel(CHANNEL)

PWM.add_channel_pulse(CHANNEL, GPIO, 0, 500)

raw_input('Enter your input:')

PWM.init_channel(CHANNEL2)
PWM.print_channel(CHANNEL2)

PWM.add_channel_pulse(CHANNEL2, GPIO2, 600, 200)

raw_input('Enter your input:')

PWM.clear_channel(CHANNEL)

raw_input('Enter your input:')

PWM.clear_channel(CHANNEL2)

raw_input('Enter your input:')
예제 #3
0
import time
from RPIO import PWM


servo = PWM.Servo()
servo.set_servo(18, 2000)
PWM.print_channel(0)
time.sleep(1)
PWM.print_channel(0)
servo.set_servo(18, 1000)
PWM.print_channel(0)
예제 #4
0
파일: rpioDChw.py 프로젝트: kosfar/rpi
import RPIO
from RPIO import PWM as PWM
import time

RPIO.setmode(RPIO.BOARD)

GPIO = 12
CHANNEL = 1

RPIO.setup(GPIO,RPIO.OUT)

# Setup PWM and DMA channel 0
PWM.set_loglevel(PWM.LOG_LEVEL_DEBUG)
PWM.setup()
PWM.init_channel(CHANNEL,20000)
PWM.print_channel(CHANNEL)

RPIO.output(GPIO, False)

def changespeed(current_speed,set_speed,step_size,delay):
  for counter in range (current_speed, set_speed, step_size):
    pwmmotor=int(round(counter*199,-1))
    print(pwmmotor)
    PWM.add_channel_pulse(CHANNEL,GPIO,0,pwmmotor)
    time.sleep(delay)

# Add some pulses to the subcycle
PWM.add_channel_pulse(CHANNEL, GPIO, 0, 0)

changespeed(0,100,1,0.02) # accelerate from 0 to 100% step 1% delay 0.02 S
예제 #5
0
blue_gpio	= 25
white_gpio	= 22
motion_gpio	= 18

# settings
motion_delay				= 0		# motion delay trigger ( boolean, 0 or 1 )
motion_delay_cycles			= 1200	# cycles, time dependent on sleep functions
num_motion_delay_cycles 	= 0		# number of cycles since last motion detected

# initiate motion input pin
RPIO.setup( motion_gpio, RPIO.IN )

# initiate software PWM
PWM.setup()
PWM.init_channel( 0, 10000 )
PWM.print_channel( 0 )

# start infinite loop
first_cycle = 1
while True:
	
	# first cycle
	#
	#	- fun startup lighting sequence
	#	- then turns all pins on in case some of the config_colors are set to zero
	#
	if first_cycle == 1:
		PWM.add_channel_pulse( 0, red_gpio, 0, 200 )
		time.sleep( 0.6 )
		PWM.clear_channel_gpio( 0, red_gpio )
		PWM.add_channel_pulse( 0, green_gpio, 0, 100 )
예제 #6
0
#	PWM.setup(granularity, 0)		#default: pulse_incr_us=10, delay_hw=0
	#aggiungo un impulso nel canale DMA all'interno di ogni subcycle per ogni GPIO
	#POSSO ANCHE NON AGGIUNGERE NIENTE :-), VOLENDO.
#	PWM.add_channel_pulse(i, gpio_port[i], pulse_start[i], pulse_width[i])

PWM.add_channel_pulse(0, gpio_port[0], pulse_start[0], pulse_width[0])
PWM.add_channel_pulse(1, gpio_port[1], pulse_start[1], pulse_width[1])
PWM.add_channel_pulse(2, gpio_port[2], pulse_start[2], pulse_width[2])
PWM.add_channel_pulse(3, gpio_port[3], pulse_start[3], pulse_width[3])

#setup per output su GPIO
for j in gpio_port:
	RPIO.setup(j, RPIO.OUT)

for k in canale_dma:
	PWM.print_channel(k) 
	if PWM.is_channel_initialized(k):
		print ("canale ", k, " inizializzato")
	else:
		print ("canale ", k, " NON inizializzato")
	if PWM.is_setup():
		print ("setup canale ", k, "chiamato")
	else:
		print ("setup canale ", k, " NON chiamato")

try:
    while True:
	# LED per vedere se tutto funziona
	for t in led_time:
		for p in gpio_port:
			RPIO.output(p, RPIO.HIGH)
예제 #7
0
#set della granularity (è il default durante l'inizializzazione tic di incremento in microsecondi)
PWM.setup(granularity, 0)  #default: pulse_incr_us=10, delay_hw=0

for i in canale_dma:
    PWM.init_channel(i, subcycle_time[i])  #canale DMA con tempo subcycle
    #	PWM.setup(granularity, 0)		#default: pulse_incr_us=10, delay_hw=0
    #aggiungo un impulso nel canale DMA all'interno di ogni subcycle per ogni GPIO
    #POSSO ANCHE NON AGGIUNGERE NIENTE :-), VOLENDO.
    PWM.add_channel_pulse(i, gpio_port[i], pulse_start[i], pulse_width[i])
#setup per output su GPIO
for i in gpio_port:
    RPIO.setup(i, RPIO.OUT)

for i in canale_dma:
    PWM.print_channel(i)
    if PWM.is_channel_initialized(i):
        print("canale ", i, " inizializzato")
    else:
        print("canale ", i, " NON inizializzato")
    if PWM.is_setup():
        print("setup canale ", i, "chiamato")
    else:
        print("setup canale ", i, " NON chiamato")

try:
    while True:
        # LED per vedere se tutto funziona
        for t in led_time:
            for i in gpio_port:
                RPIO.output(i, RPIO.HIGH)
예제 #8
0
		driver2.set_velocity(v2,1)
		pass
	match = re.search(r"\Abrush (-?\d+)", command)
	if(match):
		print "doing: brush ",match.group(1)
		change = int(match.group(1))
		mymotor.setW(change)
		pass
	match = re.search(r"\Aimu", command)
	if(match):
		print "doing: imu "
		pass
	match = re.search(r"\APWM", command)
	if(match):
		print "doing: PWM info "
		PWM.print_channel(0)
		PWM.print_channel(1)
		PWM.print_channel(2)
		PWM.print_channel(3)
		pass
	match = re.search(r"\Aencoder", command)
	if(match):
		print "doing: encoder "
		print "value C1: ",component.get_dist()
		pass
	match = re.search(r"\Aexit", command)
	if(match):
		component_measure.kill()
		run = False #ends the loop
		pass