# 安装编程软件

在实验开始之前,您需要花一点时间安装编程软件,和了解软件的基本操作。

Arduino IDE


如果您有编程经验,喜欢使用文本编程软件,请参考以下链接安装Arduino IDE:

/tutorial/robopro/arduino_ide_install

oseppBlock IED


oseppBlock IDE是为初学者编写的一个基于图形的编程软件,基于Scratch2.0二次开发。通过拖放积木代码块组成程序,并实时转换成文本代码。
如果您是编码初学者,我们建议您首先使用osepblock软件。请参考以下链接安装oseppBlock IDE:

下载地址:/software/oseppblock
安装教程:/tutorial/robopro/oseppblock_ide_install

Arduino的数字引脚可以输出高电平5v也可以输出低电平0V。在上次的实验中,如果将LED端子连接到电源负极GND,LED就没有电流通过,也就不会发光。通过程序控制Arduino的引脚输出高电平,或者低电平,就可以控制LED的亮和灭,相当于用程序将LED端子接到了电源正极,或者电源负极。

# 部署

  1. LED1端子接在OSEPP UNO的13号引脚上。
  2. usb一端连电脑,一端连接在OSEPP UNO的主板接口上。

# 程序搭建

  1. 在开始编程之前,我们先来了解Arduino程序,最基本的Arduino程序由setuploop两部分组成。

    开机运行:void setup()函数
    setup中的代码只在通电或者复位时执行一次,用于初始化变量,配置针脚的输出/输入类型, 配置串口。

    重复执行:void loop()函数
    loop中的代码将会不断地被重复执行,通常程序的功能将在这里实现。

  2. 在左侧目录区中的输出模块内找到LED模块积木:

    将积木放入工作区空白区域。表示您有一个LED,接在13号引脚。
    右侧代码区中void setup()函数内会自动生成代码pinMode(13,OUTPUT),表示将控制板的13号引脚设置为输出模式,以驱动LED。
    定义模块类的积木只需要放置到工作区中就会产生代码。

  3. 这时目录区中的会出现对应设置LED积木:

    设置LED状态积木:LED1对应上图的LED模块积木的名称。如果有多个LED,请点击名称处的三角箭头,从拉列表选择 所 要设置的LED。
    LED状态设置有高电平和低电平两种模式,对应代码:
    digitalWrite(13,HIGH)
    digitalWrite(13,LOW)
    此类形状的积木,需要放入开机运行或者重复执行中,才会产生代码。

  4. 目前的程序将连接到LED的引脚,设置为输出模式并输出高电平,LED将会被点亮。您还需要添加更多的积木/程序,目录区的选择硬件,积木区中拖出一个暂停积木到设置LED积木的下面。

    暂停积木:将程序暂停一段时间。代码:
    delay(1000);
    是将程序的执行暂停一段时间(单位为毫秒),
    1000毫秒=1秒。

    并在设置LED积木上点击鼠标右键(触摸屏为长按),选择复制,将复制出来的积木连接到程序中。最终的程序如图:

  • oseppBlock程序

    代码区中完整的

  • Arduino程序

    void setup()
    {
        //led1
        pinMode(13, OUTPUT); //定义13号引脚为输出模式
    }
    void loop()
    {
        digitalWrite(13, HIGH); //13号引脚输出高电平
        delay(1000); //延时1000毫秒
        digitalWrite(13, LOW); //13号引脚输出低电平
        delay(1000); ////延时1000毫秒
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

# 上传程序

软件当前窗口下方选择端口号,

注意:您电脑上并不一定显示的是COM3,也可能是其他数字。
然后点右上角的 上传按钮上传程序,这时会弹出一个窗口,

当窗口最后内容出现...Thank you.字样时,表示程序已经上传完成并写入到OSEPP UNO控制板中。
如下图:

上传成功后可以关闭此窗口。

# 运行结果

这时主板上的LED就会按照我们程序设定的,点亮一秒然后熄灭一秒,不停循环。

# 解析

控制板按照程序执行,运行流程如下图:

uml diagram
  • 数字引脚输出模式:


代码:
digitalWrite(13,HIGH);


代码:
digitalWrite(13,LOW);

digitalWrite 是一个函数,其作用为设置引脚的输出电压为高\低电平。
该函数无返回值,有两个参数pinvaluepin参数表示所要设置的引脚,value参数表示输出的电压(HIGH为高电平LOW为低电平)。
在使用 digitalWrite(pin, value) 函数之前要将引脚设置为输出 OUTPUT 模式。

当Arduino的数字引脚设置为OUTPUT输出模式时,只能输出两种状态:高电平HIGH或者低电平LOW。通常将这种输出称为数字输出(对于两种状态,有时称为二进制)。
这些状态通常称为高电平HIGH和低电平LOW。高电平HIGH等于说“这里有电压!” ,低电平LOW表示“这个引脚上没有电压!”。
当您使用 digitalWrite() 的命令将 OUTPUT 引脚设置为高电平HIGH时,相当于在芯片内部把引脚连接到了电源正极。测量引脚与电源负极之间的电压,电压表显示5V。
当您将 OUTPUT 引脚设为低电平LOW时,引脚相当于连接到了电源负极,再次测量引脚与电源负极,电压表没有输出。而测量电源正极与引脚之间的电压,电压表显示5V。

# 操作视频