使用arduino,johhny five或java脚本按键盘旋转伺服器?

时间:2015-04-18 10:27:02

标签: javascript keyboard arduino

就像当我按下一个特定的键时,伺服的一个旋转向右旋转 因为我拿着那把钥匙,等等总共四个舵机,每个to 有其特定的键盘键,

  

示例(对于伺服1,左侧为“a”,右侧为“b”。伺服   左边是2“z”,右边是“c”我想让键盘控制。

我不知道用键盘控制4servos的代码..我 我认为我必须在arduino和编写的代码上使用firmata javascript?它还可以或其他方法。提前谢谢

1 个答案:

答案 0 :(得分:0)

为了在Arduino和我的计算机之间发送数据,我使用了一种类似于JavaScript的相当简单的编程语言处理。使用处理,您可以与Arduino建立串行连接并来回发送数据。在您的情况下,您的处理代码将获得键盘事件,然后通过USB将数据发送到Arduino。这是一个很好的教程:https://learn.sparkfun.com/tutorials/connecting-arduino-to-processing。如果您需要任何进一步的帮助,请询问。

示例Arduino代码:

char c = '.';

void setup() {
  Serial.begin(9600);
  delay(100);                   // Power up delay
}

void loop() {
  if (Serial.available() > 0) {
     c = Serial.read();
  }
  if(c == '.'){
    //no key pressed
  }
  if(c == 'a'){
    //a key pressed
  }
}

示例处理代码:

import processing.serial.*;

Serial myPort;
char valToWrite = '.';

void setup() {
  smooth();
  size(300, 350);

  //Might need to change number in bracket based on the serial port your arduino is connected to
  String portName = Serial.list()[3];
  println(portName);
  myPort = new Serial(this, portName, 9600);
  myPort.bufferUntil('\n');
}

void draw() {
  //Draw Something here, if you want visual representation
}

void keyPressed(){
  valToWrite = key;
  myPort.write(valToWrite);
}

void keyReleased(){
  valToWrite = '.';
  myPort.write(valToWrite);
}

让我知道这是否有效。