- 博客(27)
- 资源 (6)
- 收藏
- 关注
原创 arduino下esp32连接openmv
#include <Arduino.h>#include <WiFi.h>#include "BluetoothSerial.h"#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)#error Bluetooth is not enabled! Please run `make menuconfig` to and enable it#endif#define DJ0_PWM 32
2020-11-07 21:29:36
2406
1
原创 arduino环境下用ESP32连接PS2手柄
一、PS2接线说明功能:1,数据:控制器- > PlayStation 游戏机。这是一个集电极开路输出,需要一个上拉电阻(10K,或许更多)。(上拉电阻是必要的,因为控制器只能连接线对地,它不能真正把电压就行了)。2,命令:PlayStation - >控制器。4,地线,接电源负极。5,电源:任何官方的索尼控制器应在 3-5V。6,注意:各组发送/接收的字节前,此行必须被拉低,然后重新置高之后。在我们的测试中,它是不足够的,以配合永久-它被赶下来,周围每一组 Digitan 认为这
2020-08-23 17:23:26
4220
1
原创 arduino环境下ESP32定时器的应用
此定时器用起来非常简单,说明都在程序注释里一看就懂了直接上程序hw_timer_t* timer= NULL; //定义存放定时器的指针//定时器中断函数void IRAM_ATTR onTimer(){ }void setup() { Serial.begin(115200); timer = timerBegin(0, 80, true); //设置定时器0,80分频,定时器是否上下计数 timerAttachInterrupt(timer, onTimer, t
2020-08-16 11:46:13
2366
原创 arduino环境下用ESP32通过蓝牙串口APP控制舵狗完成动作
我使用的是Goouuu-ESP32它自带了蓝牙模块所以不用再另外购买此蓝牙的使用程序可参考https://blog.csdn.net/m0_46139849/article/details/107441056#include <Arduino.h>#include <WiFi.h>#include "BluetoothSerial.h"#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
2020-08-16 11:00:01
906
1
原创 arduino环境下利用ESP32控制舵狗(前进步态的编写)
舵狗的步态有许多种 ,我用的是比较常用的对角步态,及对角的足的动作一致不断交替运动完成行走的一种步态。代码的实现方面是利用运动学的逆解计算出各角度值,然后与初始值进行比较,通过比较后的结果对舵机进行控制,就完成了舵狗的运动控制,其中需要注意的是延迟函数的使用,如果延迟过小会造成舵机来不及反应而只维持一个动作,如果延迟过大,会造成动作的不稳定。//逆运动学测试,初始坐标(0,135.36)#include <Arduino.h>#include <WiFi.h>#defin
2020-07-12 22:12:34
954
原创 arduino环境下利用ESP32控制舵狗(逆运动学测试)
利用几何法对狗的的一条腿进行逆运动学的求解具体的算法可以看我以前机械臂逆运动学的博客,原理都一样
2020-07-05 20:17:45
1174
原创 arduino环境下利用ESP32控制舵狗(初始位置的调试)
用ESP32输出PWM波需要用到ledc函数下面先对ledc函数做一下介绍ledcSetup(channel0, freq0, resolution0);ledcAttachPin(DJ0_PWM, channel0);ledcWrite(channel0,dutyCycle0);第一个是设置通道、频率和分辨率的函数。channel用来设置输出PWM波的通道。freq设置频率,这里将频率设置成50也就是周期20ms用来控制舵机。resolution设置分辨率,分辨率能够大致理解成决定将周期
2020-06-27 10:17:21
4001
4
原创 在arduino环境下用ESP32控制机械臂(逆运动学算法)
我用的机械臂的动力来源是舵机,所以需要通过pwm波来控制,而在arduino中没有专门输出pwm波的函数有的是一个ledc的函数,它是用来控制led灯的,但是同样可以用来输出pwm波。ledc详细的学习可以参考这位大佬的博客我们首先需要确定机械臂的初始位置并找到各个舵机的初始值,这需要根据实际的数据去自己测定,这里我们以L2与Z轴重合方向指向Z轴正方向,L3垂直L2方向指向X正轴为初始位置且...
2020-04-05 19:45:36
4288
原创 正逆运动学解(三维)
我又来了!之前写了一个在二维直角坐标下的正逆运动学解今天写一下在三维坐标下如何进行正逆运动学的计算及程序实现。一、正运动学首先还是要建立一个坐标系,依然以机械臂举例,这里放一个正视图和一个俯视图。正运动学:已知α、β、γ求C点坐标咱们废话不多说了直接上公式先求出AEAE=L2cos(α)+L3cos(β)然后是X坐标X=AEcos(γ)Y轴Y=AEsin(γ)最后Z轴Z=L2s...
2020-03-22 21:38:36
4157
5
原创 正逆运动学解(二维)
提要:我是为了研究机械狗的步态算法而去学习的正逆运动学算法,实际上可以将机械狗的每一条足理解成是一个机械臂,所以我就用机械臂来举例了。一、正运动学这里所谓的运动学解其实就是舵机的转动角度与足尖的坐标值相互转化的数学运算方法。要想进行计算首先需要一个坐标轴。在这里我只先研究二维的运算。首先我们可以很轻易地算出C点的X坐标X=L2COS(α)+L3COS(β)同样的我们也可以算出C点的Z坐...
2020-03-15 21:35:31
4309
3
原创 python学习笔记(字典)
1.字典的定义字典是无序对象的集合字典用{ }定义字典使用键值对存储数据,键值对之间使用,逗号分隔键key是索引值value是数据键和值之间使用:分隔键必须是唯一的值可以取任何数据类型,但键只能使用字符串、数字或元组xiaoming = {"name":"小明", "age":18, "gender":True, "height":1.75}2.字...
2020-02-15 22:27:40
260
6
原创 python学习笔记(元组)
1.元组的定义Tuple(元组)与列表类似,不同之处在于元组的元素不能修改用于储存一串信息,数据之间使用,分隔元组用( )定义元组的索引从0开始例如:#定义一个有多元素的元组info_tuple = ("zhangsan",18,1.75)#创建空元组enpty_tuple = ()#定义一个单元素的元组single_tuple = (5,)元组中只包含一个元素时,...
2020-02-15 19:13:48
187
原创 python学习笔记(列表)
1.python中的“列表”其实就是c语言中的“数组”1.1格式定义时用中括号,其中的数据用双引号,数据之间用逗号list = ["shuju1","shuju2","shuju3"]1.2取值和去索引读取时列表是从0开始计数的#读取第一个数据list[0]#读取shuju2的索引值list.index("shuju2")1.3列表常用的操作方法在ipython中编辑时输...
2020-02-15 12:51:14
105
原创 python学习笔记(模块化)
将之前写的案例九九乘法表写成函数def jjcfb(): row = 1 # 行 while row <= 9: col = 1 # 列 while col <= row: print("%d * %d = %d"%(row,col,row * col),end="\t") col += ...
2020-02-13 17:02:19
121
原创 python学习笔记(函数)
1.函数的概念所谓函数,就是把具有独立功能的代码块组织为一个小模块,在需要的时候调用函数的作用,在开发程序时,使用函数可以提高编写的效率以及代码的重用2.函数的定义def 函数名(): """注释""" 函数封装的代码 定义的函数如果不调用,是不会执行的调用函数之前必须先定义函数函数体相对比较独立,函数定义的上方,应该和其他代码(包括注释)保留两个空行...
2020-02-13 16:32:24
187
原创 python学习笔记(while循环)(赋值运算符)(第二个案例九九乘法表)(转义字符)
1.while的基本使用while 条件(判断计数器是否达到目标次数): 满足条件时,做的事情1 满足条件时,做的事情2 满足条件时,做的事情3 处理条件(计数器 + 1)例如输出100次hello python#定义计数器i = 0 #建议:除非有特殊要求,否则都从0开始计数while i < 100: print("he...
2020-02-11 16:47:14
516
原创 python学习笔记(第一个案例石头剪刀布)
#导入工具包import random#从控制台输入——石头(1)/剪刀(2)/布(3)player = int(input("请输入您要出的拳 石头(1)/剪刀(2)/布(3): "))#电脑的随机出拳computer = random.randint(1,3)#提示玩家电脑出的是什么if computer == 1: print("电脑出的是石头")elif compu...
2020-02-09 18:15:34
374
原创 python学习笔记(if判断语句)
1.if的基本语法ps:python中判断正确是输出的是True错误是输出的是False而不是1和0,区别于c语言if 要判断的条件: #if顶格写 条件成立时,要做的事情 #缩进一个tab或4个空格,不可混用在python中根据缩进判断代码块,所以不需要大括号,不同于c语言2.if else的用法if 要判断的条件: 条件成立时,要做的事情else: 条件不...
2020-02-09 13:24:05
264
原创 python学习笔记(变量的命名)
1.标识符标识符可以由字母、下划线和数字组成不能以数字开头不能与关键字重名2.关键字关键字就是python内部已经使用的标识符关键字具有特殊的功能和含义开发者不用许定义的关键字相同的名字的标识符通过以下命令可以查看python中的关键字import keyword #导入关键字print(keyword.kwlist) #输出关键字列表3.变量的命名规则ps:py...
2020-02-09 12:05:52
146
原创 python学习笔记(变量计算和输入输出)
1.不同变量之间的运算1.1数字型变量之间可以直接计算bool型代入运算时不是0就是11.2字符串之间用 + 运算first_name = "三"last_name = "张"first_name + last_name定义以上字符串并进行 + 运算,此时输出结果为’三张’1.3字符串和整数之间用 * 运算first_name * 10以上运行结果为’张张张张张张张张张...
2020-02-07 14:45:29
618
原创 python学习笔记(变量类型)
1.在python中每个变量在使用前必须赋值,变量在赋值以后才会被创建。交互式运行python时,输出变量可直接输入变量名然后回车就可以而使用解释器运行python时,必须用print才可以输出python中无需定义变量就可自动创建变量...
2020-02-06 15:48:34
72
原创 python学习笔记(注释及运算符)
1.python注释1.1python的注释用法和c语言一样单行注释用 #多行注释用 “”" “”"2.python运算符2.1python的运算符的优先级与c语言一至加 +减 -乘 *除 /取整除 //取余除 %幂 **2.2在python中乘号还可以用于字符串示例如下...
2020-02-03 21:47:00
244
1
原创 python学习笔记(执行方式)
python的执行方式有三种1.用解释器运行1.1用python解释器python/python31.2或者其他解释器Cpython–官方版本的靠c语言实现Jython–可在java运行Ironpython–可在.NET和Mono运行pypy–用python实现,支持JIT即时翻译2.交互式运行windows环境下在cmd中输入python...
2020-02-03 20:51:24
115
原创 python学习笔记(认识)
我用的python是在Windows的基础上建立的交互式的环境。python在本质上就不同于c语言,一个是编译环境,而一个是计算机的一种通用语言。编写python程序:我一般是新建一个文本文档,在文本里编写好程序然后将扩展名改成“.py”。运行:直接在cmd中调用文件,下面是一个调用的示例,“01-HelloPython”是我用的文件名。01-HelloPython.py下面的就是我...
2020-02-02 16:01:04
85
基于MATLAB的FFT算法的设计.zip
2020-12-05
优先病房呼叫课设说明书.zip
2020-12-05
基于MATLAB的数字滤波器设计.zip
2020-12-05
优先病房呼叫课设说明书
2020-12-05
基于MATLAB的数字滤波器设计
2020-12-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人