Arduino学习笔记
文章平均质量分 85
上学那会儿要做毕业课题,当时整个视觉系统(包含软件及硬件部分)都是需要自己设计的,其中需设计一个下位机程序来控制光源的开闭及传送带的传动,当时调研了不少单片机控制器,发现Arduino特别合适,只需要掌握C/C++即可编写下位机程序,而且当时也对硬件控制比较感兴趣,就开始研究这个了
吾名招财
硕士,研究方向机器视觉,爱好较广泛
展开
-
PCB设计(立创EDA)
在画原理图,PCB时在标准模式下进行但时要做电路仿真的话,需要在仿真模式下进行老师可以免费申请教育版,方便学生进行的工程。原创 2024-08-24 23:28:36 · 889 阅读 · 0 评论 -
4-1-6 arduino控制42步进电机(电机专项教程)
请留意在以上电路中,A4988电机电源引脚上连接了一个100uF的电解电容(电解电容引脚有正负极之分,电容正极引脚应接在A4988电机电源正极引脚,相反的电解电容负极引脚接在A4988电机电源接地引脚)。例:Rcs为0.1欧姆,电机Imax为1.5A,通过以上公式计算,Vref参考电压为1.2 V。并不是所有的NEMA17都可以被A4988控制,我们需要看NEMA17电机的基本参数再决定其是否使用A4988控制。A4988模块(非常常见,功能全面,控制NEMA17步进电机最常用的模块)原创 2024-08-21 22:20:51 · 916 阅读 · 0 评论 -
4-1-5 步进电机原理2(电机专项教程)
软磁材料易受到周围磁场的影响,又很难被磁化,当周围有磁场,会容易受到影响,周围磁场被去掉就像什么没发生,不会保留磁性。定子齿有缺口,需要调节,如下,黄色齿完全错开和转子,红色的就保持完全对其,绿色和蓝色错开一半。北极齿轮帽和南极的相符合的,注意北极和南极的齿轮帽子是完全交错的,但两个作用都是完全相同的。注意,我们在3D打印以及机器人开发中一般使用的NEMA17系列电机,一般为混合式电机。共有6个线圈,两两连接,共3相,中间的转子采用软磁材料制成,转子有4个齿。如下接线图,两个独立线圈,为2相,有四个引线。原创 2024-08-21 22:20:02 · 438 阅读 · 0 评论 -
4-1-4 步进电机原理1(电机专项教程)
1,可以精确的控制步进电机的输出轴的角度,所以步进电机经常应用在3D打印机,机器人等领域。一个线圈通电,转子旋转,另外一个线圈通电会再次旋转,交替通电则步进电机旋转了。没有通电的步进电机,使用手扭动输出轴时花费的力气转动未通电的输出轴,定位转矩。步进电机(开环控制,只能告诉其走多少步,无获取输出轴状态,可能有丢步)购买步进电机时会有参考资料,手中的步进电机,下方为2相4条引线电机。转子,有些是永磁铁,有些无磁性,此处使用永磁铁(有NS极)2,转子NS与铁芯线圈磁场NS相互吸引,转子转动一步。原创 2024-08-20 21:48:06 · 344 阅读 · 0 评论 -
4-1-3 arduino驱动直流电机(电机专项教程)
虽然arduino引脚有5V电压,但不要使用其对电机控制模块供电,功率达不到,要单独给电机控制模块配备独立电源。有很多电机控制模块,需要先确定自己的电机参数和型号,然后通过电机参数和型号适配电机控制模块。2,使用电机控制模块(无需自己搭建电路,不仅控制电机旋转方向、速度,还能急停、待速等)Arduino控制直流有刷电机的话,通过H桥电路实现转向控制,以及PWM控制转速。这里使用通用的电机130电机和相匹配的电机控制模块XY-2.5AD电机控制模块。这里使用3、5、6、9(PWM引脚)控制电机模块。原创 2024-08-20 21:47:45 · 565 阅读 · 0 评论 -
4-1-2 直流电机(电机专项教程)
可以通过arduino开发板输出PWM,控制H桥电路的开关的开合,使得电机电压形成PWM模式,此时可以使用arduino开发板控制电机速度。注意当拿到一个陌生的电机的时候,并不是直接拿来使用,而是了解电机的基本参数如额定电压、电流。当下方的开关反复的开合,并通过arduino控制开合的时间,就会形成PWM。接下来提供方法,只需要开合几个电源开关,就能实现电机的电压改变和正反转。通常arduino控制的直流电机是两个引脚的(有的不是2个引脚)电机控制对象,主要是电机的输出轴(旋转方向和旋转速度),原创 2024-08-19 19:45:50 · 406 阅读 · 0 评论 -
4-1-1 电机基本结构与工作原理(电机专项教程)
电磁感应将电能转换成动能驱动其他装置电机根据电源种类分类如下,这里着重讲直流电机(arduino开发板应用开发时大部分时间是直流电机开发的,剩下两种对应arduino开发板应用较少,但也是比较重要的)原创 2024-08-19 19:45:16 · 718 阅读 · 0 评论 -
3-13 arduino内存-3 内存优化(智能应用篇)
只需要F()将字符串括起来,此字符串变量就会被存在flash中,不会放在SRAM中,这样大大降低了SRAM资源消耗,当我们进行大量调试使用串口监视器时这样做的作用非常大的。运行到function-1中时,局部变量创建如上,创建临时空间给局部变量,当arduino执行完function-1内容后,会将其中所有局部变量空间释放,空间可被再次利用。需要注意,各个变量大小的尺寸是不成比例的,SRAM能存储多少个整数型变量,每个整数型变量在SRAM中站2个字节,BOOL型的遍历占1个字节。原创 2024-08-18 20:54:45 · 699 阅读 · 0 评论 -
3-11、12 arduino内存及EEPROM(智能应用篇)
微控制器中的三种存储介质介绍完毕Flash:存储arduino程序的SRAM:存储程序变量的EEPROM:存储需要断电还要保持的程序变量的下节课讲如何用arduino读和写EEPROM,以及利用flash闪存存储程序内容中不需要更改的静态信息从而达到arduino工作中内存更加优化的方式工作。原创 2024-08-18 20:54:09 · 1035 阅读 · 0 评论 -
3-4 RGB LED(智能应用篇)
RGB-LED可以发出红、绿、蓝色的光芒(并通过各个通道的数值不同发出其余各种颜色)上面为RGB-LED的简化过程(三个负极链接在一起接地,另外三个灯放在一个灯里)下方的发出多种颜色的led灯珠并不是RGB-LED,而是只有两个引脚。Led的灯珠和灯带,相当于点和线(可以画出丰富否画面)其余的三个RGB引脚分别连接在6,5,3号引脚(~)正极独立,负极链接在一起,为共阴极RGB-LED。RGB-LED,三原色可以进行调和得到不同的颜色。并不是能改变颜色的led都是RGB-led。发送r0g0b255。原创 2024-08-18 20:53:43 · 468 阅读 · 0 评论 -
3-3 红外人体感应模块(智能应用篇)
我们可以感知arduino存在Arduino 需要传感器才能感知外接变化使用红外人体感应传感器模块 感知我们的到来以及离开红外线(人眼看不到)我们身体是有温度的,每时每刻向外散发热量,这些热量很多是以红外线的方式向外释放的下方是以可视化的方式显示我们的热量如何释放的使用HC-SR501可以感应到人体释放的红外线,感应到后会以数字信号的方式发送给arduinoArduino接收到此信号就能感应到身体了。原创 2024-08-13 21:07:41 · 1108 阅读 · 0 评论 -
3-2 光敏电阻(智能应用篇)
亮电阻:10lux,表示光照度的国际单位(10lux,黄昏室内的光照度),此情况下差不多快要开灯了,其光敏电阻阻值大概为8。最高工作电压:5528光敏电阻正常工作时的最高电压为150V(arduino的最高电压5V,可以满足要求)技术参数接收到的概念,每种型号对应不同的参数(根据实际应用选择恰当的型号,根据技术参数表格进行选择)光敏电阻确实可以感受到外接光线的变化(根据光线进行阻值变化带动对应电压的变化)光敏电阻不是唯一的感应亮度的传感器,此处满足我们的需要,使用其足够。原创 2024-08-13 21:07:15 · 810 阅读 · 0 评论 -
3-1 介绍及传感器(智能应用篇)
Arduino实际应用到生活中科技创作给生活的乐趣与便利前两部分内容为基础太极创客官方网站课程主角ledLed蕴含丰富的科技知识水立方,led主机led汽车led改装电桌照明改装手机识别色彩智能灯制作类似的智能灯,积累知识使灯发出自己的光芒按键开关控制led的亮灭串口监视器,向arduino发送串行指令控制arduino机械臂目前学习的内容都是人给arduino发送指令,无论按键开关还是串口监视器发送指令,都是 人发送的。原创 2024-08-13 21:07:00 · 353 阅读 · 0 评论 -
2-17、18 HC06蓝牙模块(meArm机械臂)
2,多个设备同时和arduino控制器进行串口通信,只有一个串口,只能和一台设备进行串口通信,其它设备怎么办呢,此时可以使用开发板上其它的数字输入输出引脚,使用软件模拟的方式让这些引脚实现串行通讯功能。使用arduino的普通的输入输出数字引脚就能实现串行通信的功能了,那么此功能不会影响到上传程序,还能让更多的设备同时的和arduino串行通信,软件模拟串口。但是当从arduino的TX引脚发送数据给蓝牙的RX引脚时(5V到3.3v),短时间使用没事,但当长时间使用时,会把HC06模块烧坏了。原创 2024-08-12 20:02:52 · 1090 阅读 · 0 评论 -
2-12、13 调试机械臂及控制运行速度(meArm机械臂)
在进行调试机械臂时,若是使用USB扩展器串口为COM11,发现打开arduino串口监视器会不断的初始化(arduino的初始化程序不断被执行,影响串口通信),当使用电脑上的稳定的接口如COM5时,需要重新上传程序到arduino,然后。发现状态如右侧,后臂座机基本达到极限状态了,再输入新的指令要非常小心(r40,不动了,基本肯定45为其向后的极限,所以在常量设置rArmMin=45如下)上述极限值为教程上的,与自己的可能会有一些出入,建议找到自己的极限值。可以通过控制等待时间,控制舵机旋转速度。原创 2024-08-12 20:02:36 · 456 阅读 · 0 评论 -
2-5、6 控制伺服电机(meArm机械臂)
电路连接如上,正负极如上,注意电源模块、电机、arduino都是共地的。Arduino在接收到串口数据时,是把字符的ASCII码进行处理的。信号控制线,分别连接在了arduino的6、9、10、11号引脚。通过arduino的串口监视器,给arduino发送一条指令。若插在面包板电源模块的3.3V的位置,电压输出就是3.3v。使用arduino串口接收器,输入一个数值,点击发送,测试,输入的字符中一部分是数字,一部分是其余字符。我们的MeArm机械臂就是5v的,要设置成5V。原创 2024-08-11 19:42:05 · 552 阅读 · 0 评论 -
2-3、4 串口通讯(meArm机械臂)
之前都是arduino通过串口发送程序运行的一些变量状态,然后通过arduino ide串口监视器了解程序通讯,arduino发送数据到电脑也要arduino接收这些数据。原创 2024-08-11 19:41:43 · 613 阅读 · 0 评论 -
2-2 伺服电机(舵机)(meArm机械臂)
Mearm机械臂通过四个电机控制机械臂的四个电机名为直流伺服电机(又称舵机)此节课讲直流伺服电机的原理及如何使用arduino控制舵机。原创 2024-08-10 21:19:07 · 704 阅读 · 0 评论 -
2-1 meArm项目概述(meArm机械臂)
MeArm是开源的,可以免费获取的,可以在太极创客网站获取相关资料可以自己进行打印套件等,也可以网络购买套件需要,我们做的是MeArm而不是mimiarm,因为两者不同,需要注意最明显的两者区分,是前面的两个板,MeArm是两个螺丝,整个结构有很好的加固作用。原创 2024-08-10 21:18:42 · 280 阅读 · 0 评论 -
arduino程序-模拟输入(基础知识)
当旋钮调到最大到头的时候,在串口监视器看到的数值并不是很稳定的数值,有时1023,有时1022,电位器转到最小的时候也是如此,不是总保持到0。0~5v的模拟信号中间有无数个数,必须将其转换离散的数字信号,控制器才能对其处理,在离散的时间采集数据,数据等级分割成了1024份。在串口监视器上看到的每一个数字,每一个数字变化的时候,代表的模拟输入引脚的电压变化是多少呢,只有0.005mv。个人喜欢将1号引脚接地,3号引脚接+5v,2号引脚接模拟输入引脚(向右旋转2号电位增大,向左旋转减小)原创 2024-08-03 17:16:16 · 857 阅读 · 0 评论 -
arduino程序—模拟输出(基础知识)
255就是led的最大亮度,127就是50%的亮度,analogwrite函数只能给参数整数,无法写127.5的,所以127或者128都是可以的。LED正极连接电阻,连接arduino开发板的9号引脚(发现引脚有波浪线,3、5、6、10、11也都有,开发板还有说明PWM=~,非常重要)Led进行着明暗的交替变化,串口监视器中的数字也在变化,从小(0)到大(255)变化,再从大(255)到小(0)变化。Arduino的PWM的时间间隔周期并不是2毫秒的,这里只是演示,不同的开发板的周期也会有所不同。原创 2024-08-03 17:15:55 · 1150 阅读 · 0 评论 -
arduino程序-MC猜数字5、6(基础知识)
上节课 random函数产生随机数字,再使用switch case语句将数字显示到LED数码管上目前写的代码调用函数,都是arduino工程人员开发好了如重复的输出高低电平重复的程序代码,使用自己的函数让arduino重复工作在loop(){}函数外面定义(这里在最下方定义了,也没有在最上方函数声明,就可以直接调用)如下所示(无参数、无返回值的函数):调用函数,在loop函数中调用如下所示:Void 表示空的返回值,()无参数,和下方类似。原创 2024-08-02 18:50:04 · 714 阅读 · 1 评论 -
arduino程序-MC猜数字2、3、4(基础知识)
数码管内部结构如左上,所有数码管的负极都接在了cc引脚上,右侧数码管上下各5个引脚,中间的引脚就是cc引脚。还要给7个数码管配上一个电阻,正常是每个led都配上电阻,这里是做实验,简化电路步骤,临时只使用一个电阻。上面方法可以工作但不是理想,每次需要多次判断,才能进行后面程序执行,可以优化成else if。太多的else if ,自己搞乱,程序编译运行过程也会发生问题。将3到9共7个引脚设置为输出模式,要小心陷入死循环。LED有两极,阴极、阳极,正负极。公共的有一个负极,共阴极。原创 2024-08-02 18:49:47 · 816 阅读 · 0 评论 -
arduino程序-MC猜数字1(基础知识)
按键开关和显示数字,每次按下开关会产生随机的数字数字产生于arduino开发板可以使用意念控制数字?(数字是随机的,如何做?,猜的准确)原创 2024-08-01 19:00:56 · 965 阅读 · 0 评论 -
arduino程序-逻辑控制(基础知识)
通过按键开关,控制arduino开发板引脚13的led灯显示,使用上拉输入模式(内置上拉电阻,与第1-10、11相同,防止导线直连)之前的程序使用引脚状态与HIGH逻辑运算的结果进行判断,而现在直接使用读取到的引脚状态作为结果运算,两种方式都可以。若其他的开发板无上拉电阻模式,需要自己搭建一个上拉电阻,否则会烧坏。按键开关同侧的引脚,一端连接2号引脚,一端接地,电路与上节课一样。按下按键时,两端导通,引脚2连通导线接地GND,读取到低电平。输入上拉模式,不按按键引脚2是高电平,不按按键是低电平。原创 2024-08-01 19:00:21 · 913 阅读 · 0 评论 -
arduino程序-按键开关控制电路及程序(基础知识)
作用:显示arduino程序运行状态,要显示的内容,需要在程序中告诉需要显示什么信息,arduinoIDE才会将信息显示到此串口监视器上。开始串口监视器可能为0,摇一摇,就变成1了,引脚悬空读取的数值是极不稳定的,所以此处使用上拉电阻的方式读取引脚信号。串口通信(若了解arduino的工作状态,如某个变量在程序运行中产生的变化,使用串口函数可以进行变量的窗口显示)红色导线,一端插入arduino的+5V引脚,另一端插入电源轨靠近红色的一行。最短导线,一端插入按键开关右下角,另一端插入电源轨最下方一排。原创 2024-07-31 18:32:31 · 1008 阅读 · 0 评论 -
arduino程序-数字输入1-按键开关(基础知识)
当开关按下时,有两条路,一条是走上高电平的和R1连接的,一条路是走上低电平与接地的,此时一定让其为低电平,就是在上面加电阻R1,引脚2不会走5V,只能走地。对于开关,使用开关给arduino控制器发送信号(数字信号),arduino是接收信号,工作状态需要输入模式。引脚2作为接收输入信号的引脚(绿色线连接在开关的一侧与电阻是导通的状态的(未按下))Arduino之前输出(有高低电平信号输出,对led会产生相应的变化,亮灭)上面的R1是上拉电阻,引脚2全是靠其被拉上高电平的状态。(有规律,这里略过)原创 2024-07-31 18:31:52 · 323 阅读 · 0 评论 -
arduino程序-面包板(电路搭建及上传程序控制led))(基础知识)
使用的引脚5驱动的电路,若是其他引脚呢?电路连接及程序需修改。修改三条,arduino的闪烁的不是内置的LED,而是自己的。蓝色与红色之间还有小孔,链接方式不同,黄色横着方向是一起的。将LED_BUILTIN修改成自己的引脚数字(5)然后编译上传程序,此时led灯就闪烁了。现实进行元器件的连接如焊接会比较麻烦。面包板是比较方便的一个工具。一般两行是接正负极电源用的。新的面包板,中间是断掉的。黄色孔是连接在一起的。原创 2024-07-30 18:36:42 · 209 阅读 · 0 评论 -
arduino程序-数字输出-学用led(led电路及相关函数)(基础知识)
接地点的引脚,电路的0参考点就是GND接地0点为基准,如arduino的5号引脚的电压就是以接地点为基准的。LED近似认为导线,知道电阻电压3V,电流20MA,则其电阻150欧姆。如何根据实际的led等判断正负极,有两个引脚,长的是正极,短的负极。并不是所有开发板的高电平的电压是5V的,在arduino是定义5V。有电流由负极流向正极时,电阻巨大,相当于断开状态。当有电阻保护,电源的正极与负极不再处于短路的状态。100欧姆,30MA的电流太大,可能会烧坏。一般买到的电阻是200欧姆和100欧姆的。原创 2024-07-30 18:35:53 · 377 阅读 · 0 评论 -
arduino程序-程序函数2(led电路及相关函数)(基础知识)
必须在初始化的操作时候要将要操作的某个引脚绑定好输入或者输出模式,接着才能给某个引脚设置高低电平,进行信号的输出或者输入,否则第一步未初始化的话,后面无法设置输出信号。可以给数字5的引脚进行设置,设置为输出模式,若在5号引脚外接led,相当于5号引脚给外接led提供电流源,5号引脚相当于电池功能。在arduino开发板内部电路设计好的,可以设计程序进行控制内部电路的开关的闭合,在引脚输出信号。此处的引脚13给led一个电源的作用,此时引脚13就是led的电源,电源上是有开关的。给13引脚设置为输出模式。原创 2024-07-30 18:34:52 · 308 阅读 · 0 评论 -
arduino程序-程序函数1(基础知识)
而且啊您在随着呃使用arduino你会发现有些函数你在调动他的时候是可以不用给他任何参数的那这个时候我们怎么做呢我们就给他一个空号一定要给一个原括号那么里面什么内容都不写就可以了对但是对于我们每调用一个函数的时候我们一定要记住他有一个固定的格式什么函数需要多少个参数这是固定的假如比如说我们这个delay()我们现在没有给他一个时间参数那好我们现在来编译看看结果是什么ok很明显这里错了为什么因为我没有给他一个参数那么我们现在如果要是。原创 2024-07-29 21:20:43 · 974 阅读 · 0 评论 -
arduino程序-变量操作(基础知识)
那这节课到这里呢就快要结束了最后呢我给大家留一个实际操作的一个小作业啊我们这节课提到了很多种数不同的数据类型我们呃提到了关于整数型和长整型这两种这两种数据类型请大家呢如果有时间的话来到我们太极上课的网站你们来观察一下我们有这么多种不同的数据类型请仔细看一看每一种数据类型代表什么我在这想说一下就是目前我们啊只学了关于代表数字的这几几种数字类型那么有的比如说像是字符型这一个字符型的还有比如说像字符串形。原创 2024-07-29 21:20:29 · 785 阅读 · 0 评论 -
arduino程序结构——编译上传led闪烁程序(基础知识)
3,000的3,000也就是3,000毫秒。Arduino持续运行的效果是什么样子的。我们来一起学习arduino的程序结构。请打开您的arduino ide 程序。啊arduino他现在的一些工作的情况。我们再来说回到arduino的程序运行。好到了这里如果你的arduino开发板。对arduino的这个程序的基本结构。和刚才我们看到的那个arduino在。但是在这里我们将要告诉arduino。原来的3,000改成 on time。第三个将电瓶设置为低来熄灭 led。这就是arduino他的工作状态了。原创 2024-07-29 21:20:09 · 854 阅读 · 0 评论 -
arduino程序-变量(基础知识)
什么是程序变量现在假设我们先要做一个小的科研项目这科研项目是什么呢。原创 2024-07-28 12:16:44 · 674 阅读 · 0 评论 -
初步认识arduino程序(基础知识)
编程的初学者所学习的第一门编程语言。首先呢我要跟大家介绍第一个概念呢。ok dog 没有变颜色 cat。呃在对这部分进行进行更详细的介绍。这个函数的名称呢叫 set up。那么这个函数后面呢需要一个圆括号。然后呢这个函数论名称呢叫loop。那么这个时候呢就需要我们去学习。我们使用啊一个斜杠加一个小星星。在这个arduino代码里面呢。原括号当我们把鼠标放到原括号的。当我把鼠标放在原括号开始的时候。在这个过程中我们就要学会啊写。注释文字的目的呢就是用来说明。这行文字是一个单行的注视文字。原创 2024-07-28 12:16:25 · 449 阅读 · 0 评论 -
Arduino 开发板基本介绍(基础知识)
大家好这节课呢我们主要学习Arduino 开发板的一些硬件知识呃主要分成这么几个部分首先呢我们要学一些关于开源硬件是什么以及他的一些基本概念还有呢就是Arduino 开发板上面有哪些引脚以及他们的类型。原创 2024-07-28 12:16:06 · 953 阅读 · 0 评论 -
Arduino IDE界面和设置(基础知识)
上面已经默认的选择是Arduino uno。估计你就要联系一下你这Arduino开发板。以及呢如何正确选择Arduino这个端口。这个呢就是Arduino 的这个最基本的。呃是重新安装一下Arduino的驱动程序。后面呢写着一个Arduino开发板的名称。同样还是在选择是Arduino uno。当您的Arduino开花板插到电脑上以后。可能您的这个电脑当前分配给Arduino。啊我的文档下面这个Arduino目录里面。请把你的Arduino开发板还有数据线。他就是专门针对Arduino程序的名称。原创 2024-07-27 19:42:25 · 718 阅读 · 0 评论 -
教程介绍及arduino IDE下载安装(基础知识)
大家好欢迎您来收看由太极创客制作的这一系列Arduino 基础教程我很荣幸呢能为您来开启 Arduino 这扇神奇的大门。原创 2024-07-27 19:42:07 · 875 阅读 · 0 评论 -
arduino简要总述(控制LED及220V节能灯)
其核心为Atmel atmega 328微控制器,程序都是上传到微控制器,通过微控制器控接收外接信号及输出信号数字信号只有两种状态,打开关闭模拟信号有多种状态看一个电扇的例子:若数字信号控制电扇,可以打开,关闭若模拟信号控制,可以控制开启关闭及速度,0表示关闭,255表示全开,中间的如200为控制风扇的速度。原创 2024-07-26 18:16:21 · 762 阅读 · 0 评论 -
Arduino仿真——VBB使用方法
点击左侧uno控制器选中后,再将鼠标移到中间就可以将UNO开发板显示了。原创 2024-07-26 18:15:14 · 1108 阅读 · 0 评论