博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
py控制gpio,舵机来回转程序
阅读量:7207 次
发布时间:2019-06-29

本文共 917 字,大约阅读时间需要 3 分钟。

hot3.png

# 这就是一个控制舵机大概模式  自学记录

# 树莓派上运行精度还行,香蕉派上精度不足,非常不足。控制机器人之类必须要加pwm发生芯片

#!/usr/bin/env python

# -*- coding:utf-8 -*-

import RPi.GPIO as GPIO

import time
import signal
import atexit
import sys

# 清理gpio口

atexit.register(GPIO.cleanup)

# 使用gpio22口

servopin = 22
# 设置gpio模式
GPIO.setmode(GPIO.BCM)
# 设置
GPIO.setup(servopin, GPIO.OUT, initial=False)
# 定义50HZ赫兹
gp = GPIO.PWM(servopin,50)
# 从0 开始
gp.start(0)
# 先休息2毫秒?
time.sleep(2)
x = 0

def l(p):

  """设置0-180度 每15度一算占空比"""
  for i in range(0, 181, 15):
    x1=2.5 + 10 * i / 180
    p.ChangeDutyCycle(x1)
    time.sleep(0.1)
    p.ChangeDutyCycle(0)
    time.sleep(0.2)
    #print i

def r(p):
  """设置180-0度 每15度一算占空比"""
  for i in range(181, 0, -15):
    x2=2.5 + 10 * i / 180
    p.ChangeDutyCycle(x2)
    time.sleep(0.1)
    p.ChangeDutyCycle(0)
    time.sleep(0.2)
    #print i

while(True):

  """循环上面过程。其实就是舵机 180度 来回转"""
  x+=1
  print 'change...', x
  l(gp)
  print 'change...', x + 1
  r(gp)
 

转载于:https://my.oschina.net/raddleoj/blog/802658

你可能感兴趣的文章
交换排序
查看>>
【转】链表归并排序插入排序
查看>>
EL表达式和JSTL的使用
查看>>
递归:python 实现2分查找
查看>>
Centos6.5 安装 RabbitMQ3.6.1
查看>>
如何设置eclipse自动提示功能
查看>>
mosfet详解
查看>>
hdu1203
查看>>
for_each用法
查看>>
“.NET技术”Ajax和WEB服务数据格式:自定义返回格式
查看>>
DropzoneJS是一个提供文件拖拽上传并且提供图片预览的开源类库.
查看>>
国家计算机病毒中心假期后警惕病毒传播
查看>>
ASP.NET中JSON的序列化和反序列化,徐汇区网站设计
查看>>
JDBC
查看>>
github桌面工具commit不了解决
查看>>
HTML 笔记
查看>>
Lucene
查看>>
Manjaro搭建无密访问samba服务器
查看>>
Java-JSON
查看>>
阿里云服务器磁盘挂载
查看>>