日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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 ? 來源:網(wǎng)絡(luò)整理 ? 作者:佚名 ? 2019-11-06 11:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

步驟1:設(shè)置硬件

Arduino鍵盤怎樣控制伺服

設(shè)置很簡單。我們將使用:

引腳4 - 11:鍵盤輸入

引腳3:伺服電機(jī)輸出

VCC(5V)

GND(接地)

鍵盤輸入垂直向下連接。將鍵盤上的每根電線從右到左連接到引腳4-11。伺服電機(jī)直接連接到5V,接地和引腳3.在我的伺服(Tower Pro SG90)上,紅線為5V,接地為棕色,輸出引腳為黃色。檢查伺服電機(jī)的文檔。

步驟2:代碼

讓我們看一下代碼:

#include

#include

// Set up keypad variables:

int numKeyPresses = 0; // Track number of key presses

int maxKeyPresses = 3; // Only allow 3 digits to be entered

int keyPresses[3] = { 0, 0, 0 }; // Initialize an empty array to hold input

const byte numRows= 4; // # of rows on the keypad

const byte numCols= 4; // # of columns on the keypad

// Set up servo variables:

int angle = 0; // Angle in degrees to position servo [0-180]

int angleMultiplier = 1; // Multiply by each digit, divide by 10 on each input

Servo servo; // Create the servo object

int servoPin = 3; // Set the servo pin

char keymap[numRows][numCols]= // Setup the keypad layout

{

{‘1’, ‘2’, ‘3’, ‘A’},

{‘4’, ‘5’, ‘6’, ‘B’},

{‘7’, ‘8’, ‘9’, ‘C’},

{‘*’, ‘0’, ‘#’, ‘D’},

};

在這里,我們導(dǎo)入鍵盤和伺服庫來幫助進(jìn)行一些輸入和輸出處理。 numkeyPresses變量跟蹤已輸入的條目數(shù)。當(dāng)達(dá)到maxKeyPresses時(shí),這將重置為0.鍵盤映射設(shè)置為4x4矩陣,模仿物理鍵盤。

// Connect keypad ROW0, ROW1, ROW2 and ROW3 to these Arduino pins.

byte rowPins[numRows] = { 11, 10, 9, 8 };

// Connect keypad COL0, COL1 and COL2 to these Arduino pins.

byte colPins[numCols] = { 7, 6, 5, 4 };

// Create the Keypad

Keypad kpd = Keypad( makeKeymap( keymap ), rowPins, colPins, numRows, numCols );

void setup()

{

Serial.begin(9600); // Start up serial comms

resetAngleMultiplier(); // Start accepting numeric input

servo.attach( servoPin ); // Attaches the servo to the servo object

} // setup

這里我們使用一個(gè)名為resetAngleMultiplier的方法,我將使用馬上討論一下。我們的想法是,我們希望在數(shù)學(xué)上將輸入轉(zhuǎn)換為可用數(shù)字,而不是字符。這使我們做到了這一點(diǎn)。

void loop()

{

char key = kpd.getKey();

if( key ) // Check for a valid key

{

if( key 》= 0x41 && key 《= 0x44 || key == 0x23 || key == 0x2A )

{

resetInput();

Serial.println( “ERROR: Numeric input only!” );

} // ^ if invalid entry

else // Else, entry is valid:

{

angle += angleMultiplier * ( key - 0x30 );

angleMultiplier /= 10;

if( numKeyPresses == maxKeyPresses - 1 )

{

setServo( angle ); // Use the input to turn servo

resetInput();

}

else

{

numKeyPresses++;

}

Serial.println( (String) angle );

}

} // if( key )

} // loop

這里我們接受輸入并處理它。我們將討論如何處理它。

void setServo( int angle )

{

if( angle 》 180 )

angle = 180;

Serial.println( “Setting servo to ” + (String) angle + “ degrees.” );

servo.write( angle ); // Set the servo position

} // setServo

void resetAngleMultiplier()

{

angleMultiplier = 1;

/* We started out with a multiplier of 10^0 (or 1)。 For each

number we want to accept, we want to have a multiplier one

order of magnitude greater. So, for example, for 5 digits, the

multiplier starts out as 10 000. */

for( int i = 0; i 《 maxKeyPresses - 1; i++ )

angleMultiplier *= 10;

} // resetAngleMultiplier

void resetInput()

{

resetAngleMultiplier(); // Reset the numeric input

angle = 0; // Reset the angle

numKeyPresses = 0; // Reset number of key presses

}

數(shù)學(xué)

在循環(huán)中,我們檢查非數(shù)字輸入并重置numKeyPresses變量if檢測。進(jìn)行轉(zhuǎn)換的部分是:angle + = angleMultiplier *(key - 0x30)。當(dāng)我們獲得按鍵時(shí),它將作為鍵映射2-diminsional數(shù)組中的字符返回。 key - 0x30以十六進(jìn)制的形式減去30以獲得它的數(shù)字等價(jià)物。

然后,我們必須將它乘以angleMultiplier。角度乘數(shù)從100開始。因此,例如,如果第一個(gè)數(shù)字輸入為3,則添加到角度的數(shù)字將為300.然后將角度乘數(shù)除以10,以便下一次迭代,角度乘數(shù)將為10如果輸入2,則將其乘以10并相加,得到320.這將一直持續(xù)到輸入結(jié)束。

我寫這個(gè)是可擴(kuò)展的,允許擴(kuò)展maxKeyPresses。 C ++的最大整數(shù)值是2147483647,所以使用這個(gè)程序,理論上你可以輸入多達(dá)10位的輸入,只要實(shí)際的密鑰代碼加起來不超過這個(gè)數(shù)。您總是可以使用 long 來存儲(chǔ)輸入,但出于我們的目的,沒有必要。

應(yīng)用數(shù)學(xué)

所以,現(xiàn)在我們我們(可能過于復(fù)雜)的計(jì)算,只需將其傳遞給伺服機(jī)構(gòu),將其定位到該特定角度。這里限制為180度的移動(dòng)。如果數(shù)字輸入超過180,則重置為180度并傳遞給伺服。這可能有多個(gè)應(yīng)用程序,無論您是想在家中實(shí)現(xiàn)鎖定系統(tǒng),安全攝像機(jī)定位器,還是您需要的任何應(yīng)用程序。

責(zé)任編輯:wv

聲明:本文內(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)注

    4

    文章

    878

    瀏覽量

    42123
  • 伺服
    +關(guān)注

    關(guān)注

    17

    文章

    708

    瀏覽量

    43579
  • Arduino
    +關(guān)注

    關(guān)注

    191

    文章

    6529

    瀏覽量

    197568
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Z86K15 鍵盤控制器:特性、功能與應(yīng)用解析

    Z86K15 鍵盤控制器:特性、功能與應(yīng)用解析 在電子設(shè)備的設(shè)計(jì)中,鍵盤控制器扮演著至關(guān)重要的角色。今天,我們就來深入了解一下 ZiLOG 公司的 Z86K15
    的頭像 發(fā)表于 04-04 13:00 ?663次閱讀

    怎么樣才能實(shí)現(xiàn)伺服的精確控制

    實(shí)現(xiàn)伺服系統(tǒng)的精確控制,是一個(gè)系統(tǒng)工程,涉及 機(jī)械、電氣、算法和參數(shù)調(diào)試 四個(gè)維度的協(xié)同優(yōu)化。以下是實(shí)現(xiàn)高精度控制的關(guān)鍵環(huán)節(jié)和具體方法: 1. 閉環(huán)反饋:精度之“眼” 伺服的精確性首先
    的頭像 發(fā)表于 03-27 07:38 ?292次閱讀
    怎么樣才能實(shí)現(xiàn)<b class='flag-5'>伺服</b>的精確<b class='flag-5'>控制</b>

    PLC怎么控制多臺(tái)交流伺服電機(jī)達(dá)到同步工作

    在現(xiàn)代工業(yè)自動(dòng)化控制系統(tǒng)中,多臺(tái)交流伺服電機(jī)的同步控制是實(shí)現(xiàn)高精度運(yùn)動(dòng)控制的關(guān)鍵技術(shù)之一。PLC(可編程邏輯控制器)作為工業(yè)
    的頭像 發(fā)表于 02-27 17:04 ?919次閱讀
    PLC怎么<b class='flag-5'>控制</b>多臺(tái)交流<b class='flag-5'>伺服</b>電機(jī)達(dá)到同步工作

    伺服基礎(chǔ)知識(shí)詳解

    伺服技術(shù)作為現(xiàn)代自動(dòng)化領(lǐng)域的核心技術(shù)之一,已廣泛應(yīng)用于工業(yè)控制、機(jī)器人、航空航天等高精度場景。其核心是通過閉環(huán)反饋實(shí)現(xiàn)精準(zhǔn)的位置、速度或力矩控制,本文將系統(tǒng)解析伺服系統(tǒng)的構(gòu)成、工作原理
    的頭像 發(fā)表于 12-30 07:39 ?1937次閱讀
    <b class='flag-5'>伺服</b>基礎(chǔ)知識(shí)詳解

    伺服控制要 “集成 + 靈活”?TMC4671:硬件實(shí)現(xiàn) FOC,還支持前饋補(bǔ)償!

    TMC4671:硬件實(shí)現(xiàn)FOC伺服控制要“集成+靈活”?做伺服項(xiàng)目時(shí),大家總希望芯片既能裝下核心功能,又能應(yīng)對(duì)不同電機(jī)需求——而TMC4671這款完全集成的伺服
    的頭像 發(fā)表于 12-10 17:48 ?724次閱讀
    <b class='flag-5'>伺服</b><b class='flag-5'>控制</b>要 “集成 + 靈活”?TMC4671:硬件實(shí)現(xiàn) FOC,還支持前饋補(bǔ)償!

    伺服電機(jī)的控制方式簡述

    伺服電機(jī)作為自動(dòng)化控制系統(tǒng)的核心執(zhí)行元件,其控制方式直接決定了設(shè)備的動(dòng)態(tài)響應(yīng)、定位精度和運(yùn)行效率。隨著工業(yè)4.0和智能制造的發(fā)展,伺服控制
    的頭像 發(fā)表于 12-01 07:37 ?1132次閱讀
    <b class='flag-5'>伺服</b>電機(jī)的<b class='flag-5'>控制</b>方式簡述

    伺服精準(zhǔn)控制優(yōu)選!電子谷伺服連接線適配多品牌穩(wěn)定傳輸

    伺服控制系統(tǒng)的精準(zhǔn)控制依賴電源、信號(hào)、剎車指令的穩(wěn)定傳輸,任何環(huán)節(jié)的傳輸波動(dòng)都可能導(dǎo)致位置偏差、速度抖動(dòng)或制動(dòng)延遲。電子谷伺服連接線針對(duì)這一核心需求,以動(dòng)力線、信號(hào)線、剎車線的協(xié)同設(shè)計(jì)
    的頭像 發(fā)表于 11-28 08:03 ?1055次閱讀
    <b class='flag-5'>伺服</b>精準(zhǔn)<b class='flag-5'>控制</b>優(yōu)選!電子谷<b class='flag-5'>伺服</b>連接線適配多品牌穩(wěn)定傳輸

    伺服電機(jī)控制系統(tǒng)的高寬帶電流環(huán)參數(shù)設(shè)計(jì)

    上回我們介紹了EtherCAT是如何利用SSC產(chǎn)生的sync信號(hào),與電機(jī)控制系統(tǒng)完成同步的,如此我們即可保證整個(gè)控制系統(tǒng)的同步性能伺服控制。在此基礎(chǔ)上,
    的頭像 發(fā)表于 11-17 09:53 ?7954次閱讀
    <b class='flag-5'>伺服</b>電機(jī)<b class='flag-5'>控制</b>系統(tǒng)的高寬帶電流環(huán)參數(shù)設(shè)計(jì)

    伺服電機(jī)和步進(jìn)電機(jī)的核心區(qū)別

    大家在運(yùn)動(dòng)控制的時(shí)候是用伺服電機(jī)的還是用步進(jìn)電機(jī)做定位控制了?為什么有時(shí)候用伺服電機(jī),有時(shí)候又步進(jìn)電機(jī)?這是什么原因呢?本期我們就一起來探討一下步進(jìn)電機(jī)和
    的頭像 發(fā)表于 10-15 14:32 ?2077次閱讀
    <b class='flag-5'>伺服</b>電機(jī)和步進(jìn)電機(jī)的核心區(qū)別

    舵機(jī)與伺服電機(jī)的區(qū)別是什么?

    舵機(jī)與伺服電機(jī)都屬于 可精確控制的驅(qū)動(dòng)裝置 ,但二者在定義范圍、結(jié)構(gòu)組成、控制方式和應(yīng)用場景上存在顯著差異,并非完全等同(舵機(jī)是伺服電機(jī)的 “特殊子集”)。以下從核心維度展開對(duì)比,幫助
    的頭像 發(fā)表于 10-13 10:21 ?2433次閱讀

    常用伺服參數(shù)的調(diào)整

    的基礎(chǔ)原理 伺服系統(tǒng)的參數(shù)調(diào)整本質(zhì)是通過PID控制算法實(shí)現(xiàn)對(duì)機(jī)械系統(tǒng)的精確匹配。位置環(huán)、速度環(huán)、電流環(huán)的三環(huán)結(jié)構(gòu)構(gòu)成伺服控制的基礎(chǔ)框架,其中位置環(huán)作為最外環(huán)決定最終定位精度,速度環(huán)影響
    的頭像 發(fā)表于 10-13 07:41 ?1722次閱讀
    常用<b class='flag-5'>伺服</b>參數(shù)的調(diào)整

    TMC4671伺服控制器:全硬件集成+多類型電機(jī)適配

    前言在工業(yè)自動(dòng)化控制、智能制造設(shè)備及新能源等領(lǐng)域?qū)苓\(yùn)動(dòng)控制需求激增的背景下——2025年中國伺服系統(tǒng)市場規(guī)模將突破300億元,2030年更有望達(dá)到500億元,年復(fù)合增長率超10%——傳統(tǒng)的
    的頭像 發(fā)表于 10-09 16:12 ?1324次閱讀
    TMC4671<b class='flag-5'>伺服</b><b class='flag-5'>控制</b>器:全硬件集成+多類型電機(jī)適配

    鍵盤常見問題的解決方法

    用戶點(diǎn)擊輸入框時(shí),軟鍵盤默認(rèn)彈出。但在特定場景下,需要對(duì)軟鍵盤的彈出和收起進(jìn)行控制,如點(diǎn)擊空白區(qū)域收起軟鍵盤,進(jìn)入頁面時(shí)輸入框主動(dòng)獲焦。開發(fā)者還需根據(jù)軟
    的頭像 發(fā)表于 09-04 09:11 ?1017次閱讀

    PLC與伺服控制有什么區(qū)別

    PLC與伺服控制控制對(duì)象、控制方式、硬件結(jié)構(gòu)、應(yīng)用場景、系統(tǒng)精度與靈活性等方面存在顯著區(qū)別,以下是具體分析: 控制對(duì)象 PLC:適用于邏輯
    的頭像 發(fā)表于 06-25 17:54 ?1737次閱讀

    單片機(jī)和伺服有什么區(qū)別

    單片機(jī)和伺服的區(qū)別 單片機(jī)(Microcontroller)和伺服(Servo System)是兩種完全不同的技術(shù)概念,分別屬于 控制系統(tǒng)硬件 和 運(yùn)動(dòng)控制執(zhí)行系統(tǒng) 。以下是它們的詳細(xì)
    的頭像 發(fā)表于 05-26 09:18 ?1105次閱讀
    大庆市| 祁阳县| 肥西县| 高陵县| 许昌县| 丽水市| 青浦区| 都江堰市| 台中市| 醴陵市| 柘荣县| 新宾| 伊金霍洛旗| 崇义县| 嘉禾县| 玛纳斯县| 宁城县| 黄骅市| 丰城市| 霍林郭勒市| 宜黄县| 亚东县| 淅川县| 麻城市| 岫岩| 海南省| 本溪| 睢宁县| 濮阳市| 舒城县| 吉首市| 乌什县| 娱乐| 焦作市| 彝良县| 宝坻区| 鸡东县| 谢通门县| 武山县| 乐平市| 洪泽县|