两轮平衡小车制作保姆式教程(2-3)——软件模块:0.96寸OLED显示屏(SPI)

✅作者简介:大家好我是:麦克斯科技,希望一起努力,一起进步!

个人主页:麦克斯科技

系列专栏:两轮平衡小车制作保姆式教程
️非常欢迎大家在评论区留言交流,互相学习!

提前声明:博客中给出的代码经过多个项目测试,实测能用,性能稳定,请大家放心使用!

前言

本系列博客将从硬件到软件详细介绍“如何制作一辆两轮自平衡小车”,笔者毫无保留,以最通俗易懂的语言,以最简单的实现方案,分享自己从0到1制作平衡小车的全过程,相信跟着我的教程,大家也能顺利制作一台属于自己的平衡车。系列专栏:两轮平衡小车制作保姆式教程

首先,给大家提前交个底,其实制作一台平衡小车并不难,用到的主要模块就是陀螺仪,而最主要的控制算法就是PID算法,而且平衡小车对陀螺仪与PID算法的掌握程度要求并不是很高,所以适合初学者来作为项目练手。

该系列教程一共分为4个板块,分为《硬件选型》、《软件模块》、《直立环、速度环、转向环》、《调参保姆级教程》,4个板块条理清晰,层次分明,简明扼要,请大家跟着我开始学习吧!

0.96寸OLED,SPI通信,代码实测好用,适用于电赛、课设等多个场景。

0.96寸OLED资源分配方案

OLED显示屏7P-- GND、VCC、D0(时钟线)–PA5、D1(数据线)–PA7、RES–PA4、DC–PA6、CS --GND

代码

hal_oled.h

#ifndef _HAL_OLED_H
#define _HAL_OLED_H


void hal_OledInit(void);
void hal_Oled_Color_Turn(unsigned char i);
void hal_Oled_Display_Turn(unsigned char i);
void hal_Oled_Display_on(void);
void hal_Oled_Display_Off(void);
void hal_Oled_Refresh(void);
void hal_Oled_Clear(void);
static void hal_Oled_DrawPoint(unsigned char x,unsigned char y,unsigned char t);
void hal_Oled_DrawLine(unsigned char x1,unsigned char y1,unsigned char x2,unsigned char y2,unsigned char mode);
void hal_Oled_DrawCircle(unsigned char x,unsigned char y,unsigned char r);
void hal_Oled_ShowChar(unsigned char x,unsigned char y,unsigned char chr,unsigned char size1,unsigned char mode);
void hal_Oled_ShowString(unsigned char x,unsigned char y,unsigned char *chr,unsigned char size1,unsigned char mode);
void hal_Oled_ShowNum(unsigned char x,unsigned char y,unsigned int num,unsigned char len,unsigned char size1,unsigned char mode);
void hal_Oled_ShowChinese(unsigned char x,unsigned char y,unsigned char num,unsigned char size1,unsigned char mode);
void hal_Oled_ScrollDisplay(unsigned char num,unsigned char space,unsigned char mode);
void hal_Oled_ShowPicture(unsigned char x,unsigned char y,unsigned char sizex,unsigned char sizey,unsigned char BMP[],unsigned char mode);
void hal_Oled_ClearArea(unsigned char x,unsigned char y,unsigned char sizex,unsigned char sizey);
void OLED_ShowSignedNum(uint8_t x, uint8_t y, int32_t num, uint8_t len,unsigned char size1,unsigned char mode);
extern unsigned char BMP1[];
extern unsigned char BMP_IconWifiSignal[4][32];
#endif

hal_oled.c的内容较多,两个文件的代码放在我的下载资源了,有需要自取。
0.96寸七针OLED(SPI)

你可能感兴趣的:(两轮平衡小车制作保姆式教程,stm32,平衡小车,单片机)