1、如下图所示,准备要使用到的硬件,这个例子程序中,我们使用到的硬件很简单,只有一个控制器和一个下载线,不需要其他的硬件设备
2、打开 Arduino IDE 软件来编辑旯皱镢涛程序,程序如下所示:float value = 1.1;void setup(){ Serial.begin(9600);//设置串口波特率为9鲂番黟谊600 } //如果a和b的差值很小,则传回 true //其中DELTA的值是相等的最大差异 boolean almostEqual(float a,float b) { const float DELTA = .00001; if(a == 0) return fabs(b) <= DELTA; if(b == 0) return fabs(a) <= DELTA; return fabs((a - b) / max(fabs(a),fabs(b))) <= DELTA; } void loop() { value = value - 0.1;//每次减0.1 if(value == 0) Serial.println("The value is exactly zero"); else if(almostEqual(value,0)) { Serial.print("The value"); Serial.print(value,7);//显示value小数点后7位 Serial.println("is almost equal to zero"); } else Serial.println(value); delay(100); }你可以选择直接复制粘贴代码,也可以手敲代码练习一下。
3、程序代码编辑完成后,就可以进行编译,点击编译的时候,如果程序之前没有保存会弹出如下对话框,选择一个位置进行保存即可,如果程序已经保存过,在编译时会自动保存改动内容。如图所示,程序编译成功,就会在下方显示“编译完成”
4、在程序上传之前,需要选择控制器的型号“Arduino UNO”,控制器在电脑上的端口,我这里是“com6”,注意一定要正确的选择这两项,否则会造成后续的程序上传失败。
5、完成了以上的操作之后,我们茧盯璜阝就可以进行程序的上传,点击编辑器的上传,没有问题的情况下,上传后,在 Arduino IDE 的下方会显示“上传成功”,如图所示。我们可以筛觐子裆发现,在上传过程中,编译器同样会对程序先编译,再上传,但是为了程序的正确性,我还是比较习惯在上传前,先进行一次编译。
6、如图所示,现在我们可以打开 Arduino IDE 的串口监视器,来查看程序的输出效果
7、回顾:浮点函数的精确度不高,计算结果通常会有一定的误差,所以没有出现预计的输出“The value is exautly zero”,但是它的值是非常接近于零的,却又永不为零。在很多平台上double的精度要更高于float,但是在Arduino中,float和double是相同的。