arduino编程语言入门(arduino用什么语言编程)

写这篇文章是因为最近在梳理Arduino学习笔记,回想起自己当初第一次接触Arduino时候的那种懵懂和兴奋,现在还记忆犹新,当时只希望对于Arduino各种秘密马上能知晓,可惜当时的互联网没有那么多学习资源,只能是自己慢慢摸索,走了不少的弯路,甚至是犯了错误。现在回想起来主要是当时对于Arduino的基础性知识不明确、不系统,因此想分享一些系统的基础知识给初学者,先和你聊聊5个Arduino的基本功能。

1、数字输出

我们可以使用数字输出功能,控制一个LED灯,确保此电路正确,还可以控制电机,制造出声音甚至操控更多设备。

以Arduino UNO为例,0-13、A0-A5都可以接,使用digitalWrite(管脚,HIGH/LOW)命令,使用之前要使用pinMode(管脚, OUTPUT);设置该管脚为输出状态。下图为Mixly中的“数字输出模块”,可以看到管脚的选择范围以及取值范围。

Mixly中数字输出模块

提醒:不同的数字传感器触发(灯亮、蜂鸣器鸣叫)方式不一样,有的是低电平触发,有的是高电平触发,请注意区分,当初我也是傻傻的搞不清。

参考Arduino代码如下:

void setup(){

pinMode(0, OUTPUT);

}

void loop(){

digitalWrite(0,HIGH);

}

2、模拟输出

我们可以使用模拟输出功能控制LED灯的亮度,不仅是使LED发光或者熄灭,还可让它停留在两者之间的某种亮度上。此外,我们甚至可以控制电机的转速。

模拟输出所能接的管脚不像数字输出,只能接几个PWM管脚:3、5、6、9、10、11,这点请你一定注意,这也是我有过惨痛的教训的。如下图Mixly当中的模拟输出模块所示,请注意观察右侧的代码区,如果你是使用Arduino IDE直接代码编程,那么其命令就是:analogWrite(管脚,0-255);不需要使用pinMode命令。请你注意模拟输出的取值范围是0-255。

Mixly中的模拟输出模块

参考Arduino代码如下:

void setup(){

}

void loop(){

analogWrite(3,0);

}

3、数字输入

数字输入功能可以让我们获知简单传感器的状态,例如:按钮、倾角开关。

数字输入我们可以通过传感器上的电位器(下图光线传感器中间蓝色的突起,上面有十字架)调整我们需要的临界值,这个也是初学者会忽略的地方。

光线传感器

数字输入命令:digitalRead(管脚);管脚可以是0-13、A0-A11,使用该命令前要使用pinMode(管脚, INPUT);将该管脚设置为输入状态。米思齐的编程模块如下图所示:

Mixly数字输入模块

参考Arduino代码如下(使用了串口输出):

void setup(){

pinMode(0, INPUT);

Serial.begin(9600);

}

void loop(){

Serial.println(digitalRead(0));

}

4、模拟输入

我们可以使用模拟输入功能读取模拟传感器的连续信号,而不只是开/关状态的信号,例如:光线传感器、电位计模块。

模拟输入使用analogRead(管脚);管脚只能是A0-A7,不需要使用pinMode。Mixly中的模块如下:

mixly模拟输入模块

参考Arduino代码如下(使用了串口输出):

void setup(){

Serial.begin(9600);

}

void loop(){

Serial.println(analogRead(A0));

}

5、串行通信

这使我们能够与计算机进行沟通和数据交换,让我们能够监视正在运行的Arduino接收或者发送的数据。

使用时,先设置波特率,如下面的Arduino代码所示:

void setup(){

Serial.begin(9600);

}

void loop(){

Serial.println(“hello”);

}

这个案例是串口输出。串口输出有很多种形式,你可以像下图一样,在mixly中一一进行尝试。

Mixly中串口输出模块

还有串口输入,请看下图代码:

Mixly串口输入模块

参考Arduino代码如下:

void setup(){

Serial.begin(9600);

}

void loop(){

if (Serial.readString() == “a”) {

Serial.println(“hello”);

}

}

(0)
声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 FB8260@QQ.COM 举报,一经查实,立刻删除。