Board logo

标题: 用思维的力量移动玩具车-软件部分(2) [打印本页]

作者: look_w    时间: 2018-1-8 08:11     标题: 用思维的力量移动玩具车-软件部分(2)

就这么简单。您的 arduino 已完成设置。
现在我们看看代码:
在这里,我们设置了将向遥控器发送命令的引脚:
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
#define FORWARD 2
#define BACKWARD 4
#define LEFT 8
#define RIGHT 12
#define LED 13

String inputString = ""; // a string to hold incoming data
boolean stringComplete = false, goodString = false; // whether the string is complete
int forward=HIGH, backward=HIGH, left=HIGH, right=HIGH;

void setup() {<br>
// initialize serial:
Serial.begin(115200);
// reserve 10 bytes for the inputString:
inputString.reserve(10);
pinMode(FORWARD, OUTPUT);
pinMode(BACKWARD, OUTPUT);
pinMode(LEFT, OUTPUT);
pinMode(RIGHT, OUTPUT);
pinMode(LED, OUTPUT);

digitalWrite(FORWARD, HIGH);
digitalWrite(BACKWARD, HIGH);
digitalWrite(LEFT, HIGH);
digitalWrite(RIGHT, HIGH);

}




在主要循环中,我们将会检查顺序输入并相应地设置引脚:
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
void loop() {
if (stringComplete) {
//     Serial.println(inputString);

   goodString = false;

   if(inputString == "F\n"){
     digitalWrite(LED, HIGH);
     forward = LOW;
     backward = HIGH;
     goodString = true;
   }
   else if(inputString == "B\n"){
     forward = HIGH;
     backward = LOW;
     goodString = true;
   }
   else if(inputString == "L\n"){
     left = LOW;
     right = HIGH;
     goodString = true;
   }
   else if(inputString == "R\n"){
     left = HIGH;
     right = LOW;
     goodString = true;
   }
   else if(inputString == "S\n"){
     digitalWrite(LED, LOW);
     left = HIGH;
     right = HIGH;
     forward = HIGH;
     backward = HIGH;
     goodString = true;
   }
   else{
     goodString = false;
   }

   if(goodString){
     digitalWrite(FORWARD, forward);
     digitalWrite(BACKWARD, backward);
     digitalWrite(LEFT, left);
     digitalWrite(RIGHT, right);
   Serial.print('!');
   }

   // clear the string:
   inputString = "";
   stringComplete = false;
}
}




第 4 步. 使用 Python 程序重定向来自        Muse 的数据最后一步是从 Muse 读取数据,同时向 Arduino 发送正确的命令和将在您的 Web 应用程序上显示的正确数据。
第 5 步. 使用 R 分析存储在        Cloudant 和 dashDB 上的数据备注:对于这部分操作,需要一个  和 Bluemix 上的 。
结束语在本教程中,您学习了如何从 Muse 头环提取脑电波信号。还学习了如何使用一个 Python 程序解释此数据,该程序拥有决定玩具车是否前进的逻辑。本教程还展示了如何在  上的 Node.js 中创建一个 Web        应用程序,以便实时显示脑电波活动,以及如何设置让玩具车移动的阈值。您可能会说这不是真正的感应运动演示,因为您实际上不是通过思考来移动玩具车的。相反,玩具车是根据您的放松程度来移动的,因为我们检测的是您的阿尔法脑电波。尽管有些争议,但有一点是毋庸置疑的        — 是您的脑电波让玩具车移动的!




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0