Arduino入门 01:有手就行

Arduino入门01

  • 一、Arduino简介
  • 二、Arduino IDE界面和设置
  • 三、第一个小小的实例 Blink
  • 四、第二个小小的实例 点亮LED小灯
    • setup()和loop()
    • pinMode()
    • digitalWrite()
    • delay()
    • 补充一点初中物理的知识
    • 激动人心的实操环节

平平无奇的寒假随便玩一玩,纯纯什么都不会,还希望大家能多多指正

一、Arduino简介

提问什么是电脑、如果自己组装一台电脑需要购买哪些设备?首先是一台电脑主机,然后是鼠标、键盘或者手柄等输入设备对主机输入信息,电脑主机收到信息、经过处理之后,把内容通过显示屏显示、声音通过音响放出,这些是输出设备,主机就负责管理所有的输入输出,姑且称之为“大脑”, 有了这些东西,就可以粗略组成一台功能完整的电脑。
什么是Arduino?它就像一台没有鼠标、没有显示屏的电脑主机,因此它需要搭配专用的输入和输出装置,也就是Shields模组。Arduino是一个小型的电脑主机,我们也叫它开发板,在b站随便搜一下就能找到很多有趣的项目,比如机械手套、四轴无人机、记忆机械臂、寻迹小车等等数不胜数,视频看完直接大呼这是魔法!入坑躺平,我也要当魔法师!
Arduino入门 01:有手就行_第1张图片

Arduino是很多型号的总称,我使用的是Arduino UNO创客主板(atmega328p处理器,CH340串口芯片,别问为什么不用意大利主板,问就是贵了一百块)
简单介绍一下接下来会用到的部分,其余部分之后慢慢补~
Arduino入门 01:有手就行_第2张图片

二、Arduino IDE界面和设置

Arduino开发环境IDE可从官网进行下载,https://docs.arduino.cc/ 下载过程就不一一展示了,无脑下一步就好,关键在于最后一步的驱动程序,一定要点安装!不然开发板不能正常工作。
Arduino入门 01:有手就行_第3张图片
在界面中点击工具,设置开发板型号和串行端口,端口太多不知道是哪个?控制变量法,拔了再插上,多了哪个就是哪个。如果端口是不可选的状态,首先检查是否开发板插好,再检查驱动是否存在问题。
Arduino入门 01:有手就行_第4张图片
Arduino入门 01:有手就行_第5张图片
页面上一些插件的功能,以及工作区的介绍, 跑起来就什么都知道了,问题不大
Arduino入门 01:有手就行_第6张图片

三、第一个小小的实例 Blink

这个实例的目标是跑起来,细节别纠结,之后慢慢讲~

点击左上角文件,选择示例 01.Basics Blink,点击左上角第二个按钮将程序写入Arduino,写入成功后会看到板子上有一个LED灯按一秒一次的频率闪烁
Arduino入门 01:有手就行_第7张图片
Arduino入门 01:有手就行_第8张图片
忘了说,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,都是一样的结果。

四、第二个小小的实例 点亮LED小灯

先放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时间                   
}

和上一个实例的代码除了部分函数的第一个参数改变外,没有丝毫区别,但是现在来细讲一下各个函数的功能。

setup()和loop()

Arduino主体程包括两部分,分别为setup()和loop()。其中,setup()只能初始化一次,主要放置的是一些初始化函数,例如端口配置之类的。loop()中的函数会被反复循环执行,是整个程序执行的主要部分。例如第一个实例中就在反复执行打开和关闭LED的动作。

pinMode()

语法:pinMode(pin引脚号码, OUTPUT/ INPUT/ INPUT_PULLUP) 注意大小写敏感!!!

通过该函数可以将Arduino的引脚配置为以下三种模式:

  • 输出(OUTPUT)模式
  • 输入(INPUT)模式
  • 输入上拉(INPUT_PULLUP)模式 (仅支持Arduino 1.0.1以后版本)

当引脚设置为输出(OUTPUT)模式时,引脚为低阻抗状态。这意味着Arduino可以向其它电路元器件提供电流。也就是说,Arduino引脚在输出(OUTPUT)模式下可以点亮LED或者驱动电机。可以把它理解为一个电源

digitalWrite()

语法:digitalWrite(pin引脚号码, HIGH/ LOW)

通过该函数可以将该OUTPUT模式下的引脚设置为HIGH(高电平 5伏特)或LOW(低电平 0伏特/GND接地),相当于电源的开关啦,HIGH是打开电源开关,LOW是关闭电源开关。

delay()

语法:delay(ms)

该函数可用于暂停程序运行,暂停时间可以由delay()函数的参数进行控制,单位是毫秒(1秒钟=1000毫秒)。

补充一点初中物理的知识

没有一个知识白学的,物理要用来搞硬件的,英语要用来读文献和官方文档的,世界的尽头是数学就不用说了。没有数理化啥都是魔法,有了数理化秃头当法师。话虽这么说,以后该划的水还是一节都不会少,我已经洞悉了人性的弱点(手动狗头
Arduino入门 01:有手就行_第9张图片

激动人心的实操环节

面包板就不介绍了面包板使用简介,这里用的220的电阻,360°展示如下:Arduino入门 01:有手就行_第10张图片
Arduino入门 01:有手就行_第11张图片

你可能感兴趣的:(单片机,物联网,stm32,人工智能)