ESP32(或ESP32CAM)使用PCA9685模块arduino,自定义I2C引脚

这篇具有很好参考价值的文章主要介绍了ESP32(或ESP32CAM)使用PCA9685模块arduino,自定义I2C引脚。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文章目录

  • 前言
  • 一、PCA9685是什么?
  • 二、使用步骤
    • 1.引入库
    • 2.接线
    • 3.代码
    • 4.讲解

 

一、PCA9685是什么?

舵机驱动板也可以生成PWM波控制LED等,但也仅仅只是一个驱动板,我们还需要一个控制板,ESP32是个不错的选择,ESP32CAM也是,但ESP32CAM没有引出I2C的引脚,需要自己去设置。esp32 板是否需要引入 i2c库,硬件工程

 这个图是随便找的,大家可以看到没有,ESP32有的但也只有一个引出来,如果有多个I2C设备,这个设置就起到了很关键的作用,接下来我会为大家讲解。

二、使用步骤

1.引入库

Adafruit_PWMServoDriver.h

 esp32 板是否需要引入 i2c库,硬件工程

2.接线

这个是找的图,如果不额外皆电源的化,记得PCA9685的V+接3v,VCC接5V

esp32 板是否需要引入 i2c库,硬件工程

3.代码

代码如下(示例):


#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>

#define SDA 32
#define SCL 33

// called this way, it uses the default address 0x40
Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(0x40,Wire);

#define SERVO_FREQ 50

float mapTo(float val, float I_Min, float I_Max, float O_Min, float O_Max){
  return(((val-I_Min)*((O_Max-O_Min)/(I_Max-I_Min)))+O_Min);
}
int ts(int angle){
  float an = mapTo((float)angle,0,180,0.5,2.5);
  int re = an/20*4096;
  Serial.println(re);
  return re;
}

void setup() {
  Serial.begin(115200);
  Wire.begin(SDA,SCL,100000);
  pwm.begin();
  pwm.setPWMFreq(SERVO_FREQ);
  delay(10);
}

void loop() {
  if(Serial.available())
  {
    int rev=Serial.parseInt();
    Serial.print("rev=");
    Serial.println(rev);
    pwm.setPWM(0, 0, ts(rev));
  }
}

讲解:

 自定义引脚,GPIO22接PCA9685的SDA,GPIO22接PCA9685的SCL

#define SDA 32
#define SCL 33

 把I2C进行配置文章来源地址https://www.toymoban.com/news/detail-521506.html

Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(0x40,Wire);

到了这里,关于ESP32(或ESP32CAM)使用PCA9685模块arduino,自定义I2C引脚的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • cubemx stm32 pca9685pw模块 16路PWM 可用于舵机驱动 驱动代码

    淘宝链接请点这里 淘宝资料资料: 链接:https://pan.baidu.com/s/1Kda-c7QdZdQ03FBMa0zeRA 提取码:1234 这个模块是 I2C 通信控制 16 路 PWM 的模块。 所有路的 频率 是统一设置的,所以每一路的频率都一样,但是每一路可以设置不同的占空比。 PCA9685的分辨率是12位,即占空比控制时,0-

    2024年02月06日
    浏览(47)
  • stm32中如何使用PCA9685控制舵机(详解)

    最近在公司实习,都说跨入职场是让人进步最快的方式,记录一下我自学加同学指点学到新知识。 PCA9685是一个基于IIC通信的16路PWM输出模块,可以在单片机资源不足的情况下进行扩展使用。 i2c通信,只需要2根i2c线就可以控制16路pwm,周期和占空比都可控。 可以多个模块级联

    2024年02月06日
    浏览(55)
  • ESP8266基于Lua开发使用U8g2模块驱动 i2c ssd1306 OLED显示

    📍相关篇《ESP8266基于Lua开发点灯示例》 📖U8g2对应的API接口函数: https://nodemcu.readthedocs.io/en/release/modules/u8g2/ 📺驱动显示效果: 🔖官方U8g2驱动Demo : https://github.com/nodemcu/nodemcu-firmware/blob/release/lua_examples/u8g2/graphics_test.lua ✨在使用U8g2时,可能会出现上传过程中报错的问题:

    2024年02月06日
    浏览(50)
  • Arduino IDE + Esp32 Cam + 实现视频流 + 开发环境部署

    1、开发环境 Arduino ide 版本:2.2.1 esp32工具:2.0.5 示例代码

    2024年02月08日
    浏览(71)
  • 【雕爷学编程】Arduino智能家居之ESP32-CAM运动检测和图像捕获

    Arduino是一个开放源码的电子原型平台,它可以让你用简单的硬件和软件来创建各种互动的项目。Arduino的核心是一个微控制器板,它可以通过一系列的引脚来连接各种传感器、执行器、显示器等外部设备。Arduino的编程是基于C/C++语言的,你可以使用Arduino IDE(集成开发环境)来

    2024年03月26日
    浏览(52)
  • 【雕爷学编程】Arduino智能家居之ESP32-CAM远程监控和图像存储

    Arduino是一个开放源码的电子原型平台,它可以让你用简单的硬件和软件来创建各种互动的项目。Arduino的核心是一个微控制器板,它可以通过一系列的引脚来连接各种传感器、执行器、显示器等外部设备。Arduino的编程是基于C/C++语言的,你可以使用Arduino IDE(集成开发环境)来

    2024年04月27日
    浏览(45)
  • ESP32 CAM GPIO引脚定义

    官方文档 ESP32-CAM摄像头开发板 | 安信可科技    注意: 1.请保证模块输入电源至少5V 2A,否则图片会有几率出现水纹。 2.ESP32 GPIO32管脚控制摄像头电源,当摄像头工作时,请把GPIO32拉低。 3.由于IO0连接摄像头XCLK,使用时请把IO0悬空,请勿接高低电平。 4. 出厂已含有默认固件,不

    2024年02月16日
    浏览(39)
  • STM32 HAL库硬I2C的TOF050C模块

    最近在倒腾毕业设计,需要用到TOF050C,但是现有的案例都是软IIC,并且还是基于STM32F103的,笔者用的STM32F767,没有GPIO-CRH寄存器。问题来了,如果我每次都要去看寄存器手册属实费时间,这不干脆直接用硬IIC? 于是乎,打开了TOF050C手册,硬啃! 这手册好在它有工作流程图,

    2024年02月14日
    浏览(59)
  • 【雕爷学编程】Arduino智能家居之使用Arduino Uno和ESP32模块连接到WiFi网络

    Arduino是一个开放源码的电子原型平台,它可以让你用简单的硬件和软件来创建各种互动的项目。Arduino的核心是一个微控制器板,它可以通过一系列的引脚来连接各种传感器、执行器、显示器等外部设备。Arduino的编程是基于C/C++语言的,你可以使用Arduino IDE(集成开发环境)来

    2024年01月19日
    浏览(53)
  • ESP32 CAM 模块和 OpenCV 的二维码扫描器

    概述 该项目是关于使用 ESP32 CAM 模块和 OpenCV 设计的二维码扫描仪或阅读器。我们将使用 ESP32 摄像头模块和 python 库开发一个程序和设备,我们可以用它来扫描二维码。使用 ESP32 CAM,项目变得更便宜。 QR 码现在已经成为我们日常生活的一部分,因为我们几乎在任何地方都使用

    2024年02月16日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包