0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用Arduino讀取卡尺

454398 ? 來源:wv ? 2019-09-24 10:27 ? 次閱讀

步驟1:游標(biāo)卡子

如何使用Arduino讀取卡尺

我一直在使用的游標(biāo)卡尺是Precision Gold的電子數(shù)字游標(biāo)卡尺。我從英國的Maplin(項(xiàng)目代碼N48AA)購買了卡尺,價(jià)格不到20英鎊。

在嘗試了萬用表和jyetech示波器(一種非常便宜的基本示波器,可以以套件價(jià)格購買,價(jià)格低于£20)之后。 40)我發(fā)現(xiàn)引腳如圖所示。

步驟2:電壓:邏輯和電源

Arduino使用5V邏輯,但卡尺輸出1.5V邏輯。這有點(diǎn)困難,可能并不總是有效,確實(shí)應(yīng)該使用適當(dāng)?shù)倪壿嬰娖睫D(zhuǎn)換電路,但是流暢的操作是一個(gè)簡單的技巧,與我的Arduino配合得很好:

我的Arduino在邏輯高和邏輯低之間切換大約2.5V(這在板之間可能會(huì)有所不同)。

將卡尺的正引腳連接到3.3V電源意味著當(dāng)時(shí)鐘和數(shù)據(jù)引腳連接到arduino時(shí),它們的電壓似乎在3.3V和1.8之間變化V,分別是Arduino的邏輯高電平和低電平。

使用Arduino為卡尺供電

為避免在卡尺中使用電池,可以使用圖示的電源電路(卸下按鈕單元)。這種方法依賴于使用LED來調(diào)節(jié)卡鉗的電源電壓。

電阻

大約200Ohm

電容器

我使用的10uF效果很好,但是使用更大的電阻不會(huì)有任何危害。電容。額定電壓為2V或更高。

LED

對于LED,請嘗試找到一個(gè)壓降盡可能接近1.6V的LED。我使用了一個(gè)壓降為1.8V的紅色LED。紅色和IR LED上的電壓降往往較低。

步驟3:數(shù)據(jù)協(xié)議

我的卡尺上使用的數(shù)據(jù)協(xié)議如下:

時(shí)鐘脈沖,如圖所示。

在時(shí)鐘下降沿讀取數(shù)據(jù)給出了合理的輸出。

示例數(shù)據(jù)輸出:

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)

數(shù)據(jù)解釋:

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

? =不確定

X是否為字符串開頭的最低有效位的二進(jìn)制數(shù)。二進(jìn)制數(shù)是距離,以毫米為單位乘以100。Y =符號(hào)位,如果Y = 1,則負(fù)數(shù),如果Y = 0,數(shù)字為正,

注意:確保將游標(biāo)卡尺設(shè)置為mm,以英寸模式運(yùn)行非常相似,除了最低有效位用于顯示1/2000英寸。

第4步:Arduino代碼

這是一個(gè)非常基本的Arduino代碼,應(yīng)該與幾種卡尺數(shù)據(jù)協(xié)議兼容。

每個(gè)值之間都有逗號(hào),以方便使用.CSV文件將數(shù)據(jù)導(dǎo)入電子表格。

此代碼的主要要求是希望在時(shí)鐘脈沖的下降沿讀取數(shù)據(jù)。

希望這段代碼應(yīng)該意味著,當(dāng)您將Arduino連接到計(jì)算機(jī)并使用115200 Baud的串行監(jiān)視器時(shí),您會(huì)很明智地查看二進(jìn)制文件。

麻煩射擊:

如果二進(jìn)制字符串的長度變化很大,則時(shí)鐘和數(shù)據(jù)引腳的方向可能不正確。

代碼:

//簡單的數(shù)字卡尺閱讀器

//請參閱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(){

//引腳設(shè)置

pinMode( dataIn,INPUT);

pinMode(clockIn,INPUT);

Serial.begin(115200);

Serial.println(“ Ready:”);

}

void loop(){

lastClock =時(shí)鐘;

時(shí)鐘= 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(“,”);

時(shí)間= micros();

}

}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 卡尺
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

    8485
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6455

    瀏覽量

    186365
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    PRU讀取延遲

    電子發(fā)燒友網(wǎng)站提供《PRU讀取延遲.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 11:10 ?0次下載
    PRU<b class='flag-5'>讀取</b>延遲

    Arduino Nano 和 NodeMCU ESP8266 讀取 DHT11 環(huán)境溫濕度數(shù)據(jù)及 OLED顯示

    Arduino Nano 和 NodeMCU ESP8266 讀取 DHT11 環(huán)境溫濕度數(shù)據(jù)及 OLED顯示
    的頭像 發(fā)表于 08-13 18:04 ?785次閱讀
    <b class='flag-5'>Arduino</b> Nano 和 NodeMCU ESP8266 <b class='flag-5'>讀取</b> DHT11 環(huán)境溫濕度數(shù)據(jù)及 OLED顯示

    PLC如何讀取伺服位置

    在工業(yè)自動(dòng)化領(lǐng)域中,伺服電機(jī)因其高精度、高速度和高可靠性的特性而得到廣泛應(yīng)用。為了實(shí)現(xiàn)對伺服電機(jī)的精確控制,通常需要讀取其當(dāng)前位置信息??删幊踢壿嬁刂破鳎≒LC)作為工業(yè)自動(dòng)化系統(tǒng)的核心控制設(shè)備
    的頭像 發(fā)表于 06-18 10:07 ?1394次閱讀

    示波器如何讀取電壓值

    示波器作為電子測量領(lǐng)域的重要工具,其主要功能之一是讀取電路中的電壓值。對于電子工程師和技術(shù)人員而言,準(zhǔn)確地讀取電壓值是進(jìn)行電路分析、故障診斷和優(yōu)化的基礎(chǔ)。本文旨在詳細(xì)介紹示波器讀取電壓值的方法、步驟、注意事項(xiàng)及實(shí)際應(yīng)用,以期為相
    的頭像 發(fā)表于 05-14 17:02 ?3991次閱讀

    如何將按鈕連接到Arduino

    在本快速入門指南中,您將學(xué)習(xí)如何將按鈕連接到Arduino板,并根據(jù)按鈕是否被按下來讀取HIGH或LOW。您將使用電路板上隨附的發(fā)光二極管 (LED)通過按鈕打開和關(guān)閉,以便驗(yàn)證按鈕按下代碼是否正常工作。
    的頭像 發(fā)表于 02-11 10:52 ?3033次閱讀
    如何將按鈕連接到<b class='flag-5'>Arduino</b>板

    如何將光敏電阻連接到Arduino板并讀取電壓

    在本快速入門指南中,您將學(xué)習(xí)如何將光敏電阻連接到Arduino板并讀取電壓。您將首先使用串行監(jiān)視器來了解光傳感器的行為方式,然后構(gòu)建一個(gè)電路,在天黑時(shí)自動(dòng)打開燈。
    的頭像 發(fā)表于 02-11 10:45 ?3192次閱讀
    如何將光敏電阻連接到<b class='flag-5'>Arduino</b>板并<b class='flag-5'>讀取</b>電壓

    如何將增量旋轉(zhuǎn)編碼器與Arduino連接

    在本教程中,您將學(xué)習(xí)如何將增量旋轉(zhuǎn)編碼器與Arduino連接,以讀取旋鈕的運(yùn)動(dòng)。這對于在機(jī)器人和其他應(yīng)用程序中創(chuàng)建用戶界面或讀取機(jī)械位置非常有用。
    的頭像 發(fā)表于 02-11 10:00 ?1204次閱讀
    如何將增量旋轉(zhuǎn)編碼器與<b class='flag-5'>Arduino</b>連接

    ESP32與Arduino板之間的區(qū)別差異

    Arduino板包括一個(gè)ATmega328P8位微控制器,具有0至13個(gè)數(shù)字引腳。這些引腳用于數(shù)字輸入和數(shù)字輸出,其中數(shù)字輸入用于從設(shè)備讀取數(shù)據(jù),數(shù)字輸出用于將數(shù)據(jù)從Arduino發(fā)送到設(shè)備。
    的頭像 發(fā)表于 02-02 14:36 ?6411次閱讀
    ESP32與<b class='flag-5'>Arduino</b>板之間的區(qū)別差異

    游標(biāo)卡尺的使用方法及注意事項(xiàng)

    游標(biāo)卡尺是一種常用的測量工具,可以對物體的長度、寬度和深度進(jìn)行精確測量。它的主要部件包括刻度板、定位爪和可動(dòng)爪。游標(biāo)卡尺的使用方法相對簡單,但是在具體操作過程中需要注意一些事項(xiàng),以確保測量的準(zhǔn)確性
    的頭像 發(fā)表于 01-19 10:01 ?5828次閱讀

    labview visa讀取數(shù)據(jù)越來越慢

    實(shí)際上,LabVIEW通過VISA(Virtual Instrument Software Architecture)來與儀器通信。但是,有時(shí)候在使用VISA讀取數(shù)據(jù)時(shí),可能會(huì)遇到讀取速度變慢
    的頭像 發(fā)表于 01-08 10:00 ?2744次閱讀

    通過arduino SPI讀取AD7190的數(shù)值一直為0是為什么?

    我手里有一塊ad7190的評(píng)估板(ad7190 EBZ),我通過arduino的SPI讀取AD7190的數(shù)值出現(xiàn)問題。 arduino板為duemilanove,arduino的13
    發(fā)表于 12-25 08:17

    Arduino操作AD5933,讀取狀態(tài)寄存器的時(shí)候老是讀取0x70是什么原因造成的?

    最近用Arduino操作AD5933出現(xiàn)了問題,讀取狀態(tài)寄存器的時(shí)候 老是讀取0x70,有沒有知道是什么原因啊。 貼一下我的代碼 // AD5933 control // #include
    發(fā)表于 12-21 06:42

    示波器如何直連電腦進(jìn)行波形讀取

    示波器如何直連電腦進(jìn)行波形讀取? 示波器作為一種常用的電子測量儀器,能夠顯示電流和電壓隨時(shí)間變化的波形。在現(xiàn)代科技中,示波器的讀取功能無疑十分重要。而直連電腦進(jìn)行波形讀取則是一種方便且常用的方式
    的頭像 發(fā)表于 11-10 14:22 ?3374次閱讀

    Arduino篇—如何進(jìn)行串口數(shù)據(jù)的讀取和串口數(shù)據(jù)的寫入

    根據(jù)上面的電路圖進(jìn)行接線,編寫程序讀取光控傳感器的模擬值,并在串口監(jiān)視器上顯示出來。
    的頭像 發(fā)表于 11-01 09:35 ?6501次閱讀
    <b class='flag-5'>Arduino</b>篇—如何進(jìn)行串口數(shù)據(jù)的<b class='flag-5'>讀取</b>和串口數(shù)據(jù)的寫入

    關(guān)于RX MCU如何讀取Unique ID

    關(guān)于RX MCU如何讀取Unique ID
    的頭像 發(fā)表于 10-31 17:15 ?1107次閱讀
    關(guān)于RX MCU如何<b class='flag-5'>讀取</b>Unique ID