前面介绍了DIY功率检测与控制系统的各个模块,下面将使用开发板及模块实现:
一、点灯操作
本次使用是stm32标准库对单片机进行操作:
查阅原理图,LD2连接D13,观察开发板背面,SB42有电阻,而SB29断开,因此配置LD2连接的是PA5。
下面对PA5进行GPIO初始化即可:
#include "Driver_led.h"
void led_gpio_init(void)
{
GPIO_InitTypeDef GPIO_InitStruct;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_5;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_ResetBits(GPIOA,GPIO_Pin_5);
GPIO_Init(GPIOA,&GPIO_InitStruct);
}
void LD2_ON(void)
{
GPIO_SetBits(GPIOA,GPIO_Pin_5);
}
void LD2_OFF(void)
{
GPIO_ResetBits(GPIOA,GPIO_Pin_5);
}
实现效果如下:
二、OLED显示
OLED使用的是IIC驱动,在本次项目中,SDA连接PC3,SCL连接PC2;OLED的IIC地址为0x78。
实现的效果如下:
三、使用开发板实现对INA219的负载测量5V,12V电压电流并显示在OLED
电路连接如上图所示,INA219也是使用IIC通讯,地址通过左上角的拨动开关自由选择,分别是0x40、0x41、0x44、0x45。
实现的效果如下:
上述驱动代码放置于此,请结合上述使用: