2021物联网国赛通用库开发——D卷

本次所需要实现的功能如下

一:导入竞赛选手所需要使用到的头文件
#inclide "adc_reader.h"                //导入ADC头尾文件
#include "hal_oled.h"             //OLED头文件
二:使用字模取模软件进行取模
char zhi[32]={0x10,0x94,0x53,0x32,0x1E,0x32,0x52,0x10,0x00,0x7E,0x42,0x42,0x42,0x7E,0x00,0x00,0x00,0x00,0x00,0xFF,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0xFF,0x00,0x00,0x00,0x00}; //智char neng[32]={0x08,0xCC,0x4A,0x49,0x48,0x4A,0xCC,0x18,0x00,0x7F,0x88,0x88,0x84,0x82,0xE0,0x00,0x00,0xFF,0x12,0x12,0x52,0x92,0x7F,0x00,0x00,0x7E,0x88,0x88,0x84,0x82,0xE0,0x00}; //能char deng[32]={0x80,0x70,0x00,0xFF,0x20,0x10,0x04,0x04,0x04,0x04,0xFC,0x04,0x04,0x04,0x04,0x00,0x80,0x60,0x18,0x07,0x08,0x30,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00}; //灯char qiang[32]={0x02,0xE2,0x22,0x22,0x3E,0x00,0x80,0x9E,0x92,0x92,0xF2,0x92,0x92,0x9E,0x80,0x00,0x00,0x43,0x82,0x42,0x3E,0x40,0x47,0x44,0x44,0x44,0x7F,0x44,0x44,0x54,0xE7,0x00}; //强char du[32]={0x00,0x00,0xFC,0x24,0x24,0x24,0xFC,0x25,0x26,0x24,0xFC,0x24,0x24,0x24,0x04,0x00,0x40,0x30,0x8F,0x80,0x84,0x4C,0x55,0x25,0x25,0x25,0x55,0x4C,0x80,0x80,0x80,0x00}; //度
三:显示函数封装
void OLED_display_file()
{OLED_ShowCHineseArray(30,0,zhi);                   //在OLED屏上初始化智能灯OLED_ShowCHineseArray(50,0,neng);OLED_ShowCHineseArray(70,0,deng);
}
四:添加变量
uint8_t Oled_Data_Show[10];          //OLED屏数据数组
五:主函数(核心代码)
int main( void )
{Init();                        OLED_Init();            //OLED屏初始化ADCS_Init();          //ADC初始化OLED_display_file();while( 1 ){AdcScanChannel();            //获取ADC值    //sprintf((char*)Oled_Data_Show,":%.2fV",AdcReadCh0());       //获取当前电压值sprintf((char *)Oled_Data_Show,":%.3f",(5/2.0)*(AdcReadCh0()*100));  //使用计算出光照的值并以保留三位小数的格式保存在Oled_Data_Show数组当中并输出在OLED屏上int gz=(5/2.0)*(AdcReadCh0()*100);                //当光照小于100时LED2亮否则灭if(gz<100){GpioWrite(&Led2,0);}else{GpioWrite(&Led2,1);}OLED_ShowCHinese(0,4,29);             //输出光照字符 使用的是库中的字模OLED_ShowCHinese(20,4,30);//OLED_ShowCHineseArray(40,4,qiang);//OLED_ShowCHineseArray(60,4,du);OLED_ShowString(40,4,Oled_Data_Show);HAL_Delay(1000);          //在末尾一定要进行延时!!!不然会获取太快!!!!有影响显示效果}
}

注:光照是使用ADC协议来进行获取的 ADC的详细情况后期会进行总结发布!!

实现本案例时务必使用温湿度光照三合一传感器!!

特别补充:光照的计算格式如下

光照值(Lux) = ( 5 / 2.0 ) * ( 电压值 ) * 100.0 )
简化成
电压值*250
调用通用库当中的AdcReadCh0()就是获取当前的电压值!!!

最后:若读者有更好的方法,欢迎在评论区打出互相学习!!
如有纰漏,请多指教!!

2021物联网国赛通用库开发——D卷相关推荐

  1. 2021物联网国赛通用库开发——E卷

    2021物联网国赛通用库开发--E卷 本次所需要实现的功能如下 一:导入竞赛选手所需要自己添加的包文件 #include "hal_oled.h" //OLED屏头文件 二:添加为 ...

  2. 2021物联网国赛zigbee点对点通讯——G卷

    2021物联网国赛zigbee点对点通讯--G卷 一.实现的功能 二.预备知识 1:zigbee的点对点可以使用协议栈或者新大陆的工程文件进行开发,在这里我使用的新大陆的点对点工程文件对题目进行开发 ...

  3. 2021物联网国赛Lora模块通用库开发——A卷

    2021物联网国赛Lora模块通用库开发--A卷 1:声明全局变量和导入本次所使用到的包 #include "hal_oled.h" int Stat_key=0; //记录按键次 ...

  4. 物联网国赛LORA模块开发基础教程(通用库)—点对点通信

    LORA模块开发基础教程目录 物联网国赛LORA模块开发基础教程-开发环境配置 物联网国赛LORA模块开发基础教程-输出(LED) 物联网国赛LORA模块开发基础教程-输入(按键) 物联网国赛LORA ...

  5. 物联网国赛LORA模块开发基础教程(通用库)—传感器

    LORA模块开发基础教程目录 物联网国赛LORA模块开发基础教程-开发环境配置 物联网国赛LORA模块开发基础教程-输出(LED) 物联网国赛LORA模块开发基础教程-输入(按键) 物联网国赛LORA ...

  6. 物联网国赛LORA模块开发基础教程(通用库)—串口收发

    LORA模块开发基础教程目录 物联网国赛LORA模块开发基础教程-开发环境配置 物联网国赛LORA模块开发基础教程-输出(LED) 物联网国赛LORA模块开发基础教程-输入(按键) 物联网国赛LORA ...

  7. 物联网国赛LORA模块开发基础教程(通用库)—输出(LED)

    LORA模块开发基础教程目录 物联网国赛LORA模块开发基础教程-开发环境配置 物联网国赛LORA模块开发基础教程-输出(LED) 物联网国赛LORA模块开发基础教程-输入(按键) 物联网国赛LORA ...

  8. 物联网国赛LORA模块开发基础教程(通用库)—OLED屏幕

    LORA模块开发基础教程目录 物联网国赛LORA模块开发基础教程-开发环境配置 物联网国赛LORA模块开发基础教程-输出(LED) 物联网国赛LORA模块开发基础教程-输入(按键) 物联网国赛LORA ...

  9. 物联网国赛LORA模块开发基础教程(通用库)—定时器

    LORA模块开发基础教程目录 物联网国赛LORA模块开发基础教程-开发环境配置 物联网国赛LORA模块开发基础教程-输出(LED) 物联网国赛LORA模块开发基础教程-输入(按键) 物联网国赛LORA ...

最新文章

  1. Python十大装腔语法
  2. 秒杀 高并发 类型系统方案设计
  3. Linux后台开发应该具备技能
  4. codeforces570C
  5. 残差网络(Residual Networks, ResNets)
  6. 研究机器学习需要什么样的数学基础?
  7. 白话Elasticsearch15-深度探秘搜索技术之使用copy_to定制组合field解决cross-fields搜索弊端
  8. 网站使用微信扫码登录流程
  9. es6 对象中是否有键值_干货| ES6/ES7好玩实用的特性介绍
  10. java核心-多线程-Java多线程编程涉及到包、类
  11. http.client.ResponseNotReady: Request-sent
  12. java中通过正则表达式提取数字
  13. Java设计模式之工厂模式最详解(类图+源码)
  14. adb 配置自动获取时间 使用GPS提供的时间 使用网络提供的时间
  15. 用VSCode打开带图片的.md文件
  16. 你也可以找到好工作(三)大结局
  17. 经典的mac阅读写作学习工具合集
  18. Android5.0 静音模式下让闹钟仍然响铃
  19. 免费申报!5G网络Awards参评企业征集,欢迎参与!
  20. tinyint(1)和int(1)的区别

热门文章

  1. java判断简体和繁体字_如何判断一个字符串是繁体编码还是简体编码?????????...
  2. 360浏览器 图片助手(ImageAssistant) 下载兔展和易企秀 连接中的大图
  3. [嵌入式开发模块]GY25倾斜角度传感器 驱动模块
  4. Redis的性能幻想与残酷现实
  5. PHP入门(自学笔记)
  6. 视觉机器学习20讲-MATLAB源码示例(10)-增强学习算法
  7. 黑鲨手机全面屏的导航栏适配
  8. 结论太小,以致于大家都看不见它
  9. 建立链栈,并在链栈上实现栈的初始化,判空,入栈和出栈操作。
  10. NIPS 2022 | 一文了解腾讯AI Lab入选的13篇论文