目录
[2.第二部分 PWM](#2.第二部分 PWM)
1 .树莓派外设集成板总体介绍
1)前言:这是一块为了验证树莓派【兼容树莓派多个型号】的40pins的外设接口的外接板,告别复杂的面包板外设搭建。【欢迎各位交流,如果有好的思路,会在点赞评论中抽取免费赠送硬件平台】
2)本系列将介绍所有外设的硬件接口构成和软件实现【包括原理图和代码实现】。
软件仓库:GitHub - ikuuil45/Linux_Wringpi_Example
3)硬件架构
4)板子全貌
背面:
右侧插针接口可以直接接到树莓派上
左侧是为板子上面的STM32把所有的引脚接口都预留了,板子本身还可以做一个STM32外设开放的最小系统板
正面:和树莓派的尺寸兼容,不会互相产生干涉
接好的塔板
5)外设板学习索引
第一部分:GPIO基础应用
GPIO入门
GPIO基本概念和用途
使用GPIO点亮LED
按键矩阵
设置按键矩阵
控制LED灯的闪烁
中断按键控制LED
第二部分:PWM调光技术
PWM
PWM基本原理
RGB LED的控制
第三部分:通信协议
串口通信
串口基础知识
树莓派与上位机的通信
I2C通信
I2C基础概念
使用I2C控制OLED显示器
通过I2C与MPU6050陀螺仪传感器通信
通过I2C与SHT30温度仪传感器通信
通过I2C与APDS-9960光敏传感器通信
I2C多设备通信
一主多从的I2C通信配置
同时控制多个I2C设备
SPI通信
SPI基础概念
通过SPI与STM32MCU进行通信
第四部分:综合项目
树莓派系统负载温度检测系统
检查树莓派的
实现智能灯光控制和传感器监测
与上位机进行串口通信实现远程控制
环境监测器
使用多个GPIO、PWM、I2C、SPI传感器进行数据采集(温湿度、姿态等)
数据显示在OLED屏幕上
将数据通过串口发送到上位机进行记录和分析
2. 第二部分 PWM
树莓派_树莓派外设板_PWM_RGB彩虹灯
我们使用这三个引脚来控制RGB三个引脚
RGB成色原理
RGB的PWM原理
3.代码及实现
代码
cpp
#include <wiringPi.h>
#include <softPwm.h>
#define Red_Pin 21
#define Green_Pin 22
#define Blue_Pin 31
int colors[][3] = {
{255, 0, 0}, // 红色
{230, 20, 0}, // 橙色
{255, 30, 0}, // 黄色
{0, 255, 0}, // 绿色
{0, 250, 154}, // 青色
{0, 0, 255}, // 蓝色
{139, 0, 139} // 紫色
};
void setup() {
wiringPiSetup();
softPwmCreate(Red_Pin, 0, 255);
softPwmCreate(Green_Pin, 0, 255);
softPwmCreate(Blue_Pin, 0, 255);
}
void loop() {
int numColors = sizeof(colors) / sizeof(colors[0]);
for (int i=0; i < numColors; i++) {
softPwmWrite(Red_Pin, colors[i][0]);
softPwmWrite(Green_Pin, colors[i][1]);
softPwmWrite(Blue_Pin, colors[i][2]);
delay(1000);
}
}
int main() {
setup();
while(1) {
loop();
}
return 0;
}
流程图
效果