#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)
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:')
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)
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
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 )
# 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)
#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)
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