这个例子教你怎样用控制器的USB端口,通过串口监视开关状态。
/* DigitalReadSerial 读取数字接口D15的输入,并将结果显示在串口监视器 */ int pushButton = 15;// 数字口15 连接一个按钮开关,给它命名. void setup() { Serial.begin(9600); // 初始化串口通讯为9600波特率 pinMode(pushButton, INPUT); // 按键脚作为输入 } void loop() { int buttonState = digitalRead(pushButton); // 读取按钮状态: Serial.println(buttonState); // 显示到串口: delay(1); // 为了稳定输入状态,使两次读数之间延时1毫秒 }
这个例子中我们使用了两个新的函数:Serial.begin()、Serial.println()
Serial.begin()用于初始化串口,Serial.println()用来输出数据到串口,并且以换行符结尾。
输出数据如果结尾不需要换行符,可以使用Serial.print()
微动开关模块中,接开关的3个引脚分别为D15,D16,D17。如何把三个按钮的状态,都通过串口输出?
/* DigitalReadSerial 读取数字接口D15、D16、D17的输入,并将结果显示在串口监视器 */ int Button1 = 15; //初始化按键,根据三个按键的引脚15、16、17,分别设置为1、2、3. int Button2 = 16; int Button3 = 17; int buttonState1=LOW; //初设定三个按键状态 int buttonState2=LOW; int buttonState3=LOW; void setup() { Serial.begin(9600);// 初始化串口通讯为9600波特率 pinMode(Button1, INPUT); //初始化按键为输入模式 pinMode(Button2, INPUT); pinMode(Button3, INPUT); } void loop() { if (digitalRead(Button1)!=buttonState1) //读取按键1的状态,与设定的按键状态比较。若不相等,则进入下一步 { buttonState1 = digitalRead(Button1); //把现在读取到的状态赋给设定的按键状态, if(buttonState1==HIGH) //如果现在的按键状态为高电平 { Serial.println(Button1); // 则将按下的按键引脚显示到串口: } } if (digitalRead(Button2)!=buttonState2) //若读取到按键2的状态,则与设定的按键状态比较 { buttonState2 = digitalRead(Button2); if(buttonState2==HIGH) { Serial.println(Button2); } } if (digitalRead(Button3)!=buttonState3) //若读取到按键3的状态,则与设定的按键状态比较 { buttonState3 = digitalRead(Button3); if(buttonState3==HIGH) { Serial.println(Button3); } } }