0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何将数字千分尺连接到Arduino和VGA监视器

454398 来源:wv 2019-10-26 09:58 次阅读

步骤1:

如何将数字千分尺连接到Arduino和VGA监视器

这是一个示意图,显示了三丰电缆的接线方式。在此应用程序中未使用的电缆的千分尺末端有一个红色的“数据”按钮,因此我们决定将其用作“菜单”按钮。

步骤2 :将电缆连接到Arduino

Arduino连接带有一些组件的三丰电缆。一个2x5带罩的插头,与电缆的母插头配对,带有一个PN2222A晶体管和两个10k Ohm电阻器。一个电阻与PN2222A一起使用以保护千分尺(或卡尺)免受过大的电压,另一个电阻将“菜单”按钮偏置到+ 5vdc

我已经提供了PN2222A的数据表和驱动器我们现在使用的基于CH340的Arduino Nano。

步骤3:读取Mitutoyo输出

代码(感谢Mark Burmistrak对我的原始内容所做的修改),它读取数据流,以正确的顺序重新组合并打印测量结果,如下所示:

int req = 5;//mic REQ线通过q1到达引脚5(arduino高电平将请求线拉低)

int dat = 2;//mic数据线连接到引脚2

int clk = 3;//mic时钟线转到引脚3

int i = 0;

int j = 0;

int k = 0;

int signCh = 8;

int符号= 0;

int十进制;

float dpp;

int单位;

字节mydata [14];

字符串value_str;

long value_int;//是一个int,不能测量超过32mm的浮点值;

void setup(){

Serial.begin(9600);

pinMode(req,OUTPUT);

pinMode(clk,INPUT_PULLUP);

pinMode(dat,INPUT_PULLUP);

digitalWrite(REQ,LOW);//将请求设置为高

}

void loop(){

digitalWrite(req,HIGH);//生成设置请求

for(i = 0; i 《13; i ++){ 0;

for(j = 0; j 《4; j ++){

while(digitalRead(clk)== LOW){

}//保持到时钟高电平

while(digitalRead(clk) == HIGH){

}//保持到时钟为低电平

bitWrite(k,j,(digitalRead(dat)&0x1));

}

mydata [i] = k;

}

sign = mydata [4];

value_str =字符串(mydata [5])+字符串(mydata [6])+字符串(mydata [7])+字符串(mydata [8] +字符串(mydata [9] +字符串(mydata [10]) ));

decimal = mydata [11];

units = mydata [12];

value_int = value_str.toInt();

如果(十进制== 0)dpp = 1.0;

如果(十进制== 1)dpp = 10.0;

如果(小数== 2)dpp = 100.0;

如果(十进制== 3)dpp = 1000.0;

如果(十进制== 4)dpp = 10000.0;

if(decimal == 5)dpp = 100000.0;

value = value_int/dpp;

if(sign == 0){

Serial.println(value,decimal);

}

if(sign == 8){

Serial.print(“-”); Serial.println(值,十进制);

}

digitalWrite(req,LOW);结果,延迟(100);

}

第4步:更多辅助示意图

还有其他几个我们添加的外部连接。首先,一对“采样”按钮(脚和手指)用于在平均之前使用齿轮的3个点进行采样测量,并使用最终的平均值(如果采样相距太远则拒绝)。第二,是uVGA卡的复位电路。

步骤5:输出到VGA

使用4D的uVGA-II(SGC)模块获取Arduino的串行输出,并将其显示在典型的vga监视器上。在此说明的最后一步中可以看到执行此操作的代码。特别感谢Rei Vilo在本节中提供的帮助-https://github.com/rei-vilo和http://reivilohobbies.weebly.com/

已由uVGA-代替。 III。

在Arduino草图中,当您要将数据发送到uvga模块时,请使用如下语句:

uvga(“ N”,value);

其中N是uvga上变量的名称,value是包含要传递的值的变量。

在草图的末尾(在void循环的右括号之后)您具有以下功能:

int uvga(char * x,int y){

delay(50);

Serial3.print(“ $”);

Serial3.print(x);

Serial3.println(y,DEC);

}

我在Mega 2560上使用Serial3,但是您可以使用softserial和UNO。

在uvga上运行的代码接受该串行“数据包”,并将传递的值放入传递的变量中,然后可以在屏幕上显示该值。随附了uvga的示例代码。这是一个纯文本文件。您将需要4D的Workshop软件和USB到TTL电缆才能将代码上传到uvga。

步骤6:具有测量采样和Vga输出的完整代码

如果您想了解我们如何应用此特定解决方案,我们将使用它根据测量结果为齿轮组生成箱号。随附的是我们完整的代码,该代码是在Arduino,4D和Arduinohome论坛的许多其他人的帮助下开发的。

较小的文件只是执行以下操作所需的代码显示千分尺的原始读数。将变量“ num”除以1000得到以毫米为单位的输出。

步骤7:现在处于GFX模式(4DGL)

我们刚刚对该项目进行了重大升级。屏幕输出看起来相同,但是所有图形处理已移至uVGA-II。我们从4D系统购买了编程电缆,并上传了新的PmmC文件,该文件将卡从SGC模式(哑模式)切换到GFX(协处理器模式)。这大大加快了程序的运行。我们还集成了“数据包”串行传输功能,该功能以串行数据包的形式将数据发送到uVGA-II,并带有起始符号,数据包ID(指定数据在接收端指向的变量)和数据包的结尾符号)。这使得多个目标数据的传递非常可靠。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 监视器
    +关注

    关注

    0

    文章

    764

    浏览量

    32870
  • VGA
    VGA
    +关注

    关注

    5

    文章

    510

    浏览量

    62095
  • Arduino
    +关注

    关注

    185

    文章

    6434

    浏览量

    185143
收藏 人收藏

    评论

    相关推荐

    workbench的监视器如何通过串口连接到开发板?

    我用的是NUCLEO-F303RE+X-NUCLEO-IHM08M1的开发板套件。workbench的监视器如何通过串口连接到开发板。是连接UART2吗?连接不成功是怎么回事?
    发表于 03-29 06:01

    如何将LED连接到Arduino板并使其闪烁

     在本快速入门指南中,您将学习如何将 LED 连接到 Arduino 板并使其闪烁。
    的头像 发表于 02-11 10:53 978次阅读
    <b class='flag-5'>如何将</b>LED<b class='flag-5'>连接到</b><b class='flag-5'>Arduino</b>板并使其闪烁

    如何将按钮连接到Arduino

    在本快速入门指南中,您将学习如何将按钮连接到Arduino板,并根据按钮是否被按下来读取HIGH或LOW。您将使用电路板上随附的发光二极管 (LED)通过按钮打开和关闭,以便验证按钮按下代码是否正常工作。
    的头像 发表于 02-11 10:52 1386次阅读
    <b class='flag-5'>如何将</b>按钮<b class='flag-5'>连接到</b><b class='flag-5'>Arduino</b>板

    如何将光敏电阻连接到Arduino板并读取电压

    在本快速入门指南中,您将学习如何将光敏电阻连接到Arduino板并读取电压。您将首先使用串行监视器来了解光传感器的行为方式,然后构建一个电路,在天黑时自动打开灯。
    的头像 发表于 02-11 10:45 1381次阅读
    <b class='flag-5'>如何将</b>光敏电阻<b class='flag-5'>连接到</b><b class='flag-5'>Arduino</b>板并读取电压

    AD5422无法满足千分之一的精度要求怎么解决?

    我研发的项目用到AD5422芯片做模拟量输出4-20mA,碰到如下问题: 通过配置控制寄存,让AD5422工作在4-20mA输出模式,外置的Rset选用的千分之一的15K电阻。但是实测的时候发现
    发表于 11-23 06:35

    如何用测长机测量大型千分尺的校对杆?

    外径千分尺校对用量杆的尺寸及变动量在SJ5100系列测长机上采用4等量块以比较法进行检定。数显千分尺校对用量杆的尺寸及变动量在SJ5100系列测长机上采用3等量块以比较法进行检定。也可用同等准确度
    的头像 发表于 11-08 16:47 406次阅读
    如何用测长机测量大型<b class='flag-5'>千分尺</b>的校对杆?

    在配置位中启用了监视器( WDT) 函数,监视器将自动启动是为什么?

    如果在配置位中启用了监视器( WDT) 函数, 监视器将自动启动。 默认的时钟源为内部低速 10 kHz 时钟。 重置时间 = 超时延迟时间 = 218 1026 /10k= 26.3秒
    发表于 08-24 06:36

    带有土壤电容传感器的Arduino植物监视器

    电子发烧友网站提供《带有土壤电容传感器的Arduino植物监视器.zip》资料免费下载
    发表于 06-29 09:30 1次下载
    带有土壤电容传感器的<b class='flag-5'>Arduino</b>植物<b class='flag-5'>监视器</b>

    如何使用Arduino构建植物监视器

    电子发烧友网站提供《如何使用Arduino构建植物监视器.zip》资料免费下载
    发表于 06-28 15:34 0次下载
    如何使用<b class='flag-5'>Arduino</b>构建植物<b class='flag-5'>监视器</b>

    模具监视器报警了怎么处理?图灵慧眼教程# 模具监视器#

    监视器
    jf_06850557
    发布于 :2023年06月16日 13:41:25

    蜂窝连接的蜂巢监视器开源分享

    电子发烧友网站提供《蜂窝连接的蜂巢监视器开源分享.zip》资料免费下载
    发表于 06-15 09:21 0次下载
    蜂窝<b class='flag-5'>连接</b>的蜂巢<b class='flag-5'>监视器</b>开源分享

    如何将模块连接到互联网和Arduino板?

    如何将模块连接到互联网和 Arduino
    发表于 06-12 06:12

    如何将Deauther手表连接到Arduino IDE?

    我终于成功地将我的 Deauther 手表连接到 Arduino IDE。当我在串行监视器中输入“信息”时,我收到以下消息: 代码:全选# info
    发表于 06-05 08:29

    ESP8266连接到Arduino Mega,ESP8266蓝色LED不亮无反应怎么解决?

    电压降到 3.3V,然后再连接到 ESP8266 的 RX。 我一个简单的草图上传到 Arduino(下图)。串行监视器中的预期响应应
    发表于 06-02 07:17

    无法从串行监视器控制ESP8266怎么解决?

    连接 Arduino 时,Arduino IDE Lybrary 的串行监视器上就绪。在我使用了一些来自互联网的草图之后它工作正常,但是一周后我想从那里的串行
    发表于 05-31 06:10