📅  最后修改于: 2023-12-03 15:13:28.528000             🧑  作者: Mango
Arduino 是一款开源硬件平台,它为人们提供了快速、简单地开发各种交互式项目的工具。在本教程中,我们将介绍如何使用 Arduino 平台构建基础项目,如 LED 灯控制、温度探测等。
在 Arduino 平台上编写程序时,如下代码结构是必不可少的:
void setup() {
// 配置硬件
}
void loop() {
// 执行循环
}
setup 函数只在 Arduino 开始运行时调用一次。这个函数用于配置硬件,比如设置管脚方向、初始化串口等。loop 函数不断地执行,直到 Arduino 断电。
Arduino 主板有一些 GPIO(General-Purpose Input/Output)引脚,可以被用来控制外部硬件或接收外部信号。Arduino 有数字 GPIO 和模拟 GPIO 之分,具体区别如下:
下面的示例展示了如何使用数字 GPIO 控制 LED 灯亮灭:
int ledPin = 13;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
digitalWrite(ledPin, HIGH); // 点亮 LED
delay(1000); // 延时 1 秒
digitalWrite(ledPin, LOW); // 熄灭 LED
delay(1000); // 延时 1 秒
}
当脚位 13 上的电压为 HIGH 时,控制板上的 LED 灯会点亮;当电压为 LOW 时,LED 灯就会熄灭。这个程序会使 LED 在 1 秒内亮一秒,再熄灭一秒,接着重复这个操作。
下面的示例展示了如何使用模拟 GPIO 控制 LED 灯的亮度:
int ledPin = 9;
int brightness = 0;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
analogWrite(ledPin, brightness); // 控制 LED 亮度
brightness += 5; // 做出变化
if (brightness >= 255) { // 达到最大值
brightness = 0; // 重置亮度值
}
delay(30); // 延时 30 毫秒
}
在上面的程序中,每次循环会使 LED 的亮度增加 5(亮度的范围是 0~255)。当达到最大值 255 时,亮度值会被重置为 0。通过不断改变亮度值,可以制作出 LED 闪动等效果。
Arduino 上的串口模块通常通过 USB 线与电脑相连。可以利用串口模块向电脑发送数据,也可以从电脑接收数据。
下面的示例展示了如何从 Arduino 通向电脑发送一条消息:
void setup() {
Serial.begin(9600); // 初始化串口通信
}
void loop() {
Serial.println("Hello, World!"); // 向串口发送消息
delay(1000); // 延时 1 秒
}
下面的示例展示了如何从电脑接收数据:
void setup() {
Serial.begin(9600); // 初始化串口通信
}
void loop() {
if (Serial.available() > 0) { // 如果串口可读
String message = Serial.readString();
Serial.println("收到消息:" + message);
}
}
上面的程序不断地读取来自电脑的数据,如果有数据可读,就将其打印到串口上。这个程序可以用来测试在 Arduino 平台上搭建的传感器等外部硬件。