基于Arduino的魔兽世界挂机装置
掛機(jī)釣魚(yú)裝置
簡(jiǎn)介
主要組成包括三個(gè)SG90舵機(jī),一個(gè)聲音傳感器和一塊Arduino Nano板。通過(guò)聲音傳感器檢測(cè)魚(yú)上鉤的水聲進(jìn)行動(dòng)作。聲音傳感器是最基礎(chǔ)的一款,只能檢測(cè)聲音的有無(wú),不過(guò)可以調(diào)節(jié)靈敏度。
檢測(cè)到聲音之后,舵機(jī)一點(diǎn)擊鼠標(biāo)左鍵收桿,舵機(jī)二延時(shí)點(diǎn)擊鍵盤(pán)數(shù)字2甩桿。每75桿舵機(jī)二點(diǎn)擊一次鍵盤(pán)數(shù)字1放大魚(yú)漂,每22桿舵機(jī)三點(diǎn)擊一次鍵盤(pán)數(shù)字3使用魚(yú)餌。
接線
接線圖如下,與代碼相符,鼠標(biāo)舵機(jī)的控制線接D6,鍵盤(pán)舵機(jī)1的控制線接D7,鍵盤(pán)舵機(jī)2的控制線接D8,聲音傳感器的輸入接A4,均為5V供電。
代碼
代碼比較簡(jiǎn)單,檢測(cè)到聲音之后,舵機(jī)一點(diǎn)動(dòng)作收桿,舵機(jī)二延時(shí)動(dòng)作甩桿。每75桿放大一下魚(yú)漂,每22桿使用一次魚(yú)餌。
測(cè)試時(shí)發(fā)現(xiàn),由于聲音傳感器比較低端,偶爾會(huì)檢測(cè)不到水聲,導(dǎo)致整個(gè)裝置停止動(dòng)作,又添加了30s無(wú)動(dòng)靜甩一次桿,維持裝置運(yùn)行。
#include <Servo.h> Servo servo1; Servo servo2; Servo servo3; int servoPin1 = 6; int servoPin2 = 7; int servoPin3 = 8; int a = 0; int b = 0; int c = 0;int sound_value; #define ANALOG_READ 4void setup() { servo1.attach(servoPin1); servo2.attach(servoPin2); servo3.attach(servoPin3);servo1.write(90); servo2.write(90);servo3.write(90);delay(1000);servo1.detach();servo2.detach(); servo3.detach(); } void loop() { sound_value = analogRead(ANALOG_READ); delay(200); if(sound_value < 100){b += 1;if(b >= 150){servo2.attach(servoPin2); delay(200);servo2.write(160); delay(300);servo2.write(90); delay(200); servo2.detach(); //30s無(wú)動(dòng)靜甩一次桿b = 0; }}if(sound_value > 800){servo1.attach(servoPin1); delay(10);servo1.write(135); delay(300); servo1.write(90); delay(200); servo1.detach(); //檢測(cè)到水聲收桿servo2.attach(servoPin2); delay(2000);servo2.write(160); delay(300);servo2.write(90); delay(200); servo2.detach(); //甩桿a += 1;c += 1;b = 0;if(c >= 22){delay(1000);servo3.attach(servoPin3); servo3.write(20); delay(300); servo3.write(90); delay(4000); //22桿使用一次魚(yú)餌servo2.write(160); delay(300); servo2.write(90); delay(200); servo2.detach(); //甩桿c = 0;} if(a >= 75){delay(1000);servo2.attach(servoPin2); servo2.write(20); delay(300); servo2.write(90); delay(4000); //75桿使用一次放大魚(yú)漂servo2.write(160); delay(300); servo2.write(90); delay(200); servo2.detach(); //甩桿a = 0;} } }測(cè)試
幾天晚上的掛機(jī)收獲,平均一個(gè)小時(shí)一組魚(yú)。
掛機(jī)寵物對(duì)戰(zhàn)
簡(jiǎn)介
在NGA論壇上看到利用插件,只用上下滾鼠標(biāo),就可以進(jìn)行寵物對(duì)戰(zhàn),實(shí)現(xiàn)人物和寵物一起升級(jí)。于是動(dòng)手做了一個(gè)自動(dòng)滾鼠標(biāo)的物理裝置。(關(guān)于插件和腳本的安裝以及按鍵的設(shè)置,NGA論壇有詳細(xì)介紹)
接線和代碼都比較簡(jiǎn)單,一個(gè)舵機(jī)和一個(gè)廉價(jià)的鼠標(biāo)就搞定了。(什么值得買app里經(jīng)常會(huì)推10元以內(nèi)的鼠標(biāo))
代碼
#include <Servo.h> Servo servo; int servoPin = 5; void setup() { servo.attach(servoPin); } void loop() { servo.write(60); delay(500); servo.write(90); delay(500); }測(cè)試
用達(dá)拉然的決斗之夜世界任務(wù),滾了幾個(gè)滿級(jí)號(hào),所有寵物都升到25級(jí)了。
總結(jié)
以上是生活随笔為你收集整理的基于Arduino的魔兽世界挂机装置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 魔兽世界怀旧服——按键精灵 Java版(
- 下一篇: 使用计算机正确坐姿,一种计算机正确使用坐