首页 > 代码库 > 2017/1/21 下午

2017/1/21 下午

 

PS2摇杆、LCD及UE的简单使用      from高嘉怡

1.在老师"由简单到复杂“的思想指导下,放弃将PS2摇杆连接可调电位器并在液晶上显示,改为先分别学习摇杆和LCD。只连一个摇杆,在串口监视器中观察x轴、y轴的数值,

观察得最大值为1023。在老师指导下重新接了电路图,发现摇杆中的SW不需要连接任何接口,其中VRx连A0,VRy连A1。要在串口监视其中能观察到数值,

不要忘了在程序中加入Serial.begin(9600)。程序如下:

int xpotPin = 0;  //设置模拟口0为X的信号输入端口
int ypotPin = 1;  //设置模拟口1为Y的信号输入端口
int xval=0;    //设置变量
int yval=0; 
void setup()
{
  Serial.begin(9600);
  pinMode(xpotPin,INPUT);//
  pinMode(ypotPin,INPUT);//
  delay(1000); //延时1000ms

void loop ()

  xval = analogRead(xpotPin);   //xval变量为从0信号口读取到的数值
  yval = analogRead(ypotPin);   //yval变量为从1信号口读取到的数值
  Serial.print("xval:");
  Serial.println(xval);
  Serial.print("yval:");
  Serial.println(yval);
  delay(100);                     //延时0.1秒,这里也就是刷新速度。 
}

LCD需注意libries是否装了对应的库LiquidCrystal_I2C,以及位置可能不是示例程序里的0x27,我这个的位置是0x3F。示例里字符显示的位置可能不好,可以在  lcd.setCursor(2,0)的括号里自己改一下位置。
LCD连接时SDA接A4,SCL接A5,后面蓝色的块用螺丝刀可以调它的背光度。

2.摇杆和lcd分别成功后,尝试用lcd显示摇杆每一个轴的电压数字输出,将两个程序的代码接拼一下,代码为:

//YWROBOT

//Compatible with the Arduino IDE 1.0

//Library version:1.1

#include <Wire.h>

#include <LiquidCrystal_I2C.h>

 

LiquidCrystal_I2C lcd(0x3F,20,4); 

// set the LCD address to 0x3F for a 20 chars and 4 line display

 

int xpotPin = 0;  //设置模拟口0为X的信号输入端口

int ypotPin = 1;  //设置模拟口1为Y的信号输入端口

int xval=0;                                     //设置变量

int yval=0;

void setup() {

  pinMode(xpotPin,INPUT);

  pinMode(ypotPin,INPUT);

  delay(1000); //延时1000ms

}

void loop() {

  xval = analogRead(xpotPin);   //xval变量为从0信号口读取到的数值

  yval = analogRead(ypotPin);   //yval变量为从1信号口读取到的数值

  lcd.init();                   // initialize the lcd

  // Print a message to the LCD.

  lcd.backlight();

  lcd.clear();                  //清屏

  lcd.setCursor(0, 0) ;         //设置光标位置为第一行第一个位置

  lcd.print("X=");              //使屏幕显示文字X=

  lcd.print(xval);

  lcd.setCursor(7, 0) ;         //设置光标位置为第一行第八个位置

  lcd.print("Y=");              //使屏幕显示文字Y=

  lcd.print(yval);

  delay(100);                   //延时0.1秒,这里也就是刷新速度。

}

3.在理解代码时,发现了Language Reference中所有参考的中文版,网址为:

http://www.arduino.cn/thread-12948-1-1.html

4.在将代码复制过程中,发现直接将arduino程序编辑界面中的代码复制过来会导致格式错乱,老师教了如何用UE改文本格式,具体过程如下:

(1)打开UE,将所要修改格式的内容复制到UE界面

(2)按Ctrl+R,跳出”替换“界面

(3)经过思考,确定替换对象,可全部替换,也可选定部分替换

       比如将每一行开头的两个空格换成三个空格,则在”查找什么"中输入"^p  ",在”替换为“中输入”^p   “

       其中”^p"代表回车换行

(4)按Ctrl+H切换到字符十六进制内码查看状态,再按一次返回

 

2017/1/21 下午