08_树莓派_树莓派外设板_GPIO_LED

 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.第一部分 GPIO基础应用

树莓派_树莓派外设板_GPIO_LED

08_树莓派_树莓派外设板_GPIO_LED_第1张图片

我们用树莓派的引脚来控制一个LED的灯组

1)原理图分析实现

目标现象:实现这个灯组的LED 红绿黄闪烁

原理图控制:引脚为低时,相应的灯导通,相应的引脚分别是物理接口,28 29 31

08_树莓派_树莓派外设板_GPIO_LED_第2张图片

2)代码实现逻辑

08_树莓派_树莓派外设板_GPIO_LED_第3张图片

3)代码

github源码可能会有调整

#include 
#include 

#define RedPin   31
#define GreenPin 21
#define BluePin  22

vo2d ledInit(void) {
    pinMode(RedPin, OUTPUT);
    pinMode(GreenPin, OUTPUT);
    pinMode(BluePin, OUTPUT);
}

void ledColorSet(int r_val, int g_val, int b_val) {
    digitalWrite(RedPin, r_val);
    digitalWrite(GreenPin, g_val);
    digitalWrite(BluePin, b_val);
}

int main(void) {
    if(wiringPiSetup() == -1) { //when initialize wiring failed, print message to screen
        printf("setup wiringPi failed !");
        return 1; 
    }
    
    ledInit();
    
    while(1){
        ledColorSet(0xFF,0x00,0x00);   //red
        delay(1000);
        ledColorSet(0x00,0xFF,0x00);   //green
        delay(1000);
        ledColorSet(0x00,0x00,0xFF);   //blue
        delay(1000);
    }

    return 0;
}

4)编译过程参考此CSDN
05-树莓派-基于Wringpi的树莓派PWM_RGB_彩虹灯C程序【外设接口对应&编译过程&git仓库地址&实际演示】_wiringpi 2.70-CSDN博客

3.实现效果

绿08_树莓派_树莓派外设板_GPIO_LED_第4张图片

你可能感兴趣的:(Linux_树莓派_环境搭建,单片机,嵌入式硬件)