python舵机控制程序_用python3实现raspberry pi(树莓派)两路舵机摄像头控制程序...

本文介绍了使用Python3在Raspberry Pi上控制两路舵机的摄像头程序。通过`steering.py`实现舵机控制,`camera_controler.py`实现摄像头的上下左右转动。程序读取`config.ini`配置文件,根据输入指令调整摄像头方向。
摘要由CSDN通过智能技术生成

目录

1. 舵机控制程序

2. 配置文件

3. 摄像机控制程序

关于舵机的理论知识,网上有比较多的介绍,这里我就不赘述了(我也说不清楚)。这里只是简单说一下我所了解的,以及自己的一些想法:

舵机只能有两个旋转方向:要么正转、要么反转

舵机的转动有一个能够转动的最大角度和最小角度,当转动达到最值,也就不能再转动了(在舵机允许的最值之内,你可以自己重新定义这些最值)

要实现摄像头既能水平方向转动,又能垂直方向转动,那就需要两个舵机

我先实现一个控制舵机的类,用来实现一个舵机运动方向的控制;然后定义一个摄像机控制类,来实现摄像机方向的控制

我所实现的功能是输入对应指令,可以控制摄像头上、下、左、右方向的运动,以及让摄像头回归初始位置

说明:摄像头实现摄像功能这里就不讲了,网上有很多资料可以参考,我用的是MJPG-Streamer,实现方式还是比较简单的

安装参考可以戳这里

1. 舵机控制程序

steering.py:

# -*- coding: UTF-8 -*-

import RPi.GPIO as GPIO

import time

import atexit

# 这个类表示单个的SG90模块

class Steering:

max_delay = 0.2

min_delay = 0.04

def __init__(self, channel, init_position, min_angle, max_angle, speed):

self.channel = channel

self.init_position = init_position

self.position = init_position

self.min_angle = min_angle

self.max_angle = max_angle

self.speed = speed

atexit.register(GPIO.cleanup)

GPIO.setmode(GPIO.BOARD)

GPIO.setwarnings(False)

GPIO.setup(self.channel, GPIO.OUT, initial=False)

self.pwm = GPIO.PWM(self.c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值