Arduino入门常用指令详解及语法指南

Arduino入门常用指令详解及语法指南


一、Arduino程序基础结构

void setup() {
  // 初始化代码(只执行一次)
}

void loop() {
  // 主循环代码(重复执行)
}

结构说明:

  • setup():上电或复位后执行一次
  • loop():持续循环执行
  • 必须包含这两个函数,即使为空

二、常用核心指令详解

1. 引脚模式设置

pinMode(pin, mode);
  • 参数:
    • pin:引脚编号(0-13/A0-A5)
    • mode:INPUT/INPUT_PULLUP/OUTPUT
  • 案例:
void setup() {
  pinMode(13, OUTPUT);    // 设置13号引脚为输出
  pinMode(A0, INPUT);     // 设置A0为输入
}

2. 数字输出

digitalWrite(pin, value);
  • 参数:
    • value:HIGH/LOW
  • 案例(LED闪烁):
void loop() {
  digitalWrite(13, HIGH);
  delay(1000);
  digitalWrite(13, LOW);
  delay(1000);
}

3. 数字输入

int state = digitalRead(pin);
  • 返回值:HIGH/LOW
  • 案例(按钮检测):
void loop() {
  int btnState = digitalRead(2);
  if(btnState == HIGH) {
    digitalWrite(13, HIGH);
  }
}

4. 模拟输入

int value = analogRead(pin);
  • 参数:A0-A5(0-5V对应0-1023)
  • 案例(电位器读取):
void loop() {
  int potValue = analogRead(A0);
  Serial.println(potValue);
}

5. PWM输出

analogWrite(pin, value);
  • 参数:
    • pin:带~标记的引脚(3,5,6,9,10,11)
    • value:0-255
  • 案例(呼吸灯):
void loop() {
  for(int i=0; i<=255; i++){
    analogWrite(9, i);
    delay(10);
  }
}

三、串口通信指令

1. 初始化串口

Serial.begin(baudrate);
  • 常用波特率:9600, 115200
  • 案例:
void setup() {
  Serial.begin(9600);
}

2. 数据发送

Serial.print("Hello World");
Serial.println(variable);

3. 数据接收

if(Serial.available() > 0){
  char data = Serial.read();
}

四、流程控制语句

1. if条件判断

if(condition) {
  // 代码块
} else if(condition2) {
  // 代码块
} else {
  // 代码块
}

2. for循环

for(int i=0; i<10; i++){
  // 重复代码
}

3. while循环

while(condition){
  // 循环代码
}

五、重要语法规范

1. 语句规范

  • 每条语句以分号结尾
  • 区分大小写(DigitalWrite ≠ digitalWrite)
  • 注释方式:
    // 单行注释
    /* 多行注释 */
    

2. 变量声明

  • 必须指定数据类型
  • 常见类型:int, float, boolean, char
int ledPin = 13;
float voltage = 3.3;

3. 函数定义

returnType functionName(parameters){
  // 函数体
}
  • 案例:
int addNumbers(int a, int b){
  return a + b;
}

六、综合应用案例

光控LED系统

int lightSensor = A0;
int ledPin = 9;

void setup() {
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  int sensorValue = analogRead(lightSensor);
  int brightness = map(sensorValue, 0, 1023, 0, 255);
  analogWrite(ledPin, brightness);
  
  Serial.print("亮度:");
  Serial.println(sensorValue);
  delay(100);
}

七、注意事项

  1. 引脚模式必须预先设置
  2. 模拟输出仅支持特定PWM引脚
  3. 串口通信需保持波特率一致
  4. 避免在loop()中使用过长延时
  5. 变量作用域需特别注意

通过掌握这些基础指令和语法规范,可以快速开展Arduino开发。建议配合实际硬件操作练习,每个案例均可使用Arduino UNO开发板实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

自动化专业爱好者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值