11_树莓派_树莓派外设板_PWM_彩虹灯

目录

1.树莓派外设集成板总体介绍

[2.第二部分 PWM](#2.第二部分 PWM)

树莓派_树莓派外设板_PWM_RGB彩虹灯

3.代码及实现


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;
}

流程图

效果

相关推荐
黑妹天下第一乖14 小时前
第09讲 · 多媒体与音频 SDK:硬件编解码与端侧语音
人工智能·嵌入式硬件·深度学习·机器人·音视频·iot
comyccccc14 小时前
LM2596电源PCB布局布线全解析学习笔记
单片机·嵌入式硬件
恒锐丰科技林技术员16 小时前
EG2122 半桥栅极驱动芯片原理与工程应用解析
经验分享·嵌入式硬件·硬件工程
qq_4017004116 小时前
FreeRTOS 堆内存管理源码剖析:释放一块内存,空闲块数量反而变少了?
单片机·freertos
新晨单片机设计17 小时前
S017C-基于STM32汽车防酒驾系统(心率、血氧、短信)【Proteus仿真+Keil程序+原理图】
stm32·单片机·proteus·防酒驾报警系统
fly_sunnn18 小时前
STM32-GPIO输出以及按键控制LED&光敏传感器控制蜂鸣器
stm32·单片机·嵌入式硬件
数字新视界18 小时前
U位资产管理系统发布全面数字化监控解决方案
嵌入式硬件·物联网·系统架构·机房管理·动力与环境监控系统
qq_4017004120 小时前
FreeRtos:SysTick的功能分析
单片机·嵌入式硬件
zbyyd21 小时前
i.MX6ULL 裸机开发|GT9147 触控 + SPI 与 ADXL345 加速度传感器驱动
单片机·嵌入式硬件
fly_sunnn21 小时前
STM32-LED闪烁·LED流水灯·蜂鸣器
stm32·单片机·嵌入式硬件