从arduino发送文本到arduino

时间:2016-06-03 12:08:51

标签: arduino keyboard

我尝试使用键盘和TVout库制作一台简单的arduino电脑。 因为图书馆不兼容,我想使用arduino mega作为主板,并使用arduino uno作为图形芯片。 但是IT总是只在电视上显示数字。

我的问题:如何通过Serial

在两个arduinos之间发送文本

主板(带键盘的Mega)代码

#include <PS2Keyboard.h>PS2Keyboard.h
const int DataPin = 8;
const int IRQpin =  5;

PS2Keyboard keyboard;

void setup() {
  //keyboard.begin(DataPin, IRQpin, PS2Keymap_US);
  keyboard.begin(DataPin, IRQpin, PS2Keymap_German);
  //keyboard.begin(DataPin, IRQpin, PS2Keymap_French);
  Serial.begin(9600);
  Serial.println("International Keyboard Test:");
}

void loop() {
  if (keyboard.available()) {
    char c = keyboard.read();
    Serial.println(c);
  }
}

视频板代码(TVout)

#include <TVout.h>TVout.h
#include <fontALL.h>fontALL.h
TVout TV;

void setup() {
  TV.begin(PAL,120,96);
  TV.select_font(font6x8);
  TV.println("Videochip OK");

  Serial.begin(9600);

}

void loop() {
  if(Serial.available()) {
  TV.print(Serial.read());
  }
}

2 个答案:

答案 0 :(得分:1)

由于我没有自己测试的所有必需电路,我只能指导。

  1. 更改键盘arduino sketch(顶部)以使用Serial.write代替printlnprintln可以进行一些转换,并在末尾添加换行符。
  2. 尝试将键盘的输入存储到一个字节,而不是存储密钥的字符。
  3. if(Serial.available())更改为while (Serial.available()),将键盘设置为相同。
  4. 尝试使用图形arduino上串行端口中的所有可用字符构造char [](字符串),然后将其发送到TV.print(text)。虽然print接受字节,字符和字符串,但这些方法可能不会做同样的事情。

答案 1 :(得分:0)

您应该首先将视频板代码Serial.read()更改为某种字符数据类型,然后使用打印功能。我也遇到了蓝牙通信程序的同样问题。