Hello!各位同学大家好~从这堂课开始之后,我们将不断地接触到各种实验,通过这些实验呢,帮助我们学习Stduino。所以你一定要准备好开发板喔~ 这是第一个实验,我们只需要用到开发板和数据线~~在这节课上,我们将通过代码,来控制开发板上的设备。 首先在桌面上找到“Stduino IDE”图标,双击打开。 打开之后,就出现了Stduino IDE的黑色界面,我们接下来将利用这个界面来写代码。但是,我们需要先在左边的版型选择中,选择我们将要用到的开发板。如果你使用到的开发板是Stduino UNO,只需要在板型这里选择“板型”,在芯片这里选择“Stduino UNO”即可。同时,还要检查下,最下面的下载方式是否选择正确,我们采用“Serial”的下载方式,即串口下载。 此时,在右上角的“选择下载端口”这里,应该显示“无可用端口”。 在设置完后,我们下一步需要把Stduino开发板和电脑连接。连接好后,如果开发板上亮起了小灯,这就说明开发板通上电了。此时,我们在“选择下载端口”这里,点击“检测端口”,你会发现这里有些小小的变化:我们检测到了COM6端口(由于开发板和电脑接口的缘故,每个人的显示端口可能不同)。Stduino开发板通过端口和电脑连接起来了。周,我们编写的代码,将通过这个端口传输给开发板上的芯片里。 那么接下来我们将利用代码来控制Stduino开发板上的LED灯闪烁。第一次我们不用自己动手写代码,只需要来研究研究控制LED闪烁的代码。 从左方界面中找到“Documents”,这里给出了非常多的Stduino的代码例子。我们找到“projects”文件夹,点击“projects”文件夹,打开之后点击“led.ino”文件,就打开了代码示例。 可以看到,右侧的主界面中被一些代码占满了: 这样看起来可能比较复杂,我们做一些适当的精简,去掉这些深绿色的斜体字。 这样看起来简单了一些。 我们去掉这些字,并不会对代码效果产生任何影响。因为,这些字是程序员伯伯在写代码的时候,用来提醒自己这写了啥用的。其实他们在编程中叫做注释。 对于Stduino IDE中的编程语言而言,可以利用两个斜杠来告诉IDE这里有注释,斜杠后面的内容不会被传输到开发板上。斜杆只能对一行的注释内容起到作用,如果注释内容写到了下一行,就会被当作程序内容而不是注释了,这样就会出错: 也可以利用/*和*/这样的符号组合,把注释内容写在他们之间,可以进行多行内容的注释: 接下来我们简单讲解一下代码的含义,非常容易理解。Stduino的代码一般由这两部分构成: setup和loop在编程中被叫做函数,英文是function。function也有作用、方法的意思。我们可以在函数的花括号里写各种代码。可以说,函数就是一套需要执行的代码语句的集合。当我调用该函数的时候,那么程序就会开始执行里面的语句。 举个简单的例子,你就会很好的理解函数的作用啦。加入我们要告诉小明泡茶,小明没有学习过泡茶,我们要把泡茶的每一个步骤都告诉他:
那么这时,小红、小刚也要学泡茶,我们可以不厌其烦的告诉他们,泡茶的每一步:
我们发现,他们每一个学习的都是泡茶的步骤,我们可以定义一个动作的序列,叫做泡茶:
那么如果又有三个人来学习泡茶,分别是小军、小丽、小强,我们可以直接这样教他们泡茶的步骤:
我们不要再把泡茶的步骤一一说清楚,告诉他们“泡茶”,他们自己会获得“泡茶()”这个函数代表的步骤序列。函数就是这样一个步骤序列。 那么setup函数花括号里的内容,就是告诉芯片,下载好代码之后,最开始需要执行哪些命令,负责初始化。而loop函数花括号内的内容,则是告诉芯片,初始化后,需要不断循环执行的命令语句是哪些,芯片将不断执行这些命令。 这样你是不是看下面的代码,就能更清楚了呢?
我们接下来看一下,每个函数里面都写了什么内容。首先是setup()函数里面,写了“pinMode(13,OUTPUT);”。实际上,就是告诉芯片,在最开始的时候,我们要用到第十三号管脚,通过13号管脚来向外输出信号,你把13号管脚准备好,准备输出。
那有的同学问,为什么是13号管脚呢?因为13号管脚上接了一个LED灯,所以我们用到13号管脚。 接下来看loop()这个循环执行的函数里写了什么?
digitalWrite(13,HIGH);就是说13号管脚输出高电压(平),那么这个时候13号管脚上的LED灯接上了电压,因此就会被点亮。 delay(1000);delay是一个延时函数,能够保持当前的动作,后面跟的1000也就是说,保持13号管脚高电压状态1000毫秒(即1秒)。 那么后面两个语句相信你能够类比推理出来。
DigitalWrite(13,LOW);就是说13号管脚输出低电压,其实就是断开了LED的电压,那么LED就会熄灭。同时delay(1000);保持LED熄灭状态1秒。 我们来看看,loop函数里面讲了什么意思?LED灯通电1秒,接着断电1秒,接着通电1秒,断点1秒……这样反复循环,我们就看到了LED灯闪烁的效果。
好,既然理解了程序代码的含义,是时候把代码下载到开发板上了!看看会有什么效果? 下载的过程也非常简单,点击左上角的第二个图标(下载),IDE就会开始将代码下载到开发板的芯片中去了。
这一过程值得你屏住呼吸,因为说不定你编写的代码中出现了错误,那么下载就会失败了。但是我们今天暂时不用屏住呼吸,因为代码比较简单,应该不会出错! 好,等待片刻之后,这时就会显示我们的下载成功了! 来,赶紧去看看你的板子,有没有什么变化? (图片占位:Stduino UNO Blink实验现象) 大家可以看到板子上,有一个灯亮一秒,又熄灭,又亮一秒……没错,这个就是我们控制的13号管脚的LED,我们刚才烧录到芯片里的代码发生了作用! 欸,LED亮一秒,灭一秒,如果想让LED闪烁加快,该怎么办呢?我们是不是只需要调整延迟的时间即可?话不多说,让我们调整调整代码,把1000改成更短的时间,比如300吧。 我们呢再次把代码下载到开发板中,看看LED灯是不是和我们的猜想一样呢? (图片占位:改成300之后的LED闪烁实验) 你看,是不是和我们想的一样,现在LED的闪烁明显变快了?如果你还想快一点,还可以调得更短。当然,如果太短的话,你会发现LED灯不再闪烁了。这是为什么呢,难道是我们的代码写错了嘛?其实是LED灯闪烁太快,以至于人眼跟不上熄灭的速度,没法分辨。你可以自己测试下?延时时间多短时,你看不到闪烁了?
同学们,上完这节课,你已经可以通过代码控制开发板了!恭喜你已经学会写Stduino代码控制开发板啦。这是一个不小的成果喔。
可能有人会觉得这个超级简单,Stduino这么简单嘛?同学,我必须认真地告诉你,Stduino就是这么简单,后面的学习内容不过是在这个基础上再强化而已,真的非常简单。 如果你觉得你还想发现更多有趣的内容,不如继续跟着老师学习吧~~
|