【雕爷学编程】Arduino动手做(161)---16路PWM舵机驱动板2

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百六十一:16路PWM Servo舵机驱动板 机器人控制器IIC接口驱动器模块 PCA9685

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

16路PWM舵机驱动板PCA9685模块引脚排列

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
两侧有两组控制输入引脚。引脚的两侧是相同的!使用您喜欢的任何一侧,您还可以通过并排连接两个轻松链接

1、电源引脚
GND - 这是电源和信号接地引脚,必须连接
VCC - 这是逻辑电源引脚,将其连接到要用于PCA9685输出的逻辑电平,最大应为3 - 5V!它也用于SCL / SDA上的10K上拉,因此除非您有自己的上拉,否则也要使其与微控制器的逻辑电平相匹配!
V+ - 这是一个可选的电源引脚,将为伺服系统提供分布式电源。如果不用于舵机,则可以保持断开连接。芯片根本不使用它。您还可以从电路板顶部的 2 针接线端子注入电源。如果您使用伺服系统,则应提供 5-6VDC。如果必须,您可以提高到 12VDC,但如果您搞砸并将 VCC 连接到 V+,您可能会损坏您的电路板!

2、控制引脚
SCL - I2C 时钟引脚,连接到微控制器 I2C 时钟线。可以使用3V或5V逻辑,并且对VCC具有弱上拉
SDA - I2C 数据引脚,连接到微控制器 I2C 数据线。可以使用3V或5V逻辑,并且对VCC具有弱上拉
OE - 输出使能。可用于快速禁用所有输出。当此引脚为低电平时,所有引脚均使能。当引脚为高电平时,输出被禁用。默认情况下拉低,因此它是可选引脚!

3、输出端口
有 16 个输出端口。每个端口有 3 个引脚:V+、GND 和 PWM 输出。每个PWM完全独立运行,但它们必须具有相同的PWM频率。也就是说,对于 LED,您可能需要 1.0 KHz,但伺服系统需要 60 Hz - 因此您不能将一半用于 LED @ 1.0 KHz,一半用于 @ 60 Hz。

它们是为伺服设置的,但您可以将它们用于 LED!每个引脚的最大电流为 25mA。有 220 欧姆电阻与所有 PWM 引脚串联,输出逻辑与 VCC 相同,因此如果使用 LED,请记住这一点。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
16路PWM舵机驱动板PCA9685模块实验所需硬件

在这里插入图片描述
安装16路PWM舵机驱动板PCA9685模块实验所需库
下载SunFounder_PCA9685
需要添加 Adafruit PWM 伺服驱动程序库 –
https://github.com/adafruit/Adafruit-PWM-Servo-Driver-Library
https://github.com/adafruit/Adafruit-PWM-Servo-Driver-Library/archive/master.zip

在这里插入图片描述

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百六十一:16路PWM Servo舵机驱动板 机器人控制器IIC接口驱动器模块 PCA9685
项目一:控制一颗LED灯
Arduino实验接线示意图

在这里插入图片描述

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百六十一:16路PWM Servo舵机驱动板 机器人控制器IIC接口驱动器模块 PCA9685

项目一:控制一颗LED呼吸灯效果

Arduino实验开源代码

/*【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)实验一百六十一:16路PWM Servo舵机驱动板 机器人控制器IIC接口驱动器模块 PCA9685项目一:控制一颗LED呼吸灯效果*/#include <Wire.h>#include <Adafruit_PWMServoDriver.h>// called this way, it uses the default address 0x40Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();void setup() {Serial.begin(9600);Serial.println("16 channel PWM test!");pwm.begin();pwm.setPWMFreq(1600);  // This is the maximum PWM frequency// save I2C bitrateuint8_t twbrbackup = TWBR;// must be changed after calling Wire.begin() (inside pwm.begin())TWBR = 12; // upgrade to 400KHz! }void loop() {// Drive each PWM in a 'wave'for (uint16_t i=0; i<4096; i += 8) {for (uint8_t pwmnum=0; pwmnum < 16; pwmnum++) {pwm.setPWM(pwmnum, 0, (i + (4096/16)*pwmnum) % 4096 );}}}

实验串口返回情况

在这里插入图片描述
Arduino实验场景图

在这里插入图片描述

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

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

相关文章

【刷题】在二叉树中分配硬币

在二叉树中分配硬币 https://leetcode.cn/problems/distribute-coins-in-binary-tree/description/ 描述 给定一个有 N 个结点的二叉树的根结点 root&#xff0c;树中的每个结点上都对应有 node.val 枚硬币&#xff0c;并且总共有 N 枚硬币。 在一次移动中&#xff0c;我们…

Unity DOTS纯ECS实现虚拟摇杆Joystick控制角色移动

上篇已经实现了ECS框架下的IBeginDragHandler、IDragHandler、IEndDragHandler这几个拖动事件&#xff0c;使得可以任意给ECS框架下的UI(2D entity)响应拖动事件。本篇分享下在前篇实现的功能的基础上再实现一个常用的摇杆控制角色移动的功能。 需要注意的一点&#xff0c;目前…

如何从一个仪表盘管理多个WordPress网站?

您是否正在寻找一种管理多个WordPress网站的简单方法&#xff1f; 监控多个网站并使其保持更新可能非常耗时。 幸运的是&#xff0c;有几种 WordPress 管理工具可以让您从单个仪表板管理多个 WordPress 网站变得非常容易。这将帮助您节省大量时间&#xff0c;同时使所有 Word…

Android复杂UI的性能优化实践 - PTQBookPageView 性能优化记录

作者&#xff1a;彭泰强 1 评价指标&优化成果 要做性能优化&#xff0c;首先得知道性能怎么度量、怎么表示。因为性能是一个很抽象的词&#xff0c;我们必须把它量化、可视化。那么&#xff0c;因为是UI组件优化&#xff0c;我首先选用了GPU呈现模式分析这一工具。 在手机…

如何应对ChatGPT这一波AI浪潮

最近我在写一系列文章&#xff0c;其中包括《ChatGPT 实战系列》和《WPS Office AI实战系列》。想通过这些文章提供实践指导&#xff0c;既自己动手实践了&#xff0c;也能与大家分享我的实践结果&#xff0c;这是一个学习的过程。在实践过程中&#xff0c;我发现有些实用的方面…

7.kafka+ELK连接

文章目录 kafkaELK连接部署Kafkakafka操作命令kafka架构深入FilebeatKafkaELK连接 kafkaELK连接 部署Kafka ###关闭防火墙systemctl stop firewalld systemctl disable firewalldsetenforce 0vim /etc/selinux/configSELINUXdisabled###下载安装包官方下载地址&#xff1a;ht…

【数据结构】初识

&#x1f341; 博客主页:江池俊的博客_CSDN博客-C语言——探索高效编程的基石领域博主 &#x1f341; 专栏&#xff1a;https://blog.csdn.net/2201_75743654/category_12348274.html &#x1f341; 如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏&#x1f…

【Linux】进程优先级

Linux 进程优先级 为什么要有优先级的划分&#xff1f;Linux 环境设置优先级的具体做法并发运行环境变量如何通过代码获取环境变量 环境变量的来源 为什么要有优先级的划分&#xff1f; 优先级的规定就是为了确定某种资源获取的先后顺序。 本质原因是因为CPU资源是有限的。进程…

LIS检验信息系统

LIS检验信息系统是以病人为中心、以业务处理为基础、以提高检验科室管理水平和工作效率为目标&#xff0c;将医学检验、科室管理和财务统计等工作进行整合&#xff0c;全面改善检验科室的工作现状。 LIS把检验、检疫、放免、细菌微生物及科研使用的各类分析仪器&#xff0c;通…

uniapp实现聊天消息触,vue3和vue2实现聊天消息触底 scrollTop ,scrollHeight Pc端H5端都适用

uniapp触底SDN链接如下(本人的另一篇博客) uniapp聊天时时触底链接 Pc端 模拟手机端H5 vue3写法 <template><div><!-- 聊天窗体 --><div class"test" id"gundong"><div class"text" v-for"p in chat"&…

SQL Server数据库 -- 表的高级查询

文章目录 一、子查询 嵌套子查询相关子查询二、查询运算 并运算union交运算intersect差运算except三、函数的使用 if语句while语句case语句四、总结 前言 高级子查询是对查询更灵活的运用&#xff0c;学会了高级查询将对数据库使用有很大的帮助。 一、子查询 1、子查询简介 在…

比亚迪海外市场势起

监制 | 何玺 排版 | 叶媛 海外市场正成为比亚迪新的增长点。 据媒体报道&#xff0c;从去年下半年至今&#xff0c;比亚迪已经在至少四个国家的纯电车型市场占据“销冠”位置。对于国内用户群体来说&#xff0c;比亚迪销量“霸屏”早已不是新闻&#xff0c;但在海外也保持这个…