DAY 5–端口输出
打开Arduino示例中的Basics–>DigitalReadSerial。
这次实作可以直接使用今天学代码中灰颜色的部分。
/* */中可以写出任何你想记录的信息,这些信息是不会被编码到程式里,比如在这里写上整个程式码的说明,或是该程式码可以做什么。。。这一部分的注释是属于大纲说明的。
//这一灰色部分是对程式码细节的注释,也是不会编码到程式中去的。如下图:
表示传递给电脑的信息,也就是“Hi~”和buttonState都将被传到电脑。
这里是电脑读取信息的时间间隔,1000毫秒也就是1秒(即下面Hi~ 0或Hi~ 1出现间隔)。
把程式码上传到板子,点击右上角的放大镜
开启端口界面,第一次开启记得将界面右下角的传输速率改为9600,不一定要是9600,但是这个速率比较常用。
结果如下:(可以看出按下按钮时会显示1,反之为0。)
试着给程式码做些改变
再看端口界面有什么变化
添加if条件语句出现的效果为,不按下按钮时不出现信息,按着按钮则隔1秒出现一个 Hi~1 。
再次修改程式码:假设按下按钮之前的状态并修改部分状态,得到的效果为,按一下得到一条讯息。
完整程式码为:
/*
端口输出实作
需要学会按钮实作才可以学习
*/
<
int pushButton = 7;// 按钮使用脚位7,所以假设pushButton为7
int buttonState=0;// 设buttonState为按钮状态,初始状态为0
int beforeState=0;//假设按钮按下之前的状态
void setup() {
Serial.begin(9600);// 开始与电脑连线,传输速率为9600
pinMode(pushButton, INPUT);// 设7号脚位为输入端
}
void loop() {
buttonState = digitalRead(pushButton);// 从7号脚位侦测按钮状态,并把结果传给 buttonState
if (buttonState1 and beforeState0){
Serial.println(“Hi~”);
Serial.println(buttonState);//传递信息给电脑,后面小括号里的内容就是所传递的信息
}
beforeState=buttonState;
delay(1000);
}
实作中出现问题:标点符号打成中文,导致程式码无法顺利上传。
今天的笔记就这些,掰掰!