Arduino 是一款开源电子原型平台,它让电子爱好者、设计师、艺术家和学者能够轻松地创建交互式对象或环境。以下是几个实战案例,帮助你从入门到精通 Arduino。

一、Arduino Uno基础入门

1.1 硬件介绍

Arduino Uno 是 Arduino 系列中最受欢迎的型号之一。它拥有14个数字输入/输出引脚(其中6个可支持PWM输出),6个模拟输入,一个16 MHz 的晶振,和一个USB 接口。

1.2 程序编写

使用 Arduino IDE 编写程序。以下是一个简单的“闪烁LED”程序示例:

// 定义LED连接的引脚
const int ledPin = 13;

void setup() {
  // 初始化LED引脚为输出模式
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // 打开LED
  digitalWrite(ledPin, HIGH);
  // 延迟1000毫秒
  delay(1000);
  // 关闭LED
  digitalWrite(ledPin, LOW);
  // 延迟1000毫秒
  delay(1000);
}

1.3 连接电路

将LED的正极连接到Arduino的13号引脚,负极连接到地线(GND)。

二、温度传感器实战

2.1 传感器介绍

DHT11 是一种常见的数字温度和湿度传感器,具有高精度和稳定性。

2.2 程序编写

以下是一个读取DHT11传感器的温度和湿度值的程序示例:

#include <DHT.h>

// 定义传感器连接的引脚
const int dhtPin = 2;
DHT dht(dhtPin, DHT11);

void setup() {
  Serial.begin(9600);
}

void loop() {
  // 读取温度和湿度值
  float h = dht.readHumidity();
  float t = dht.readTemperature();

  // 检查读取是否成功
  if (isnan(h) || isnan(t)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }

  // 打印温度和湿度值
  Serial.print("Humidity: ");
  Serial.print(h);
  Serial.println(" %");
  Serial.print("Temperature: ");
  Serial.print(t);
  Serial.println(" *C");
  delay(2000);
}

2.3 连接电路

将DHT11的VCC连接到Arduino的3.3V或5V引脚,GND连接到地线,数据线连接到2号引脚。

三、电机驱动实战

3.1 电机介绍

L298N 是一种常见的双H桥电机驱动模块,可以控制直流电机或步进电机。

3.2 程序编写

以下是一个控制直流电机正反转的程序示例:

const int motorPin1 = 8;
const int motorPin2 = 9;

void setup() {
  pinMode(motorPin1, OUTPUT);
  pinMode(motorPin2, OUTPUT);
}

void loop() {
  // 正转
  digitalWrite(motorPin1, HIGH);
  digitalWrite(motorPin2, LOW);
  delay(2000);

  // 停止
  digitalWrite(motorPin1, LOW);
  digitalWrite(motorPin2, LOW);
  delay(1000);

  // 反转
  digitalWrite(motorPin1, LOW);
  digitalWrite(motorPin2, HIGH);
  delay(2000);

  // 停止
  digitalWrite(motorPin1, LOW);
  digitalWrite(motorPin2, LOW);
  delay(1000);
}

3.3 连接电路

将直流电机的正极连接到L298N的IN1,负极连接到IN2,另一端连接到地线。将L298N的VCC连接到Arduino的5V引脚,IN1和IN2的输出端连接到Arduino的8号和9号引脚。

四、总结

通过以上实战案例,你可以在短时间内掌握 Arduino 的基本使用方法和技巧。在实际应用中,你可以根据自己的需求,不断拓展和完善你的 Arduino 项目。