树莓派控制步进电机(下):软件编程

目录

说明

软件编程

树莓派的RPI编程

基本测试程序

参考文献


说明

在上一篇博文中我们介绍了树莓派控制步进电机所需要的硬件连接,本篇博文主要介绍软件编程。这里我们使用的是树莓派4B开发板,步进电机为6线两相步进电机,驱动器采用的是DM542。

软件编程

树莓派的RPI编程

树莓派中可以使用RPi.GPIO库对GPIO进行访问。

有两种方法可以在 RPi.GPIO 中对 Raspberry Pi 上的 IO 引脚进行编号。首先是使用 BOARD 编号系统。这是指 Raspberry Pi 板的 P1 接头上的引脚编号。使用这种编号系统的优势在于,无论 RPi 的电路板版本如何,硬件都将始终工作,而无需更改代码。

有关GPIO库的更多说明参见参考文献3。

基本测试程序

下面是个简单的测试程序。在这个程序中DIR_PIN和PUL_PIN分别对应DIR+和PUL+信号,我们先将两个管脚设置为输出,然后将DIR+设置为低,逆时针旋转。程序中连续向PUL+发送2000个脉冲。我们通过DM542的拨码开关,设置为400个脉冲为一圈,所以2000个脉冲会让电机转5圈。每个脉冲的周期是20ms,如果希望调整转速,可以改变这个周期。

import RPi.GPIO as GPIO
from time import sleepDIR_PIN = 40
PUL_PIN = 32GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
GPIO.setup(DIR_PIN, GPIO.OUT)
GPIO.setup(PUL_PIN, GPIO.OUT)
GPIO.output(DIR_PIN,GPIO.LOW)for i in range(2000):GPIO.output(PUL_PIN, GPIO.HIGH)sleep(0.01)GPIO.output(PUL_PIN, GPIO.LOW)sleep(0.01)GPIO.cleanup()   

参考文献

  1. 叕叒双又,树莓派4硬件---GPIO篇,https://www.cnblogs.com/guochaoxxl/p/11728108.html
  2. mob6454cc6a01b7 ,树莓派pwm控制电机python 树莓派 控制电机,https://blog.51cto.com/u_16099225/7598976
  3. 春天里晴朗的天空,树莓派(一)python接口RPi.GPIO介绍,树莓派(一)python接口RPi.GPIO介绍-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/6107.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TypeScript 的 interface

在TypeScript(TS)中,interface 是一个非常核心的概念,用于定义类型结构。它帮助开发者为对象、函数参数或者返回值等设定一种结构化的类型规范。接口允许你定义一个蓝图,描述一个对象应该具有的形状(属性和…

【More Effective C++】条款25:将构造函数和非成员函数虚拟化

构造函数虚化: NewsLetter构造函数,能根据不同数据建立不同类型的对象,行为与构造函数相似; class NLComponent {}; class TextBlock: public NLComponent {}; class Graphic: public NLComponent {}; class NewsLetter { publi…

Telegram电报+86手机接收验证码及账号解封方法

Telegram电报86手机无法接受验证码目前可用Telegram X获取,测试可用。获取验证码的前提是需要确保网络通畅 不要同一时段获取超过太多验证码,获取过多验证码将会很长一段时间收不到验证码,6小时最多获取2次验证码。 方法1:使用官…

HTML_CSS学习:背景、鼠标相关属性

一、背景相关属性 相关代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>背景相关属性</title><style>body{background-color: greenyellow;}div{width: 400px;height: …

Java 基础面试 -- 异常处理

一、引言 在Java编程中&#xff0c;异常处理是确保程序稳定性和健壮性的重要机制。当程序在运行时遇到不可预见的问题&#xff0c;如文件读取失败、网络错误、除零异常等&#xff0c;异常处理机制允许我们捕获这些错误&#xff0c;并进行相应的处理&#xff0c;从而避免程序崩…

[实例] Unity Shader 利用顶点着色器模拟简单水波

我们都知道顶点着色器可以用来改变模型各个顶点的位置&#xff0c;那么本篇我们就利用顶点着色器来做一个模拟简单水波的应用。 1. 简谐运动 在进行模拟水波之前&#xff0c;我们需要了解简谐运动&#xff08;Simple Harmonic Motion&#xff09;公式&#xff1a; 其中&#…

A5资源网有哪些类型的资源可以下载?

A5资源网提供了广泛的资源下载&#xff0c;包括但不限于以下类型&#xff1a; 设计素材&#xff1a;包括各类图标、矢量图、背景素材、UI界面元素等&#xff0c;适用于网页设计、平面设计等领域。 图片素材&#xff1a;提供高质量的照片、插图、摄影作品等&#xff0c;可用于…

Java里面的方法引用

Java里面的方法引用 方法引用 引用处必须是函数式接口 :: 方法引用符 被引用的地方必须已经存在 被引用方法的形参和返回值需要和抽象方法保持一致 被引用方法的功能要满足当前需求 引用静态方法 类名::静态方法 引用成员方法 对象::成员方法 this::成员方法 super::成…

【文献阅读】 The ITS Irregular Terrain Model(Longely-Rice模型)海上电波传播模型

前言 因为最近在做海上通信的一个项目&#xff0c;所以需要对海上的信道进行建模&#xff0c;所以才阅读到了这一篇文献&#xff0c;下面的内容大部分是我的个人理解&#xff0c;如有错误&#xff0c;请见谅。欢迎在评论区和我一起讨论。 Longely-Rice模型介绍 频率介于 20 …

leetcode刷题记录—二分

1 二分 33. 搜索旋转排序数组 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转&#xff0c;使数组变为 [nums[k], nums[k1], ..., num…

深入理解Linux内核:访问文件

目录 五种常见的模式 读写文件 从文件中读取数据 函数do_generic_file_read() 普通文件的readpage方法 块设备文件的readpage方法 文件的预读 page_cache_readahead()函数 handle_ra_miss()函数 写入文件 普通文件的prepare_write和commit_write方法 块设备文件的pr…

数据恢复软件:适用于 Windows 的 10 款最佳数据恢复软件

当您不小心丢失计算机硬盘驱动器中的数据时&#xff0c;您可能会发现自己处于尴尬的境地。当您无法找到所有重要数据和文件时&#xff0c;这真的很可怕。 但是&#xff0c;通过使用数据恢复软件&#xff0c;您可以在PC上恢复数据。 在这里&#xff0c;我们展示了 10 款最佳数据…

基于Spring Boot的外卖点餐系统设计与实现

基于Spring Boot的外卖点餐系统设计与实现 开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/idea 系统部分展示 网站首页界面图&#xff0c;通过进入网站可以查看首页、…

uniapp 禁止截屏(应用内,保护隐私)插件 Ba-ScreenShot

禁止截屏&#xff08;应用内&#xff0c;保护隐私&#xff09; Ba-ScreenShot 简介&#xff08;下载地址&#xff09; Ba-ScreenShot 是一款uniapp禁止应用内截屏的插件&#xff0c;保护隐私&#xff0c;支持禁止截屏、放开截屏 截图展示 也可关注博客&#xff0c;实时更新最…

用keras识别狗狗

一、需求场景 从照片从识别出狗狗 from keras.applications.resnet50 import ResNet50 from keras.preprocessing import image from keras.applications.resnet50 import preprocess_input, decode_predictions import numpy as np# 加载预训练的ResNet50模型 model ResNet5…

Linux Makefile之优化

1 概述 前面写了两篇关于Makefile的文章Linux Makefile编写之静态库和Linux Makefile编写之可执行程序.虽然编译没有问题&#xff0c;但还有优化的空间。 2 优化 优化列表&#xff1a; 目标文件放入单独目录。隐藏编译命令。增加头文件依赖。增量编译&#xff0c;只编译修改…

免安装SQL管理工具HeidiSQL建库如何选Collation字符校对

免安装SQL管理工具HeidiSQL 文章目录 免安装SQL管理工具HeidiSQL一、安装二、建库因此&#xff0c;通常我们选择&#xff1a; 一、安装 到官方网址&#xff1a;https://www.heidisql.com/ 下载后按不同版本安装或解压&#xff0c;运行目录中的heidisql应用程序。 该工具可以对…

【Linux系统编程】第十二弹---编辑器gcc/g++使用

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、什么是gcc/g 2、gcc/g编辑器的安装 3、gcc/g编译的四个步骤 2.1、预处理 2.2、编译 2.3、汇编 2.4、链接 4、函数库 …

WSL2连接Windows主机的Mysql

文章目录 需求查看主机IP防火墙设置Mysql设置允许远程连接WSL2连接Mysql 需求 在WSL2&#xff08;本机Ubuntu20.04&#xff09;运行的程序需要将数据写入到本机的Mysql服务器中 查看主机IP 两种办法&#xff1a; Windows主机输入 ipconfig&#xff0c;找到带有WSL后缀的部分…

pytorch 实现语义分割 PSPNet

语意分割是指一张图片上包含多个物体&#xff0c;通过语义分割可以识别物体分类、物体名称、像素识别的任务。和物体检测不同&#xff0c;他不会将物体框出来&#xff0c;而是根据像素的归属把物体标注出来。PSPNet 的输入是一张图片&#xff0c;例如300500&#xff0c;那么输出…