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 项目。
