步驟1:



此操縱桿類似于PlayStation 2控制器上的“模擬”操縱桿。它由兩個電位計(jì),每個電位計(jì)的值均為10k,一個用于x軸,另一個用于y軸,以及一個用于選擇的觸覺按鈕,按下該按鈕可在按下操縱桿時激活。
兩個電位器是與一個將水平運(yùn)動和垂直運(yùn)動分開的萬向節(jié)機(jī)構(gòu)連接。在閑置位置時,操縱桿居中,這意味著每個電位計(jì)均處于其中心位置或中心位置。回到軸概念,您可以隨機(jī)選擇哪個電位器用于x或y軸。在上面的圖片中,您可以看到我選擇軸的方式(在此示例中,軸無關(guān)緊要。您可以選擇任何電位計(jì)來嘗試草圖)。
對于硬件連接,電位計(jì)的中間引腳用于模擬數(shù)據(jù),另外兩個用于電源。哪個引腳連接到5V或GND都無關(guān)緊要,它只會稍微影響默認(rèn)數(shù)據(jù)值,但無需更改代碼。
步驟2:步驟2:Arduino代碼

以下是用于校準(zhǔn)這種電位計(jì)的代碼。
/*
日期:------------------------------------ ----- 2015年12月22日標(biāo)題:---------- JOYSTICK電位計(jì)校準(zhǔn)
作者:------------------ --- Firas Helou提供------------------------
了解如何使用Arduino Uno校準(zhǔn)操縱桿電位器
*/
int defaultData;//在開始
int數(shù)據(jù)時為默認(rèn)電位計(jì)數(shù)據(jù)設(shè)置一個變量;//可以存儲在電位計(jì)上從模擬Arduino引腳A0讀取的數(shù)據(jù)
int startTime = 0;//時間變量數(shù)據(jù)類型定義為整數(shù),因?yàn)槲覀儾恍枰^10微秒
int TimeGap = 10;//定義時間間隔
int重映射;//重新映射變量以存儲來自模擬Arduino引腳A0的重新映射數(shù)據(jù)
//VOID SETUP()功能
void setup(){
//以默認(rèn)速率設(shè)置串行通信
Serial.begin(9600);
///我們設(shè)置時間來定義在模擬Arduino引腳A0上讀取的默認(rèn)值,因?yàn)槲覀冇幸粋€居中的操縱桿引腳,因此它的默認(rèn)值不同于0
if(micros()-startTime》 = TimeGap){//電位計(jì)連接到模擬Arduino
}
}
//無效循環(huán)()功能
無效循環(huán)(){
//我們將數(shù)據(jù)值設(shè)置為與模擬量讀取的值相等Arduino引腳A0
data = AnalogRead(A0);//在這種情況下,開始時讀取的默認(rèn)值為488
if(data //我們必須將在模擬Arduino引腳A0上讀取的數(shù)據(jù)值重新映射為介于0和之間的較小值255
//,但是我們必須從默認(rèn)值中減去1,因?yàn)槿绻贿@樣做,//當(dāng)操縱桿位置居中時,我們將沒有默認(rèn)值0,相反,我們將有一個/為避免浮動問題,我們在1和0之間浮動值,所以我們只需減去-1 remap = map(data,0,defaultData-1,255,0);
}否則if(data》 = defaultData){
//在這一部分,我們不需要減去任何內(nèi)容
remap = map(data,defaultData,1023,0,255) ;
}
//串行打印我們收到的值
Serial.print(“ Remapped value:”);結(jié)果,Serial.println(重映射);
Serial.print(“默認(rèn)值:”);結(jié)果,Serial.println(defaultData);
delay(200);
}
假設(shè)我選擇了y軸,通過上傳代碼并打開串行監(jiān)視器,我們必須看到默認(rèn)值488就我而言(您可能會得到不同的值)。這是操縱桿的閑置中心位置,因此我們必須對其進(jìn)行校準(zhǔn)以使其開始時看到一個0值而不是488。這就是該草圖所在的位置。上圖顯示了在上載最終草圖后收到的結(jié)果。
這是我的第一個可指導(dǎo)的教程。希望對您有所幫助。如果您有任何疑問,或者如果您有更好的編碼方式,請隨時在評論部分中添加您的問題,將其檢查出來是一件很不錯的事,這將有助于我改善自己。如果您發(fā)現(xiàn)可以改進(jìn)的地方,請?jiān)谠u論中添加它,或給我發(fā)送私人消息。對其他人和我一樣都會有幫助。
-
電位器
+關(guān)注
關(guān)注
14文章
1029瀏覽量
69346 -
操縱桿
+關(guān)注
關(guān)注
0文章
70瀏覽量
9073
發(fā)布評論請先 登錄
MCP4011/2/3/4數(shù)字電位器:特性、應(yīng)用與設(shè)計(jì)考量
變頻器電位器電阻大小的區(qū)別
采用電位器怎樣控制變頻器的頻率
變頻器外接電位器阻值的選擇
探索MSX - 360微型操縱桿位置傳感器:小身材大能量
?TPL0202 數(shù)字電位器技術(shù)規(guī)格書總結(jié)
TPL0102-100 雙路 256 抽頭非易失性數(shù)字電位器產(chǎn)品總結(jié)
TPL0501-100 單通道 256 抽頭 SPI 數(shù)字電位器技術(shù)文檔總結(jié)
Vishay Sfernice TS7密封型表面貼裝微調(diào)電位器技術(shù)解析
?Vishay Sfernice P16F/PA16F金屬陶瓷旋鈕電位器技術(shù)解析
Vishay Sfernice M61系列金屬陶瓷微調(diào)電位器技術(shù)解析
?基于Vishay TSM41微調(diào)電位器的精密電路設(shè)計(jì)與應(yīng)用解析
TPL1401 帶緩沖游標(biāo)的 256 抽頭高精度數(shù)字電位器技術(shù)手冊
如何校準(zhǔn)操縱桿電位器
評論