def setup(pin): """ Setup GPIO pin """ GPIO.setmode(GPIO.BOARD) GPIO.setup(pin, GPIO.OUT) GPIO.setwarnings(False)
def gpio_setup(): """ Setup GPIO_PIN as PWM input and start fan """ try: GPIO.setwarnings(False) GPIO.setmode(GPIO.BOARD) GPIO.setup(GPIO_PIN, GPIO.OUT) fan = GPIO.PWM(GPIO_PIN, PWM_FREQ) return fan except IndexError: print('\n Error: Pin "{0}" does not exist.\n') sys.exit(2) else: print('\n Error: Could not setup GPIO pin "{0}".\n'.format(GPIO_PIN)) sys.exit(4)
def __init__(self): # rospy.init_node("spinny") self.command_topic = '/motor_speed' self.sub = rospy.Subscriber(self.command_topic, Int32, self.speed_callback) print("Setting up GPIO pins") # rospy.on_shutdown(self.shut) self.pwm_pin = 16 self.power_pin = 18 GPIO.setwarnings(True) GPIO.setmode(GPIO.BOARD) GPIO.setup(self.pwm_pin, GPIO.OUT) GPIO.setup(self.power_pin, GPIO.OUT, initial=GPIO.HIGH) print("Starting PWM output") self.p = GPIO.PWM(self.pwm_pin, 50) self.p.start(0)
print("GPIO.IN " + str(GPIO.IN)) print("GPIO.HIGH " + str(GPIO.HIGH)) print("GPIO.LOW " + str(GPIO.LOW)) print("GPIO.PUD_UP " + str(GPIO.PUD_UP)) print("GPIO.PUD_DOWN " + str(GPIO.PUD_DOWN)) print("GPIO.VERSION " + str(GPIO.VERSION)) print("GPIO.RPI_INFO " + str(GPIO.RPI_INFO)) # Set Variables var_gpio_out = 82 var_gpio_in = 81 # GPIO Setup GPIO.setwarnings(True) GPIO.setmode(GPIO.ROCK) GPIO.setup(var_gpio_out, GPIO.OUT, initial=GPIO.HIGH) # Set up GPIO as an output, with an initial state of HIGH GPIO.setup(var_gpio_in, GPIO.IN, pull_up_down=GPIO.PUD_UP) # Set up GPIO as an input, pullup enabled # Test Output print("") print("Testing GPIO Input/Output:") var_gpio_state = GPIO.input(var_gpio_out) # Return state of GPIO print("Output State : " + str(var_gpio_state)) # Print results sleep(1) GPIO.output(var_gpio_out, GPIO.LOW) # Set GPIO to LOW # Test PWM Output p=GPIO.PWM(var_gpio_out, 60) # Create PWM object/instance print("")
# The RockPro version of the library seems to return strings not ints - is this # intended behavior? HIGH = "1" LOW = "0" #LED_PIN = 27 #BUTTON_PIN = 4 LED_PIN = 16 BUTTON_PIN = 13 GPIO.setmode(GPIO.BOARD) GPIO.setrock('ROCKPRO64') GPIO.setwarnings(False); GPIO.setup(LED_PIN, GPIO.OUT) GPIO.output(LED_PIN, GPIO.LOW) led_state = False time.sleep(1) GPIO.setup(BUTTON_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP) class MyHandlerForHTTP(BaseHTTPRequestHandler): """ Handler for HTTP messages """ def do_GET(self): global led_state # pylint: disable=invalid-name """
#!/usr/bin/env python import R64.GPIO as GPIO from time import sleep import rospy from std_msgs.msg import Int32 pwm_pin=16 power_pin=18 GPIO.setwarnings(True) GPIO.setmode(GPIO.BOARD) GPIO.setup(pwm_pin, GPIO.OUT) GPIO.setup(power_pin, GPIO.OUT, initial=GPIO.HIGH) print("Starting PWM output") p=GPIO.PWM(pwm_pin,50) p.start(0) def speed_callback(msg): num = msg.data p.ChangeDutyCycle(num) print("Changing Duty Cycle") print(num) if __name__ == "__main__": rospy.init_node("spinny") print("Setting up GPIO pins")
#!/usr/bin/env python # Allison Creely, 2018, LGPLv3 License # Rock 64 GPIO Library for Python import R64.GPIO as GPIO from time import sleep # Set Variables var_gpio_out = 16 # GPIO Setup GPIO.setwarnings(True) GPIO.setmode(GPIO.BOARD) GPIO.setup(var_gpio_out, GPIO.OUT, initial=GPIO.HIGH ) # Set up GPIO as an output, with an initial state of HIGH # Test Output print("") print("Testing GPIO Input/Output:") while True: print("On") GPIO.output(var_gpio_out, GPIO.HIGH) sleep(1) print("Off") GPIO.output(var_gpio_out, GPIO.LOW) sleep(1)
# NOTE: the R64GPIO package doesn't support "add_event_detect", so we can't use callbacks # Initialize GPIO.cleanup() GPIO.setmode(GPIO.BOARD) PCB = 10 RESET = 3 POWER = 5 LED = 7 FAN = 8 # Tell the script if this is running on a ROCK64 or ROCKPRO64 GPIO.setrock("ROCK64") # Setup GPIO.setup(PCB, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(RESET, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(POWER, GPIO.IN) GPIO.setup(LED, GPIO.OUT) GPIO.setup(FAN, GPIO.OUT) IGNORE_PWR_OFF = False if(GPIO.input(POWER) == "0"): # System was started with power switch off IGNORE_PWR_OFF = True # Turn on LED AND FAN GPIO.output(LED, GPIO.HIGH) GPIO.output(FAN, GPIO.HIGH) # Function that blinks LED once when button press is detected def Blink_LED():
import R64.GPIO as GPIO from time import sleep GPIO.setmode(GPIO.BOARD) GPIO.setup(16, GPIO.OUT) GPIO.setup(18, GPIO.OUT, initial=GPIO.HIGH) p = GPIO.PWM(16, 50) p.start(0) sleep(5) p.ChangeDutyCycle(20) sleep(5) p.ChangeDutyCycle(40) sleep(5) p.ChangeDutyCycle(60) sleep(5) p.ChangeDutyCycle(80) sleep(5) p.ChangeDutyCycle(98) sleep(5) p.stop() GPIO.cleanup()
#!/usr/bin/python from flask import request from flask_api import FlaskAPI import R64.GPIO as GPIO import config import time LEDS = {"trigger": 16} #LEDS = {"green": 16} GPIO.setmode(GPIO.BOARD) GPIO.setup(LEDS["trigger"], GPIO.OUT) #GPIO.setup(LEDS["red"], GPIO.OUT) app = FlaskAPI(__name__) @app.route('/', methods=["GET"]) def api_root(): return { "led_url": request.url + "led/(trigger | green | red)/", "led_url_POST": { "state": "(0 | 1)" } } @app.route('/led/<color>/', methods=["GET", "POST"]) def api_leds_control(color): if request.method == "POST": if color in LEDS: