在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

如何使用Arduino實現(xiàn)映射功能

康輔佑 ? 來源:uwufjwer ? 作者:uwufjwer ? 2023-02-23 09:45 ? 次閱讀
這篇文章來源于DevicePlus.com英語網(wǎng)站的翻譯稿。

前言

您可能注意到了,盡管互連電子設(shè)備采用不同單位,有不同的上限和下限,但在它們的工作范圍內(nèi)始終是兼容的。例如,在Playstation 4上玩電子游戲時,當(dāng)您將搖桿一直拉到右邊時,它會轉(zhuǎn)換為角色向右的最大移動量。我們可以看到,搖桿的移動范圍與角色的移動范圍是匹配的。在不同階段校準(zhǔn)范圍的這個過程稱為“映射”。

映射過程通常用于根據(jù)期望的驅(qū)動來校準(zhǔn)來自傳感器的輸入值。例如,現(xiàn)代汽車中采用電子方向盤的情況,當(dāng)方向盤旋轉(zhuǎn)720度時,車輪大約會轉(zhuǎn)動40度。因此,我們可以看到,0-720度的范圍被電子方向盤使用的電子控制系統(tǒng)映射為0-40度。這種電子控制系統(tǒng)會結(jié)合使用微控制器PLC。微控制器上必須有模擬輸入,可以通過PWM或數(shù)字引腳來映射所需的驅(qū)動。本DIY項目結(jié)束時,您將能夠了解:

  • 什么是映射?
  • 如何讀取傳感器輸入
  • 如何將傳感器輸入映射到所需的值范圍
  • 映射的范圍如何用于所需的驅(qū)動
  • Arduino中映射功能的語法
  • 使用Arduino UNO實現(xiàn)的映射功能的應(yīng)用

概述

在這個DIY項目中,我們將開發(fā)一個進(jìn)程,使用Arduino UNO將電位計的電阻變化轉(zhuǎn)換為所需的LED數(shù)量。換句話說,在本例中,電位計被用作“傳感器輸入”,Arduino UNO被用作“映射設(shè)備”,10個ROHM LED被用作執(zhí)行機(jī)構(gòu)。LED通常是精密零件,經(jīng)常會出現(xiàn)隨機(jī)故障。因此,我們選擇了ROHM LED,它們足以耐受電流尖峰,而且性能穩(wěn)定。十個藍(lán)光ROHM LED將根據(jù)電位計的旋轉(zhuǎn)進(jìn)行映射。將按照以下順序介紹這個項目:

所需元器件

元器件 鏈接/圖片
10 x 藍(lán)光ROHM LED

pYYBAGPy0emAdSQBAAAxgp-c1M8231.jpg

Arduino UNO R3

poYBAGPy0euAQD7PAAA9N9OfxOA967.jpg

USB B數(shù)據(jù)線

(通常隨Arduino UNO R3一起提供)

pYYBAGPy0e6AFFkHAAA9Vipex1g822.jpg
10k 電位計

pYYBAGPy0fCACtDwAAA5eTijyGo049.jpg

830 孔無焊面包板 breadboard

pYYBAGPy0fKAZ5siAAAcRKruG_Q616.jpg

20 根公頭轉(zhuǎn)公頭跳線

poYBAGPy0fSASC3NAAA7g2TsqmA540.jpg

1個1kΩ電阻器 任何電子商店

pYYBAGPy0faACqNgAAAM8uxNCpk325.jpg

基于Windows的計算機(jī),用于編程 poYBAGPy0fmAMWI3AAAQ22Smhns731.jpg

電路原理圖

所有元器件都采購齊全后,第一步是把所有元器件都連接起來。連接要求如下所述:

  • 對于這個項目來說,您需要將10個藍(lán)光ROHM LED的正極引腳(較長的一端)分別連接到Arduino的數(shù)字引腳。
  • 在本例中,我們使用了數(shù)字引腳4-13。
  • 每個LED的負(fù)極引腳需要通過1kΩ的電阻器接地。
  • 電位計有三個引腳。第一個連接到Arduino的接地引腳,第二個連接到模擬引腳A5,第三個引腳連接到5V。執(zhí)行此操作將使第二個引腳的電壓在0-5V之間變化。

連接示意圖如下所示:

poYBAGPy0fuAObKoAADa7KwjwLA030.jpg

實際接線如下所示:

pYYBAGPy0f-AJC1-AAF1V4jqS2Q362.jpg

  • 現(xiàn)在,您的系統(tǒng)已經(jīng)連接好,您已經(jīng)準(zhǔn)備好對Arduino UNO R3進(jìn)行編程。

設(shè)置Arduino IDE

Arduino編程需要設(shè)置Arduino IDE。Arduino IDE可在Linux和Windows上使用。對于這個DIY項目,我們將使用Windows桌面應(yīng)用程序。訪問以下鏈接下載并安裝Arduino IDE:

Windows Installer, 適用于Windows XP及更高版本

成功安裝后,打開Arduino IDE并使用USB B數(shù)據(jù)線連接Arduino UNO R3:

poYBAGPy0guAdhqmAAawBRGhhus037.png

  • 在Arduino IDE中,從“工具”>“端口”>“COM 3 (Arduino Genuino / UNO)”中選擇適當(dāng)?shù)腃OM端口。
  • 這時,您的設(shè)置已準(zhǔn)備好開始編程。

編程

在Arduino編程中,有兩個基本函數(shù):Void Setup和Void Loop。完整代碼及其解釋如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
void setup() {
//Declare A5 Analog pin as input pin
pinMode(A5, INPUT);
//Declare4-13 Digital Pins as Output Pins (For controlling 10 x ROHM LEDs)
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
Serial.begin(9600);
}
void loop() {
//Check Analog value at pin A5 and store it in variable x
int x = analogRead(A5);
//Map analog values ranging from 1-1023 to values 0-10
int y=map(x,0,1023,0,10);
/*Use a loop to turn off LEDs having number greater than y. Here “i+3” corresponds to pin number on arduino. Since 10th LED is connected to Digital Pin number 13. Therefore +3 offset has been used*/
for (int i=10; i>y; i)
{
digitalWrite(i+3,LOW);
}
//Use a loop to turn on LEDs having number lesser than y
for (int i=0; i<y; i++)
{
digitalWrite(i+4,HIGH);
}
delay(5);
}
//As a result number of LEDs lit will corresponding to the position of potentiometer

執(zhí)行

如果您沒有通過外部插孔為Arduino UNO供電,在執(zhí)行過程中,請保持它與電腦連接。現(xiàn)在將電位計從一端旋轉(zhuǎn)到另一端。當(dāng)電位計在模擬引腳上給出0值時,沒有LED點(diǎn)亮。旋轉(zhuǎn)電位計時,點(diǎn)亮LED的數(shù)量會不斷增加。電位計給出的值達(dá)到1023時,點(diǎn)亮LED的數(shù)量將達(dá)到10。可以看到,我們已經(jīng)將傳感器值的范圍映射到了LED的數(shù)量。

  • 電位計的起始位置。(模擬值0)

pYYBAGPy0g6AJ8dzAAFUwMw8nuU037.jpg

  • 電位計的中間位置。(模擬值512)

poYBAGPy0hGAJJqMAAFSfbBN1tQ401.jpg

  • 電位計的最終位置。(模擬值1023)

pYYBAGPy0hWAOGFzAAFcjVfWn2I999.jpg

審核編輯:湯梓紅

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

    關(guān)注

    2552

    文章

    51297

    瀏覽量

    755215
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6474

    瀏覽量

    187435
  • 電位計
    +關(guān)注

    關(guān)注

    0

    文章

    253

    瀏覽量

    16986
收藏 人收藏

    評論

    相關(guān)推薦

    STM32F4能否實現(xiàn)用重映射功能將dcmi映射到別的io口?

    能否實現(xiàn)用重映射功能將dcmi映射到別的io口
    發(fā)表于 03-25 08:07

    請問ESP32如何實現(xiàn)Flash到ram重映射這種功能呢?

    拷貝到對應(yīng)ram內(nèi)存中,當(dāng)在線標(biāo)定時,會直接操作ram中相應(yīng)的地址,以實現(xiàn)參數(shù)在線修改。 請問ESP32如何實現(xiàn)Flash到ram重映射這種功能呢? 通常的做法是使用重
    發(fā)表于 06-14 06:31

    Nucleo STM32L476和Arduino TFT屏蔽引腳映射

    `我想在Nucleo STM32L476開發(fā)板上使用Arduino TFT屏蔽(ILI9341)。該屏蔽使用8位MCU模式并且工作良好,但Nucleo上的Arduino連接器的引腳植入不是很方便
    發(fā)表于 09-20 11:58

    怎么實現(xiàn)基于Arduino的多功能數(shù)字時鐘的設(shè)計?

    怎么實現(xiàn)基于Arduino的多功能數(shù)字時鐘的設(shè)計?
    發(fā)表于 11-02 06:16

    串口IO口映射功能該如何去實現(xiàn)

    串口IO口映射功能是指什么?串口IO口映射功能該如何去實現(xiàn)呢?
    發(fā)表于 12-13 07:07

    stm32f103串口如何實現(xiàn)映射功能

    stm32f103串口如何實現(xiàn)映射功能
    發(fā)表于 12-15 06:53

    請問stm32f103串口如何實現(xiàn)映射功能

    請問stm32f103串口如何實現(xiàn)映射功能
    發(fā)表于 12-16 07:44

    如何用Arduino實現(xiàn)超聲波測距功能

    基于Arduino的超聲波模塊和Proteus仿真最近做設(shè)計要用Arduino實現(xiàn)超聲波測距功能,并用Proteus實現(xiàn)虛擬串口監(jiān)視和
    發(fā)表于 01-17 07:03

    如何使用Flash重映射功能

    如何使用閃存重映射功能
    發(fā)表于 12-12 07:04

    請問ESP32如何實現(xiàn)Flash到ram重映射這種功能呢?

    拷貝到對應(yīng)ram內(nèi)存中,當(dāng)在線標(biāo)定時,會直接操作ram中相應(yīng)的地址,以實現(xiàn)參數(shù)在線修改。請問ESP32如何實現(xiàn)Flash到ram重映射這種功能呢?通常的做法是使用重
    發(fā)表于 03-06 08:35

    關(guān)于自動端口映射功能實現(xiàn)步驟和調(diào)試

    接下來,小編就為大家講解如何使用UPnP協(xié)議實現(xiàn)網(wǎng)絡(luò)設(shè)備自動配置路由器進(jìn)行端口映射
    發(fā)表于 09-23 10:00 ?4次下載
    關(guān)于自動端口<b class='flag-5'>映射</b><b class='flag-5'>功能</b><b class='flag-5'>實現(xiàn)</b>步驟和調(diào)試

    STM32的功能引腳重映射和復(fù)用功能

    STM32的功能引腳重映射和復(fù)用功能
    發(fā)表于 09-29 08:02 ?12次下載

    使用Arduino實現(xiàn)映射功能的過程

     在這個DIY項目中,我們將開發(fā)一個進(jìn)程,使用Arduino UNO將電位計的電阻變化轉(zhuǎn)換為所需的LED數(shù)量。換句話說,在本例中,電位計被用作“傳感器輸入”,Arduino UNO被用作“映射設(shè)備
    的頭像 發(fā)表于 04-01 17:08 ?4999次閱讀
    使用<b class='flag-5'>Arduino</b><b class='flag-5'>實現(xiàn)</b><b class='flag-5'>映射</b><b class='flag-5'>功能</b>的過程

    Arduino清潔機(jī)器人和房間映射

    電子發(fā)燒友網(wǎng)站提供《Arduino清潔機(jī)器人和房間映射.zip》資料免費(fèi)下載
    發(fā)表于 10-31 10:30 ?0次下載
    <b class='flag-5'>Arduino</b>清潔機(jī)器人和房間<b class='flag-5'>映射</b>

    Arduino紅外發(fā)射器自動映射

    電子發(fā)燒友網(wǎng)站提供《Arduino紅外發(fā)射器自動映射.zip》資料免費(fèi)下載
    發(fā)表于 01-03 14:13 ?0次下載
    <b class='flag-5'>Arduino</b>紅外發(fā)射器自動<b class='flag-5'>映射</b>
    主站蜘蛛池模板: 亚洲视频在线一区二区三区 | 一级特黄aaa大片在线观看视频 | 一区二区三区中文字幕 | 亚洲夂夂婷婷色拍ww47 | 色播图片 | 国产va在线播放 | 天天色天天色 | 欧美肥胖女人bbwbbw视频 | 黄色网网址| 国产美女精品久久久久久久免费 | 成人a毛片高清视频 | 手机看片神马午夜 | 日本加勒比高清一本大道 | 免费看性| 免费一级片在线观看 | 国产精品好好热在线观看 | 久久精品国产精品亚洲精品 | 丁香六月婷婷激情 | 欧美zooz人禽交免费 | 三级免费黄色片 | 一及黄色| 日本成片视频 | 99色网站| h在线观看网站 | 男人的天堂久久精品激情 | 亚洲高清一区二区三区 | 人人做人人爽人人爱 | 亚洲 欧洲 日韩 | xxxxxx日本人免费 | 1024你懂的国产欧美日韩在 | 99久久99久久精品国产 | 最近免费hd | 男男宿舍高h炒肉bl 男男污肉高h坐便器调教 | 天天综合视频网 | 成年视频xxxxx免费播放软件 | 免费观看午夜在线欧差毛片 | 成人a毛片在线看免费全部播放 | 国产大毛片| 四虎现在的网址入口 | 色香五月| 午夜精品视频在线看 |