控制LED灯闪烁功能
Arduino实现方式:
- 硬件连接:将一个LED灯的正极通过一个限流电阻(通常220欧姆左右)连接到Arduino的一个数字输出引脚(例如引脚13),LED的负极连接到地(GND)。
- 代码编写:使用Arduino IDE进行编程,代码如下:
```cpp
int ledPin = 13; // 定义LED连接的引脚
void setup() {
pinMode(ledPin, OUTPUT); // 将引脚设置为输出模式
}void loop() {
digitalWrite(ledPin, HIGH); // 点亮LED
delay(1000); // 等待1秒
digitalWrite(ledPin, LOW); // 熄灭LED
delay(1000); // 等待1秒
}
```Raspberry Pi实现方式:
- 硬件连接:将LED的正极通过限流电阻连接到Raspberry Pi的一个GPIO引脚(例如GPIO18),LED负极连接到地。
- 代码编写:首先需要安装RPi.GPIO库,在命令行中执行
sudo apt - get install python3 - rpi.gpio
(假设使用Python 3)。然后使用Python编写代码如下:
```python
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
led_pin = 18
GPIO.setup(led_pin, GPIO.OUT)
try:
while True:GPIO.output(led_pin, GPIO.HIGH) time.sleep(1) GPIO.output(led_pin, GPIO.LOW) time.sleep(1)
finally:
GPIO.cleanup()
```
读取温度传感器数据功能
Arduino实现方式:
- 硬件连接:以DHT11温度传感器为例,将DHT11的数据引脚连接到Arduino的一个数字引脚(例如引脚2)。
- 代码编写:需要安装DHT传感器库,在Arduino IDE中通过“库管理器”搜索并安装“DHT sensor library”。代码如下:
```cppinclude
define DHTPIN 2 // 定义DHT11连接的引脚
define DHTTYPE DHT11 // 定义传感器类型为DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
}void loop() {
float temperature = dht.readTemperature(); // 读取温度
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" °C");
delay(2000);
}
```Raspberry Pi实现方式:
- 硬件连接:同样以DHT11为例,将DHT11的数据引脚连接到Raspberry Pi的一个GPIO引脚(例如GPIO4)。
- 代码编写:需要安装Adafruit - DHT库,在命令行中执行
sudo apt - get install python3 - adafruit - dht
。代码如下:
```python
import Adafruit_DHT
import time
DHT_SENSOR = Adafruit_DHT.DHT11
DHT_PIN = 4while True:
humidity, temperature = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN)
if humidity is not None and temperature is not None:print("Temp={0:0.1f}*C Humidity={1:0.1f}%".format(temperature, humidity))
else:
print("Failed to retrieve data from humidity sensor")
time.sleep(2)
```
连接并控制蓝牙设备功能
Arduino实现方式:
- 硬件连接:将蓝牙模块(例如HC - 05)的TX引脚连接到Arduino的RX引脚,RX引脚连接到Arduino的TX引脚,VCC连接到5V,GND连接到地。
- 代码编写:需要使用SoftwareSerial库来进行串口通信。代码如下(假设蓝牙模块的波特率设置为9600):
```cppinclude
SoftwareSerial bluetooth(2, 3); // RX, TX引脚
void setup() {
Serial.begin(9600);
bluetooth.begin(9600);
}void loop() {
if (bluetooth.available()) {char data = bluetooth.read(); Serial.write(data); // 可以在这里添加根据接收到的数据控制其他设备的代码
}
if (Serial.available()) {char data = Serial.read(); bluetooth.write(data);
}
}
```Raspberry Pi实现方式:
- 硬件连接:将蓝牙模块的TX引脚连接到Raspberry Pi的RX引脚(例如GPIO10),RX引脚连接到Raspberry Pi的TX引脚(例如GPIO9),VCC连接到3.3V,GND连接到地。
- 代码编写:使用Python的serial库进行通信。首先需要安装
python - serial
库,在命令行中执行sudo apt - get install python - serial
。代码如下:
```python
import serial
import time
ser = serial.Serial('/dev/ttyS0', 9600) # 根据实际情况修改串口设备名和波特率
try:
while True:if ser.in_waiting: data = ser.read().decode('utf - 8') print(data) # 可以在这里添加根据接收到的数据控制其他设备的代码 # 发送数据示例 ser.write(b'Hello') time.sleep(1)
except KeyboardInterrupt:
ser.close()
```