魔兽世界挂机钓鱼装置
前言
自从去年被好基友带入了魔兽世界的坑,就被艾泽拉斯给带跑了,断断续续买过将近8个月的月卡,一张月卡售价75,也是不小的开支。
一直想着如何不费时间多赚点游戏金币,最近做钓鱼任务时来了灵感,经过两天的测试改进,制作了一个小装置,可以实现挂机钓鱼,实测有效,实物如下。
升级靠滚宠物对战,赚金币靠挂机钓鱼,好基友说我的魔兽世界角色是没有灵魂的。玩游戏开心就好,要灵魂干啥。
简介
主要组成包括两个S90舵机,一个声音传感器和一块Arduino Nano板。
通过声音传感器检测鱼上钩的水声进行动作。声音传感器是最基础的一款,只能检测声音的有无,不过可以调节灵敏度。
检测到声音之后,舵机一点击鼠标左键收杆,舵机二延时点击键盘数字2甩杆。每75杆舵机二点击一次键盘数字1放大鱼漂。(可以再加一个舵机点击鱼饵)
接线
接线图如下,与代码相符,鼠标舵机的控制线接D6,键盘舵机的控制线接D7,声音传感器的输入接A4,均为5V供电。
代码
代码比较简单,检测到声音之后,舵机一点动作收杆,舵机二延时动作甩杆。每75杆放大一下鱼漂。
后来测试时发现,由于声音传感器比较低端,偶尔会检测不到水声,导致整个装置停止动作,又添加了30s无动静甩一次杆,维持装置运行。
#include <Servo.h> Servo servo1;
Servo servo2;
int servoPin1 = 6;
int servoPin2 = 7;
int a = 0;
int b = 0;
int sound_value;
#define ANALOG_READ 4
void setup() {
servo1.attach(servoPin1);
servo2.attach(servoPin2);
servo1.write(90);
servo2.write(90);
delay(1000);
servo1.detach();
servo2.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无动静甩一次杆
b = 0;
}
}
if(sound_value > 800){
servo1.attach(servoPin1);
delay(10);
servo1.write(135);
delay(300);
servo1.write(90);
delay(200);
servo1.detach(); //检测到水声收杆
servo2.attach(servoPin2);
delay(2000);
servo2.write(160);
delay(300);
servo2.write(90);
delay(200);
servo2.detach(); //甩杆
a += 1;
b = 0;
if(a >= 75){
delay(1000);
servo2.attach(servoPin2);
servo2.write(20);
delay(300);
servo2.write(90);
delay(4000); //75杆使用一次放大鱼漂
servo2.write(160);
delay(300);
servo2.write(90);
delay(200);
servo2.detach(); //甩杆
a = 0;
}
}
}
测试
这几天晚上用笔记本挂机试了一下,收获还是可以的,平均一个小时一组鱼,不过鱼在拍卖行的销量并不好,不指望能赚多少游戏金币了,就是看着感觉自己赚到了。
结尾还是那句话,本人菜鸟,发现错误,欢迎指出,谢谢大家。
相关内容
模板文件不存在: ./template/plugins/comment/pc/index.htm