# -*- coding: utf-8 -*- import time import binascii import RPi.GPIO as GPIO from smbus import SMBus XRservo = SMBus(1) GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) time.sleep(2) XRservo.XiaoRGEEK_SetServo(0x08, 90) print('ser1= 90') time.sleep(0.5) XRservo.XiaoRGEEK_SetServo(0x01, 30) print('ser1= 30°并存储') time.sleep(0.1) XRservo.XiaoRGEEK_SaveServo() time.sleep(0.5) XRservo.XiaoRGEEK_SetServo(0x01, 90) print('ser1= 90°') time.sleep(0.5) XRservo.XiaoRGEEK_SetServo(0x01, 150) print('ser1= 150°') time.sleep(1.5) XRservo.XiaoRGEEK_ReSetServo() print('恢复存储的角度30°') ''' 整个程序功能为: 舵机转动到90° 舵机转动到30°,并存储,
from smbus import SMBus XRservo = SMBus(1) GPIO.setmode(GPIO.BCM) ##信号引脚模式定义,使用.BCM模式 GPIO.setwarnings(False) ''' XRservo中,有3个标准函数可直接使用 1、设置舵机角度 XRservo.XiaoRGEEK_SetServo(0x01,angle) 注释:此函数为设置1号舵机角度为angle 2、舵机角度记忆,存储当前所有舵机角度值。 XRservo.XiaoRGEEK_SaveServo() 3、恢复所有舵机至已存储的角度 XRservo.XiaoRGEEK_ReSetServo() ''' time.sleep(2) XRservo.XiaoRGEEK_SetServo(0x01, 90) ##设置1舵机角度90° print 'ser1= 90° ' time.sleep(0.5) XRservo.XiaoRGEEK_SetServo(0x01, 30) ##设置1舵机角度30° print 'ser1= 30°并存储 ' time.sleep(0.1) XRservo.XiaoRGEEK_SaveServo() ##存储当前角度(30°) time.sleep(0.5) XRservo.XiaoRGEEK_SetServo(0x01, 90) ##设置1舵机角度90° print 'ser1= 90° ' time.sleep(0.5) XRservo.XiaoRGEEK_SetServo(0x01, 150) ##设置1舵机角度150° print 'ser1= 150° ' time.sleep(1.5) XRservo.XiaoRGEEK_ReSetServo() ##恢复舵机存储的角度(30°) print '恢复存储的角度30° '
IN2 = 16 #//电机接口2 IN3 = 21 #//电机接口3 IN4 = 26 #//电机接口4 #########电机初始化为LOW########## GPIO.setup(ENA, GPIO.OUT, initial=GPIO.LOW) GPIO.setup(IN1, GPIO.OUT, initial=GPIO.LOW) GPIO.setup(IN2, GPIO.OUT, initial=GPIO.LOW) GPIO.setup(ENB, GPIO.OUT, initial=GPIO.LOW) GPIO.setup(IN3, GPIO.OUT, initial=GPIO.LOW) GPIO.setup(IN4, GPIO.OUT, initial=GPIO.LOW) ##########超声波模块管脚类型设置######### GPIO.setup(TRIG, GPIO.OUT, initial=GPIO.LOW) #超声波模块发射端管脚设置trig GPIO.setup(ECHO, GPIO.IN, pull_up_down=GPIO.PUD_UP) #超声波模块接收端管脚设置echo XRservo.XiaoRGEEK_SetServo(0x07, 70) ##设置1舵机角度90° def Motor_Forward(): print 'motor forward' GPIO.output(ENA, True) GPIO.output(ENB, True) GPIO.output(IN1, True) GPIO.output(IN2, False) GPIO.output(IN3, True) GPIO.output(IN4, False) def Motor_Backward(): print 'motor_backward' GPIO.output(ENA, True)