![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
arduino
文章平均质量分 55
Allen953
这个作者很懒,什么都没留下…
展开
-
CircuitPython入门贴
以前一直玩arduino的,但是恼火于每次写完代码,都要编译并烧录到MCU上,刚开始的blink例程类的小代码还好,起码十几秒钟就能烧录成功,但是后来随着程序代码量的增加,发现每次编译烧录竟然要一分多钟,这一分多钟,我就等着IDE在编译代码并上传,有时候代码的很少一部分都需要来来回回调试十几次,这样修改几个参数,再修改几个参数,来来回回搞个十几次半个小时就过去了,为了调试几个参数就浪费半个小时的时间真的值吗?人生苦短,我用python!原创 2022-09-19 14:10:52 · 1123 阅读 · 0 评论 -
ROS+Arduino学习导航贴
原先写了一些ROS+arduino学习记录的帖子,发现每次找起来非常麻烦,所以做一个汇总帖,以后需要的话,找起来就方便了。原创 2022-09-13 10:35:07 · 1279 阅读 · 0 评论 -
使用esp32 download tool给esp32烧录固件
用arduino为esp32开发程序非常方便,但是有时候需要测试程序的时候,arduino通常编译速度很慢,短则几十秒,长则两三分钟,要等好久。所以,通常一个程序稳定之后,我们会把程序编译成固件,方便以后烧录使用。固件由于已经是从源码编译成了二进制的可执行文件,因此再次上传同样的程序到esp32时,就不需要再编译了,直接可以将二进制可执行程序烧录到esp32开发板就可以。解压打开选择型号进来是下面这个样子,那就说明我们烧录工具没问题了。.........原创 2022-07-18 21:05:06 · 9699 阅读 · 1 评论 -
白泽平衡小车导航贴
为什么我每次都要运行这个程序呢?首先当我们接好线了以后,就是确保这些传感器接线正常并且是好的。如果你直接跑mpu6050采集数据的例程,那么一旦跑不通,就不知道是程序问题还是硬件问题或者是接线没接好呢?所以我们一步一步来,哪里有问题就非常清晰了。下面这个程序上传完成之后,我们从串口监视器看,看最后两列就是打印出来的两个倾角数据,这时我们可以手动让小车绕轮子旋转,看哪个倾角跟随着变化,这个倾角就是我们需要测的数据。 mpu6050接在灯哥foc3.0的iic接口上 偶尔会莫名其妙mpu6050断连原创 2022-07-12 16:20:01 · 345 阅读 · 0 评论 -
esp8266使用TF卡并读写数据(基于arduino)
主要用到下面的模块,一个这张图片主要告诉我们TF卡的各个引脚是什么作用,因为我们是用的spi接口,所以就看最后一列就可以了。正常情况下,一旦你的arduino IDE里面安装了esp8266的硬件支持,那么就会自动安装上适配esp8266的SD卡库,所以我们是不需要安装库的。 我们打开files这个例程,然后编译。这个files例程主要是做什么呢?就是在内存卡上创建一个example.txt的文件,然后再删掉。编译好了之后,我们开始接线如果直接跑我们上面编译好的例程,而不对程序做任何修改,那么像下面这样接线原创 2022-07-03 13:14:18 · 2824 阅读 · 1 评论 -
调试平衡小车过程中间遇到的问题
目录定时器函数执行周期跟定时时间不一致?drv8833这款驱动器可以制作平衡小车用吗?定时器中断给的是5ms的中断时间,如下图: 结果在每个中断函数执行开始的程序里加上打印时间戳的语句,发现中断函数执行两次之间的时间差在50ms左右,这很明显使得平衡小车无法工作,但是是 什么原因呢? 是因为算力比较弱,所以进行计算的时候占用了时间吗?把源程序也上传上去(计算量一样),看看源程序是不是也是这样?可以看到,源程序一样的计算量,但是人家中断函数是严格5ms执行一次的,也就是说不是算力的原因。 接着做实验,在源程原创 2022-06-25 13:16:34 · 1188 阅读 · 1 评论 -
卡尔曼滤波(Kalman filter)算法以及Arduino应用-mpu6050(导航贴)
更新中。。。mpu6050库// class default I2C address is 0x68// specific I2C addresses may be passed as a parameter here// AD0 low = 0x68 (default for SparkFun breakout and InvenSense evaluation board)// AD0 high = 0x69#include "Wire.h" //I2C通讯..原创 2022-05-09 12:40:16 · 10947 阅读 · 6 评论 -
Baize_Servo8266-(arduino32路舵机驱动板)(开源可自制,附程序和固件以及烧录方法)
测试代码:/*************************************************** 对于ARDUINO UNOS,这是SCL->模拟5,SDA - >模拟4 ****************************************************/ #include <Wire.h>#include <Adafruit_PWMServoDriver.h>Adafruit_PW............原创 2022-04-29 15:28:45 · 3793 阅读 · 0 评论 -
平衡小车的控制算法(PID,LQR,MPC)及arduino程序导航贴
小车整体的动力学建模这个模型不是很严谨,因为原创 2022-04-22 21:57:03 · 5346 阅读 · 4 评论 -
ESP32学习导航帖
本篇帖子是esp32学习的一个导航帖,用于方便自己查找资料。有时候学习的时候写了一篇记录贴,可能后来找不到了,用导航帖可以很方便的找到想要的内容。原创 2022-04-02 10:04:29 · 908 阅读 · 0 评论 -
Arduino读取HC-SR04超声波测距传感器数据附带滤波
前言传感器的接线非常简单,一共四根线vcc和gnd按照要求接线即可。TRIG接数字引脚8号口,ECHO接数字引脚9号口。程序1.无滤波程序#define TRIGGER 8#define ECHO 9long duration;float distance;#define LONGEST_DISTANCE 200 // 200 cm = 2 metersfloat farTime = LONGEST_DISTANCE*2/0.034;void setup(.原创 2021-12-23 15:27:03 · 3701 阅读 · 1 评论 -
INA240三相无刷电机电流采样实例(arduino)
前言&&准备材料我这里用的控制器是esp32,它的adc采集器分辨率是12位,工作电压是3.3V。因此我们读取到的模拟数值0~4096就是对应的0~3.3V。这里我的ina240型号是I240A2。也就是说ina240的增益是50V/V。我的驱动器型号是simplefoc v0.2。采用内置电流采样,具体电流采样电路如下图:双向参考链接:1.【INA240】产品参数介绍、INA240数据手册、中英文PDF资料下载-TI资...原创 2021-12-13 16:29:35 · 12816 阅读 · 4 评论 -
手写最简单的simplefoc的svpwm算法(便于理解)
此帖子用于记录学习过程中写的程序(半成品)。1.arduino代码:test.ino// (010)U2 II U6(110)// *********// III * * * * I// * * * *// (011)U3 *************** U4(100)// * * * *// IV * * * * VI原创 2021-12-10 21:59:03 · 1624 阅读 · 1 评论 -
ESP32的Print类
由于发现有开源程序simplefoc是用Print类就定义了一个串口对象,然后用这个串口对象向串口输入或输出字符。因此就好奇试了试,下面是我的程序。Print* monitor_port;void setup(){// Serial.begin(115200); // monitor_port.begin(115200);} void loop(){ // read the data msb and lsb monitor_port->println("hello"原创 2021-12-08 21:57:08 · 430 阅读 · 0 评论 -
arduino的iic通信库函数详解
iic库中包含的函数如下:1 Wire.begin()2 Wire.requestFrom()3 Wire.beginTransmission()4 Wire.endTransmission()5 Wire.write()6 Wire.available()7 Wire.read()8 Wire.onReceive()9 Wire.onRequest()Wire.begin()原创 2021-12-08 20:11:39 · 6462 阅读 · 0 评论 -
AS5600磁编码器的使用以及简单的滤波算法(arduino)
前言AS5600磁编码器常用于电机的角位移测量,如下图为使用AS5600芯片的一款编码器。该磁编码器支持IIC,SPI和模拟输出三种方式,具体的引脚定义如下:原创 2021-12-08 16:55:43 · 31234 阅读 · 10 评论 -
Visual studio安装配置arduino开发环境(arduino&esp32)
1.安装插件原创 2021-11-28 20:58:54 · 946 阅读 · 0 评论 -
白泽四足机器人Opencat程序玩法之——下载安装配置WiFi app
1.给esp8266模块烧录透传程序这个程序烧录进esp8266模块之后,它就可以接收手机指令了。//修改自:https://blog.csdn.net/wangke0809/article/details/70146378?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163566195516780261935125%2522%252C%2522scm%2522%253A%252220140713.130102334..%2..原创 2021-11-28 20:02:55 · 4271 阅读 · 1 评论 -
一文学会esp32的ledc控制器(输出pwm波)
概述LED 控制器 (LEDC) 主要用于控制 LED,也可产生 PWM 信号用于其他设备的控制。 该控制器有 16 路通道,可以产生独立的波形来驱动 RGB LED 等设备。LEDC 通道共有两组,分别为 8 路高速通道和 8 路低速通道。高速通道模式在硬件中实现,可以自动且无干扰地改变 PWM 占空比。低速通道模式下,PWM 占空比需要由软件中的驱动器改变。每组通道都可以使用不同的时钟源。LED PWM 控制器可在无需 CPU 干预的情况下自动改变占空比,实现亮度和颜色渐变。功能概览原创 2021-11-24 22:01:28 · 6497 阅读 · 0 评论 -
各版本esp32和esp8266开发板引脚图(附各开发板特殊通信接口如IIC、SPI接口等默认引脚查看方法)
1.2.原创 2021-11-24 21:07:10 · 22235 阅读 · 0 评论 -
esp32的模拟输入(ADC)
esp32的模拟输入可以用于读取一个模拟量电压。模数转换器通道ESP32集成2个SAR(逐次逼近寄存器)ADC,支持总共18个测量通道(模拟启用引脚)。支持以下通道:ADC1:8频道:GPIO32-GPIO39ADC2:10个频道:GPIO0、GPIO2、GPIO4、GPIO12-GPIO15、GOIO25-GPIO27因此,我们可以通过这些GPIO口来获取模拟数值。.........原创 2021-11-24 20:48:26 · 4311 阅读 · 0 评论 -
esp32用mcpwm驱动电机
本篇为乐鑫官方文档,地址:Motor Control Pulse Width Modulator (MCPWM) - ESP32 - — ESP-IDF 编程指南 latest 文档前言ESP32 有两个 MCPWM 单元,可用于控制不同的电机。每个单元有三对 PWM 输出。此外,在文件中,单个信号的输出单元标记为PWMxA/PWMxB。MCPWM单元的更详细框图如下所示。每个A/B对可由三个定时器0、1和2中的任意一个定时器计时。同一定时器可用于对多对PWM输出进行计时。每个单元还..原创 2021-11-24 10:42:38 · 13320 阅读 · 2 评论 -
simpleFOC控制无刷电机理论及实践
1.原创 2021-11-12 17:17:27 · 12985 阅读 · 5 评论 -
simpleFOC调试无刷经验总结
用的灯哥的simplefoc双路控制器,无刷电机用的BGM4108-130T型号的。无刷电机的极对数是12,供电电压选用的12.0V电压。1.编译出现MagneticSensorI2C没有update函数的错误错误如下图:simpleFOC库里面如果版本过老的话,是没有这个函数的,需要更新这个库。直接在库管理器更新这个库就可以。2.bits/c++config.h:No such file or directory!错误如下图:...原创 2021-11-09 20:30:05 · 1613 阅读 · 0 评论 -
Gazebo教程文章导航
hello你好原创 2021-10-13 17:01:36 · 221 阅读 · 0 评论 -
esp8266通过http与手机通信控制板载led灯
这里esp8266当作tcp client。手机端当作tcp server。esp作为station模式接入手机热点,需要设置热点的ssid和password。端口号等。手机端的话,需要调为tcp server模式。设置tcp server的ip地址,tcp通信端口并追加换行符等。然后就可以发送字符串“hello”来打开esp8266开发板上面的led灯,发送任意字符串关闭led灯。代码修改自太极创客官方网站例程。1.代码/*************************...原创 2021-10-13 12:58:44 · 866 阅读 · 0 评论 -
ros+arduino学习(9):esp32与ros局域网话题通讯
1.arduino ide添加esp32硬件支持Arduino ide配置esp32硬件支持_qqliuzhitong的博客-CSDN博客2.上传程序并测试参考链接:ESP32与ROS调试笔记(Linux和Windows)_zhangrelay的专栏-CSDN博客原创 2021-09-28 15:02:39 · 1107 阅读 · 6 评论 -
ros+arduino学习(八):esp8266与ros局域网话题通讯
我这里的esp8266采用的是arduino ide的开发方式,所以就基于arduino ide开发方式进行配置。原创 2021-09-27 13:31:04 · 1401 阅读 · 0 评论 -
esp32用arduino ide上传程序出错(烧录程序出错)问题总结
1.A fatal error occurred: Timed out waiting for packet header如下图:解决方案:esp32:A fatal error occurred: Timed out waiting for packet header_qqliuzhitong的博客-CSDN博客2.arduino ide无法连接esp32这个一般是esp32开发板没有进入下载模式的原因。如下图所示的开发板:下载程序时需要将gpio0口和gnd口短...原创 2021-09-26 20:04:26 · 10838 阅读 · 0 评论 -
esp32:A fatal error occurred: Timed out waiting for packet header
问题当我用arduino ide给esp32 下载程序的时候,出现如下错误提示:我的板子是下面这个板子:原因及解决原因是下载的波特率选择出错了,波特率我选择的默认的921600,实际应该选择115200,这样再次下载,就可以正常下载了。如下图所示,成功。...原创 2021-09-26 20:01:27 · 8633 阅读 · 1 评论 -
Arduino ide配置esp32硬件支持(配置esp32的arduino开发环境)
前言当我们用arduino ide基于esp32开发板进行程序开发的时候,arduino ide按照默认安装之后是无法直接给esp32下载程序的,也不支持esp32相关的库。这主要是默认的arduino ide没有esp32的硬件支持库。这时,我们就需要给arduino ide添加esp32的硬件支持包。可以看到,在添加esp32硬件支持以前arduino的开发板选项是没有esp32的。1.添加下载链接打开arduino ide之后,在软件左上方依次找到:文件->首....原创 2021-09-26 16:19:01 · 9605 阅读 · 2 评论 -
arduino控制步进电机S形加速和梯形加速
目录S形:T形:S形:/* * ******** * * * ******** * * * S型加速 ******** * */#define accel1_time 1000 .原创 2021-07-19 13:15:22 · 3530 阅读 · 1 评论 -
PAJ7620U2+蓝牙主从机实现远程手势控制
目录主机:从机:电机测试:这是个4舵机驱动的水上仿生鱼。两块arduino通过蓝牙通信,岸上的arduino连接paj7620u2进行手势控制。水下的arduino连接驱动执行设备(舵机和电机)对机器鱼直接控制。主机:主机为一块arduino连接上paj7620u2手势传感器模块。#include <Wire.h>#include "paj7620.h"#include<SoftwareSerial.h>//新建一个Serial_p对..原创 2021-07-19 13:11:20 · 825 阅读 · 0 评论 -
C++中vector容器使用
vector数组是一个能存放任意数据类型(类,结构,普通变量类型等)的动态数组!,在数据结构中就相当于顺序储存的线性表,寻找元素非常快,但是插入元素的时间却很大(list是一个双向链表,在同一个为止插入大量的数据时速度很快,但是查找的速度就会慢很多)好吧没编译通过,如果想定义字符串类型string,则必须包含string库。#include <string>添加cout输出之后又错!实践证明,想要用cout输出,必须包含iostream库#incl..原创 2021-07-04 16:03:30 · 179 阅读 · 0 评论 -
Opencat-B——手机APP蓝牙遥控
导航在这里:Arduino四足开源机器猫首先,我们准备一块蓝牙模块,淘宝上支持串口透传的蓝牙模块都是可以用的。如下图为我买的蓝牙模块HC-05。led指示蓝牙连接状态,快闪表示没有蓝牙连接,慢闪表示进入AT模式,双闪表示蓝牙已连接并打开了端口。这块蓝牙模块是蓝牙主从一体的,要稍微贵一些,蓝牙模块可以作为主机也可以作为从机,主设备与从设备的区别为,主设备可以扫描从设备蓝牙,主动连上从设备,而从设备蓝牙只能等待搜索被连接,无法主动连接别的蓝牙。淘宝上还有一些蓝牙模块仅有从机模式,无法设置主从模式,原创 2021-06-25 22:23:21 · 1417 阅读 · 1 评论 -
Opencat-B——串联动作组(爬台阶)
通过把机器猫的Posture串联起来,可以实现炫酷的组合动作或者功能性动作(爬楼梯)。我们需要去在instinct.h文件里自定义并且一个一个尝试具体的姿势。下图是猫的每个关节的示意图:★我们先考虑第一个姿势:这个姿势是坐着。让机器猫在上楼梯之前保持这个坐着的动作并让两条前腿与台阶正面紧密接触是比较有利于上楼梯的动作的。猫是四足动物,想要爬楼梯,就要先要上一只前腿,再让两条前腿搭在台阶上。我们先上左前腿。★为了避免抬起左前腿的时候撞到台阶,我们先通过下面两步缩起左前腿:..原创 2021-06-25 22:20:01 · 516 阅读 · 1 评论 -
白泽六足机器人_arduino_v1——零件准备
导航在这里:Arduino六足机器人导航贴原创 2021-06-25 17:05:48 · 1574 阅读 · 2 评论 -
Arduino白泽四足机器人——matlab逆运动学求解
基于“白泽”四足机器人足端轨迹的插值方法1 应用背景近年来,机器人领域得到了大力的发展,多技术融合赋予了机器人更多的使命,其中足式机器人凭借其在探险、军事等领域的优越运动表现而快速的进入了人们的视野。感知系统(例如视觉识别,超声波传感测距仪以及红外设备等) 的加入使足式机器人具备独立户外工作的能力,它们在行进过程中可以识别出大型障碍物并规划新的路径进行避障,但是很多小型障碍物却无法被它准确的侦测到,这就要求足式机器人能够稳定踏上或者跨越这些不易察觉的小型障碍物,具有最基本的跨越小型障...原创 2021-06-24 14:52:00 · 4696 阅读 · 7 评论 -
Arduino四足开源机器猫-Opencat(导航贴)
本内容由我和小伙伴共同编写,未经授权,谢绝转载!1.项目介绍2.组装调试教程(一)Opencat-F(1)资料地址(包含程序代码&&3D打印图纸):链接:https://pan.baidu.com/s/1AcVA5jSiOSzRKqEQAomrTA提取码:szfx(2)(二)Opencat-B(1)组装调试(2)组装调试注意事项(3)添加新技能3.编程...原创 2021-06-24 14:13:00 · 3564 阅读 · 2 评论 -
Opencat-B——添加新技能
技能就是每个舵机角度之间合适的配合。技能按照帧数分,可以分为步态(gait)和姿势(posture),程序种又把技能氛围本能(I)和新技(N)。新技可以作为测试使用,当新技测试成熟之后,可以将之转换为本能。我们先看一下如何添加posture类型的技能。先来添加一个shualai的技能,这是一个posture的新技。const char shualai1[] PROGMEM = {1, 0, 0, 0,0,0,0,0,0,0,0,-80,-80,80,80,80,80,-80,-80,}.原创 2021-06-25 22:19:18 · 460 阅读 · 1 评论