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

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

3天内不再提示

如何使用Arduino读取卡尺

454398 来源:wv 2019-09-24 10:27 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

步骤1:游标卡子

如何使用Arduino读取卡尺

我一直在使用的游标卡尺是Precision Gold的电子数字游标卡尺。我从英国的Maplin(项目代码N48AA)购买了卡尺,价格不到20英镑。

在尝试了万用表和jyetech示波器(一种非常便宜的基本示波器,可以以套件价格购买,价格低于£20)之后。 40)我发现引脚如图所示。

步骤2:电压:逻辑和电源

Arduino使用5V逻辑,但卡尺输出1.5V逻辑。这有点困难,可能并不总是有效,确实应该使用适当的逻辑电平转换电路,但是流畅的操作是一个简单的技巧,与我的Arduino配合得很好:

我的Arduino在逻辑高和逻辑低之间切换大约2.5V(这在板之间可能会有所不同)。

将卡尺的正引脚连接到3.3V电源意味着当时钟和数据引脚连接到arduino时,它们的电压似乎在3.3V和1.8之间变化V,分别是Arduino的逻辑高电平和低电平。

使用Arduino为卡尺供电:

为避免在卡尺中使用电池,可以使用图示的电源电路(卸下按钮单元)。这种方法依赖于使用LED来调节卡钳的电源电压。

电阻

大约200Ohm

电容器

我使用的10uF效果很好,但是使用更大的电阻不会有任何危害。电容。额定电压为2V或更高。

LED

对于LED,请尝试找到一个压降尽可能接近1.6V的LED。我使用了一个压降为1.8V的红色LED。红色和IR LED上的电压降往往较低。

步骤3:数据协议

我的卡尺上使用的数据协议如下:

时钟脉冲,如图所示。

在时钟下降沿读取数据给出了合理的输出。

示例数据输出:

1,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,(屏幕显示0.00毫米或0.000英寸)

1,0,0,0,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0 ,0,0,(屏幕显示10.00mm)

1,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0, 0,0,0,1,0,0,(屏幕显示-1.00mm)

1,0,0,0,1,1,0,0,1,0,1,0,1,1, 1,0,0,0,0,0,0,0,0,0,(屏幕显示150.00mm)

数据解释:

?,X,X,X,X,X,X, X,X,X,X,X,X,X,X,X,?,?,?,?,?,Y,?,?

? =不确定

X是否为字符串开头的最低有效位的二进制数。二进制数是距离,以毫米为单位乘以100。Y =符号位,如果Y = 1,则负数,如果Y = 0,数字为正,

注意:确保将游标卡尺设置为mm,以英寸模式运行非常相似,除了最低有效位用于显示1/2000英寸。

第4步:Arduino代码

这是一个非常基本的Arduino代码,应该与几种卡尺数据协议兼容。

每个值之间都有逗号,以方便使用.CSV文件将数据导入电子表格。

此代码的主要要求是希望在时钟脉冲的下降沿读取数据。

希望这段代码应该意味着,当您将Arduino连接到计算机并使用115200 Baud的串行监视器时,您会很明智地查看二进制文件。

麻烦射击:

如果二进制字符串的长度变化很大,则时钟和数据引脚的方向可能不正确。

代码:

//简单的数字卡尺阅读器

//请参阅http://j44industries.blogspot.com/

//引脚声明

int dataIn = 11;

int clockIn = 12;

//变量

int clock = 1;

int lastClock = 1;

unsigned long time = 0;

unsigned long timeStart = 0;

int out = 0;

void setup(){

//引脚设置

pinMode( dataIn,INPUT);

pinMode(clockIn,INPUT);

Serial.begin(115200);

Serial.println(“ Ready:”);

}

void loop(){

lastClock =时钟;

时钟= digitalRead(clockIn);

如果(lastClock == 1 && clock == 0){

out = digitalRead(dataIn)+ digitalRead(dataIn)+ digitalRead( DATAIN);//三重采样以消除毛刺

if((micros()-time)》 800){

Serial.println(“”);

}

else if((micros()-time )》 400){

Serial.print(“”);

}

如果(out》 1){

Serial.print(“ 1”);

}

else {

Serial.print(“ 0”);

}

Serial.print(“,”);

时间= micros();

}

}

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

    关注

    0

    文章

    16

    浏览量

    8648
  • Arduino
    +关注

    关注

    190

    文章

    6527

    浏览量

    197431
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    STA1052:多功能光盘读取芯片的技术剖析

    STA1052:多功能光盘读取芯片的技术剖析 在电子设备的海洋中,光盘读取技术一直是重要的组成部分。今天,我们就来深入了解一款名为STA1052的芯片,它在光盘读取领域有着独特的表现。 文件下载
    的头像 发表于 04-16 14:05 65次阅读

    ARDUINO串口收发16进制码

    大家好,本人菜鸟刚学,请大家给与帮助。我用串口助手向我的设备发送16进制码读取温度湿度值,发送命令55 1B 02 00 02 0E 08 E8 55 1B 02 00 02 0E 08 E8,接收
    发表于 01-18 17:27

    探索HTRC110 HITAG读取芯片:特性、应用与设计要点

    探索HTRC110 HITAG读取芯片:特性、应用与设计要点 引言 在当今的射频识别(RFID)技术领域,一款性能卓越的读取芯片对于系统的高效运行至关重要。NXP Semiconductors
    的头像 发表于 12-30 17:35 765次阅读

    UNO Q:开启Arduino的全新未来

    图源: * Arduino* 作者:Matt Campbell,贸泽电子专稿 发布日期: 2025年10月7日 Arduino UNO Q不仅是灵活UNO平台的下一代产品,更是一种全新的开发模式。双
    的头像 发表于 12-15 11:46 1141次阅读

    Arduino plc和termux esp

    Arduino plc和termux esp
    的头像 发表于 12-06 06:41 2012次阅读

    贸泽电子开售全新Arduino UNO Q单板计算机

    贸泽电子开售全新Arduino UNO Q单板计算机。Arduino UNO Q单板计算机(SBC)将高性能计算与实时控制结合,提供理想的创新平台。
    的头像 发表于 11-08 09:50 1524次阅读

    高通宣布收购 Arduino,加速普及前沿边缘计算与 AI 技术

    “  全新 Arduino UNO Q 开发板与 Arduino App Lab 将为数百万开发者带来高通 Dragonwing 处理器的强大动力。  ”   要点速览: 强强联合 :此次收购将高
    的头像 发表于 10-08 11:15 896次阅读
    高通宣布收购 <b class='flag-5'>Arduino</b>,加速普及前沿边缘计算与 AI 技术

    掌握NFC标签批量读取,轻松提升数据采集效率!

    NFC批量读取技术解决传统单点读取效率低、成本高、易出错等问题,实现高效、自动化数据采集。
    的头像 发表于 09-23 16:11 634次阅读
    掌握NFC标签批量<b class='flag-5'>读取</b>,轻松提升数据采集效率!

    如何扩展NFC技术的读取距离以满足工业需求?

    NFC技术通过优化标签和读卡器,可实现远距离读取,突破传统短距离限制。
    的头像 发表于 09-03 17:35 1192次阅读
    如何扩展NFC技术的<b class='flag-5'>读取</b>距离以满足工业需求?

    如何用Arduino Nano/UNO R3开发板给另一个Arduino IDE不能下载的Arduino Nano/UNO R3开发板重新烧录引导程序bootlaoder

    本文介绍了如何用能够Arduino IDE下载的Arduino Nano/UNO R3开发板给另一个Arduino IDE不能下载的Arduino Nano/UNO R3开发板重新烧录
    的头像 发表于 08-08 20:16 3929次阅读
    如何用<b class='flag-5'>Arduino</b> Nano/UNO R3开发板给另一个<b class='flag-5'>Arduino</b> IDE不能下载的<b class='flag-5'>Arduino</b> Nano/UNO R3开发板重新烧录引导程序bootlaoder

    倾斜仪测量数据的读取与分析指南

    在结构物安全监测中,倾斜仪的数据精准度直接影响工程安全评估结果。南京峟思了解到很多用户想了解倾斜仪的数据读取和分析相关内容,那么下面我们将结合本公司的倾斜仪产品给大家做出具体的介绍:一、数据读取操作
    的头像 发表于 08-06 14:50 761次阅读
    倾斜仪测量数据的<b class='flag-5'>读取</b>与分析指南

    Arduino与LabVIEW联合编程指南

    Arduino编程并与LabVIEW上位机结合实现设备的远程控制与数据采集。
    发表于 06-19 15:54 3次下载

    免费分享Arduino入门+进阶(全套例程+书籍)

    Arduino是一款开源电子原型平台,由硬件(单片机开发板)和软件(编程环境)组成,旨在让非专业用户也能轻松入门电子制作和编程。它的核心思想是简化硬件开发,通过直观的编程和模块化设计,让用户快速实现
    的头像 发表于 05-22 11:40 1298次阅读
    免费分享<b class='flag-5'>Arduino</b>入门+进阶(全套例程+书籍)

    下一代物联网:芯科科技和Arduino借助边缘AI和ML简化Matter设计和应用

    Silicon Labs(芯科科技)和Arduino宣布建立合作伙伴关系,旨在通过Arduino Nano Matter开发板(基于芯科科技的MGM240系列多协议无线模块)的两阶段合作来简化Matter协议的设计和应用
    的头像 发表于 05-19 11:15 966次阅读
    下一代物联网:芯科科技和<b class='flag-5'>Arduino</b>借助边缘AI和ML简化Matter设计和应用

    《ESP32S3 Arduino开发指南》第二章 Arduino基础知识

    第二章 Arduino基础知识 本章,我们将向大家介绍Arduino是一个什么东西?让大家对Arduino有一个大概了解。本章将分为如下几个小节:2.1什么是Arduino2.2
    发表于 05-13 09:28