Engee 文档
Notebook

Arduino支持包:数字输出-七段指示器

使用Arduino MEGA的多个数字输出的示例。 我们连接并编程七段指示器5161as的操作。

导言

在[前面的例子](https://engee.com/community/ru/catalogs/projects/arduino-meniaem-parametry-na-letu )我们考虑使用Arduino的数字输出。 现在我们将一次在Engee中使用几个数字输出单元,对模型中序列的输出进行编码,以指示七段指示器5161as上的数字。

在示例中,我们还使用Arduino Mega,我们还需要一个330欧姆电阻,连接电线和面包板。

硬件部分

连接图如下所示。

scheme.png

根据表进行连接:

分部

联络电话5161AS

电线颜色

引脚Arduino MEGA

A

7

红色

30

B

6

橙色

31

C

4

黄色

32

D

2

绿色

33

E

1

蓝色

34

F

9

蓝色

35

G

10

紫罗兰

36

dp

5

未连接

未连接

-

8 (3)

黑色

GND

示例模型

在示例模型中,EDM-Target-Arduino单元具有与[上一个示例]中相同的设置(https://engee.com/community/ru/catalogs/projects/arduino-meniaem-parametry-na-letu )。 引脚30-36中的7个数字信号记录单元用作控制器的外围。

这些块从解复用器接收数值,由开关块向其馈送编码序列(块)。 1 - 0). 开关由依次改变所使用的开关输入的复位计数器单元控制。

model.png

指示器上点亮的段的编码序列可以通过以下代码确定:

In [ ]:
]add LinearAlgebra # 安装库以创建单位矩阵
In [ ]:
using LinearAlgebra
A,B,C,D,E,F,G = [Matrix{Int}(I, 7, 7)[:, i] for i in 1:7];
# 在这一行中,我们创建一个7*7的单位矩阵,并使用生成器(comprehension)将其列转移到变量中。
In [ ]:
# 用于在数字图像中包括相应段的序列定义如下:
one = B+C
two = A+B+G+E+D
three = A+B+G+C+D
four = F+G+B+C
five = A+F+G+C+E
six = A+F+G+E+D+C
seven = A+B+C
eight = A+B+C+D+E+F+G
nine = A+B+C+D+F+G
zero = collect(zeros(Int, 7));

现在这些变量可以传递给模型的常量,但是为了清楚起见,对于这个例子,我们已经嵌入了("编码")。
现在让我们继续在Arduino上运行模型。

准备工作

使用这段代码,我们自动启动Engee服务器程序。综合服务:

In [ ]:
import .engee.package as epkg

const PKGNAME = "Engee-Device-Manager"

function epkg_start(pkg::String)
    if !epkg.isinstalled(pkg)
        @info "Package not installed. Installing and Starting..."
        epkg.install(pkg)
        @info "Package is up to date. Starting..."
        println("连接到服务器的链接:\n"*epkg.start(pkg))
    else
        updates = epkg.checkupdates(pkg)
        if isnothing(updates)
            @info "Package is up to date. Starting..."
            println("连接到服务器的链接:\n"*epkg.start(pkg))
        else
            @info "Updates available. Reinstalling and Starting..."
            epkg.update(pkg)
            @info "Package is up to date. Starting..."
            println("连接到服务器的链接:\n"*epkg.start(pkg))
        end
    end
end

epkg_start(PKGNAME)
Пакет поддержки 'Engee-Device-Manager' установлен.
У вас установлена актуальная версия пакета поддержки 'Engee-Device-Manager'.
[ Info: Package is up to date. Starting...

同样在幕后,[像往常一样](https://engee.com/community/ru/catalogs/projects/bc465b1d-9127-43a4-b73a-de7999ea6510 ),让我们启动Engee客户端程序。集成和连接我们的设备.

模型执行

让我们以交互方式运行模型。

记录表明,模型中定义的指示器控制的逻辑以及其上的编码序列的显示正在正常工作。

现在在Engee中,使用此示例的模型,您可以轻松地从Arduino编程数字的显示。

结论

在这个例子中,我们为Engee平台元素使用了Arduino支持包。集成用于对微控制器的数字输出进行编程并在七段指示器上显示数字。