提问什么是电脑、如果自己组装一台电脑需要购买哪些设备?首先是一台电脑主机,然后是鼠标、键盘或者手柄等输入设备对主机输入信息,电脑主机收到信息、经过处理之后,把内容通过显示屏显示、声音通过音响放出,这些是输出设备,主机就负责管理所有的输入输出,姑且称之为“大脑”, 有了这些东西,就可以粗略组成一台功能完整的电脑。
什么是Arduino?它就像一台没有鼠标、没有显示屏的电脑主机,因此它需要搭配专用的输入和输出装置,也就是Shields模组。Arduino是一个小型的电脑主机,我们也叫它开发板,在b站随便搜一下就能找到很多有趣的项目,比如机械手套、四轴无人机、记忆机械臂、寻迹小车等等数不胜数,视频看完直接大呼这是魔法!入坑躺平,我也要当魔法师!
Arduino是很多型号的总称,我使用的是Arduino UNO创客主板(atmega328p处理器,CH340串口芯片,别问为什么不用意大利主板,问就是贵了一百块)
简单介绍一下接下来会用到的部分,其余部分之后慢慢补~
Arduino开发环境IDE可从官网进行下载,https://docs.arduino.cc/ 下载过程就不一一展示了,无脑下一步就好,关键在于最后一步的驱动程序,一定要点安装!不然开发板不能正常工作。
在界面中点击工具,设置开发板型号和串行端口,端口太多不知道是哪个?控制变量法,拔了再插上,多了哪个就是哪个。如果端口是不可选的状态,首先检查是否开发板插好,再检查驱动是否存在问题。
页面上一些插件的功能,以及工作区的介绍, 跑起来就什么都知道了,问题不大
这个实例的目标是跑起来,细节别纠结,之后慢慢讲~
点击左上角文件,选择示例 01.Basics Blink,点击左上角第二个按钮将程序写入Arduino,写入成功后会看到板子上有一个LED灯按一秒一次的频率闪烁
忘了说,Arduino基于C/C++,顺带复习了属于是。 暂且不说代码能不能看懂,可以自己试着改一改那个delaytime,看看有什么变化。
int delaytime = 500; // 自己改一改看
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT); // 初始化 为LED_BUILTIN设置为OUTPUT模式 也就是对13引脚设置为输出模式
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)高电平/输出电流
delay(delaytime); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW 无电流
delay(delaytime); // wait for a second
}
实际上这个代码就是用于实现LED的闪烁,delay()函数用于暂停程序运行,暂停时间可以由参数进行控制,单位是毫秒,delay(2000)就是暂停2秒。LED_BUILTIN就是引脚13,不信把LED_BUILTIN全改为13,都是一样的结果。
先放code:
int delaytime = 500; // 初始化变量
void setup() { // 只执行一次
pinMode(5, OUTPUT); // 初始化引脚5为OUTPUT模式 看作电源
}
void loop() { //循环
digitalWrite(5, HIGH); // 打开电源
delay(delaytime); // 持续delaytime时间
digitalWrite(5, LOW); //关闭电源
delay(delaytime); // 持续delaytime时间
}
和上一个实例的代码除了部分函数的第一个参数改变外,没有丝毫区别,但是现在来细讲一下各个函数的功能。
Arduino主体程包括两部分,分别为setup()和loop()。其中,setup()只能初始化一次,主要放置的是一些初始化函数,例如端口配置之类的。loop()中的函数会被反复循环执行,是整个程序执行的主要部分。例如第一个实例中就在反复执行打开和关闭LED的动作。
语法:pinMode(pin引脚号码, OUTPUT/ INPUT/ INPUT_PULLUP) 注意大小写敏感!!!
通过该函数可以将Arduino的引脚配置为以下三种模式:
当引脚设置为输出(OUTPUT)模式时,引脚为低阻抗状态。这意味着Arduino可以向其它电路元器件提供电流。也就是说,Arduino引脚在输出(OUTPUT)模式下可以点亮LED或者驱动电机。可以把它理解为一个电源。
语法:digitalWrite(pin引脚号码, HIGH/ LOW)
通过该函数可以将该OUTPUT模式下的引脚设置为HIGH(高电平 5伏特)或LOW(低电平 0伏特/GND接地),相当于电源的开关啦,HIGH是打开电源开关,LOW是关闭电源开关。
语法:delay(ms)
该函数可用于暂停程序运行,暂停时间可以由delay()函数的参数进行控制,单位是毫秒(1秒钟=1000毫秒)。
没有一个知识白学的,物理要用来搞硬件的,英语要用来读文献和官方文档的,世界的尽头是数学就不用说了。没有数理化啥都是魔法,有了数理化秃头当法师。话虽这么说,以后该划的水还是一节都不会少,我已经洞悉了人性的弱点(手动狗头