PS2手柄模控制ESP32控制舵机 ArduinoPWM控制
使用PS2手柄模控制ESP32输出2路PWM信号控制舵机
1.ESP32引脚图
某宝常用EPS32的两种类型,对应下连接对应IO口的线就可以了~
注意将舵机正负,PS2手柄控制模块正、负分别连接在一起就行了.(必须查EPS32 USB供电,不然舵机运行不正常)
2.Arduino代码
来不及解释,先粘贴代码
#include <ESP32Servo.h>
#include <analogWrite.h>
//#include <tone.h>
#include <ESP32Tone.h>
#include <ESP32PWM.h>Servo a;
Servo b;
int VRX,VRY,p1,p2;
void setup(){a.attach(12);//指定舵机a的OUT引脚为p12号引脚b.attach(14);//指定舵机b的OUT引脚为p14号引脚Serial.begin(115200);p1=90;p2=90;
}
void loop(){VRX = analogRead(34);//获取A0引脚的输入值,即PS2摇杆X轴的数值VRY = analogRead(27);//获取D1引脚的输入值,即PS2摇杆Y轴的数值Serial.print("映射前x轴:");Serial.print(VRX);Serial.print(" ");Serial.print("映射前y轴:");Serial.print(VRY);Serial.print(" ");//p = map(i,0,1023,0,180);//将0到1023的值映射成0到180//k = map(j,0,1023,0,180);p1=SetPWM(VRX,p1);p2=SetPWM(VRY,p2);Serial.print("映射后x轴:");Serial.print(p1);Serial.print(" ");Serial.print("映射后y轴:");Serial.println(p2);a.write(p1);//设置舵机a角度为pb.write(p2);//设置舵机b角度为kdelay(100);
}
int SetPWM(int valp,int p)
{int vali;vali=GetKeyValue(valp);if (vali==-1){p+=10;}else if (vali==1){p-=10;}//限制舵机角度0-180if(p<=0){p=0;}else if (p>=180){p=180;}return p;
}
//方向判断函数:X轴为例,-1向左,0未操作,1向右
int GetKeyValue(int val){if (val<2000){return -1;}else if (val>3000){return 1;}else{return 0;}}
3.运行效果
舵机随着PS2手柄的方向而转动。
PS2手柄模控制ESP32控制舵机 ArduinoPWM控制相关推荐
- micropython esp32驱动舵机_关于micropython ESP32的MQTT通讯方式控制舵机
首先我们的前提是实践过我曾经写的关于micropython ESP32+PCA9685 舵机转速控制[https://blog.csdn.net/mrjiale/article/details/818 ...
- PS2手柄遥控控制灯开关(arduino)
PS2手柄遥控控制灯开关(arduino) 使用的材料 arduino板子: ps2遥控手柄; 一个5V供电的LDE: 连线 首先按照遥控手柄底座上的英文,你会发现一共有六根线,分别是GND,VCC, ...
- 物联网开发笔记(54)- 使用Micropython开发ESP32开发板之控制MG90S舵机
一.目的 这一节我们学习如何使用我们的ESP32开发板来控制舵机.前面我和大家使用Wokwi在线仿真讲过.这里我们再来学习一下,大家可以通过文章末尾的链接去购买适合的舵机来学习.这里我为了讲解方便依然 ...
- 使用PCA9685控制多个舵机
todolist 要单独去找舵机的两个极值的大小,然后去该前文的映射的初始值 把角度值打印出来 0.准备 0.1.硬件设备 0.2.软件安装 1.安装好Arduino IDE 可以前往Arduino官 ...
- 基于ESP8266远程舵机的控制与实现
一.ESP8266 CP2102介绍 NodeMCU板载ESP-12E(4MBFlash) WIFI模组和USB转TTL串口(CP2102/CH340)芯片,方便下载固件和调试, NodeMCU默认为 ...
- 物联网开发笔记(48)- 使用Micropython开发ESP32开发板之控制OLED ssd1306屏幕
一.目的 这一节我们学习如何使用我们的ESP32开发板来控制OLED ssd1306屏幕,此处使用的是I2C协议,大家可自行百度学习一下I2C. 二.环境 ESP32 + OLED ssd1306屏幕 ...
- 物联网开发笔记(58)- 使用Micropython开发ESP32开发板之控制2.90寸电子墨水屏模块黑白套件
一.目的 这一节我们学习如何使用我们的ESP32开发板来控制2.90寸电子墨水屏模块(黑白套件). 二.环境 ESP32 + 2.90寸 电子墨水屏模块 + Thonny IDE + 几根杜邦线 接线 ...
- 物联网开发笔记(63)- 使用Micropython开发ESP32开发板之控制ILI9341 3.2寸TFT-LCD触摸屏进行LVGL图形化编程:显示中文
一.目的 这一节我们学习如何使用我们的ESP32开发板来控制ILI9341 3.2寸TFT-LCD触摸屏进行LVGL图形化编程的第一步:显示中文. 二.环境 ESP32 + 3.2寸 ILI9341触 ...
- 物联网开发笔记(62)- 使用Micropython开发ESP32开发板之控制ILI9341 3.2寸TFT-LCD触摸屏进行LVGL图形化编程:环境搭建
一.目的 这一节我们学习如何使用我们的ESP32开发板来控制ILI9341 3.2寸TFT-LCD触摸屏进行LVGL图形化编程的第一步:环境搭建. 关键字:3.2寸SPI串口TFT液晶显示屏模块 IL ...
最新文章
- Centos7 下安装python3及卸载
- 如何通过五个简单步骤成为更好的Stack Overflow用户
- FTP开启虚拟用户访问
- linux select读取节点数据失败_MySQL中覆盖索引查询和select*查询执行结果案例分析...
- 【转】Java抽象类与接口的区别
- c语言i=5.6a=(int)i,第一章C语言概述.ppt
- Java集合的ConcurrentModificationException
- html变量改变结构,如何在html结构标签中使用js 变量 生成可变化的 title标题?
- php中array_flip数组翻转
- [引用]论文:基于CWM的ETL原型系统METL的设计与实现研究
- Python内置函数一览表
- 网络协议、socket、webSocket
- Excel统一将小写的金额转为大写汉字金额的操作
- 进博会中国自行车排名辐轮王自行车点赞中国GDP突破一百万亿元
- Unity—背包系统(思路总括)
- VS 错误: cout 不明确
- linux cpan 参数配置,Perl学习笔记之CPAN使用介绍
- 基于单片机的超市收银机
- 小白安装cadence virtuoso
- Python神经网络编程 | 专场送书活动
热门文章
- excel波士顿矩阵怎么做_EXCEL波士顿矩阵法图
- 查看apk的包名和启动页activity,adb命令启动app
- PySpark ERROR: Python in worker has different version 3.9 than that in driver 3.8
- 《盘点软件设计中的七大原则》
- php基础笔试题与答案解析(1)
- 游戏数值策划属性篇(一):关于属性设计的几点思考
- 惠普m1005mfp说明书_惠普HP LASERJET M1005一体机怎么使用?
- 热潮-区块链的价值能够体现在哪些方面?
- hihoCoder 1430 A Boring Problem(数论)
- Ubuntu 彻底删除Anaconda3