1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 【22物联网国赛样题第一套】lora屏幕显示 外设值获取 lora光照获取 物联网竞赛今年

【22物联网国赛样题第一套】lora屏幕显示 外设值获取 lora光照获取 物联网竞赛今年

时间:2023-02-22 08:02:35

相关推荐

【22物联网国赛样题第一套】lora屏幕显示 外设值获取 lora光照获取 物联网竞赛今年

题目要求:

使用一个LoRa模块、一个光照传感器模块完成一个光环境的监控。

任务要求:

使用提供的未完成的工程进行开发。设备上电后,板上的LED1亮,LED2灭。液晶屏上实时显示当前光照值,效果如下: ​​​​​​​当光照低于某一设定值时(可用手遮住),板上的LED2灯亮起,高于这一值(手拿开)时LED2灭。

编程思路:

先调用AdcReadCh0()实时获取设备值,再将获取到的电压值转换后实时输出值OLED上。

题目分析:

这道题属于较为基础的题目,涉及到电压采集,led控制与OLED显示,相对来说较为简单,只要调用基础库即可完成编程。

代码实现:

这里展示代码,只展示.C部分所编写要用到的主要代码

float hum,temp,light;/*** Main application entry point.*/int main( void ){Init();ADCS_Init();OLED_Init();while( 1 ){handlerPre10Ms();light = AdcReadCh0();light = (2000/3.3)*light;char str[32];sprintf(str,"light: %.2f lux ",light);OLED_ShowString(0,2,str);}}

完整代码:

复制粘贴替换基础工程.C内容

/********************************************************************************* File Name: main.c* Description : Main program body*******************************************************************************/#include <string.h>#include "board.h"#include "hal_key.h"#include "tim-board.h"#include "timer_handles.h"#include "hal_oled.h"#include "adc_reader.h"/***********************************************************************************************º¯Êý£ºvoid Init( void )*¹¦ÄÜ£ºÆ½Ì¨³õʼ»¯*ÊäÈ룺ÎÞ*Êä³ö£ºÎÞ*ÌØÊâ˵Ã÷£ºÎÞ**********************************************************************************************/void Init() {// ¿ª·¢°åƽ̨³õʼ»¯BoardInitMcu();BoardInitPeriph();keys_init();//°´¼ü³õʼ»¯setTimer2Callback(Time2Handler);Tim2McuInit(1);//¶¨Ê±Æ÷³õʼ»¯£¬ÉèÖö¨Ê±ÖжÏ1msÖжÏÒ»´ÎOLED_Init();}/***********************************************************************************************º¯Êý£ºvoid KeyDownHandler( void )*¹¦ÄÜ£º°´Å¥Ê¼þ¼àÌý*ÊäÈ룺ÎÞ*Êä³ö£ºÎÞ*ÌØÊâ˵Ã÷£ºÎÞ**********************************************************************************************/void KeyDownHandler(void) {}/***********************************************************************************************º¯Êý£ºvoid handlerPre10Ms( void )*¹¦ÄÜ£º10ºÁÃëÑ­»·*ÊäÈ룺ÎÞ*Êä³ö£ºÎÞ*ÌØÊâ˵Ã÷£ºÑ­»·´¦Àí×Üʱ³¤300ms**********************************************************************************************/void handlerPre10Ms(void) {for (int delay = 0; delay < 30; delay++) {HAL_Delay(10);AdcScanChannel();}}float hum,temp,light;/*** Main application entry point.*/int main( void ){Init();ADCS_Init();while( 1 ){handlerPre10Ms();light = AdcReadCh0();light = (2000/3.3)*light;//这里要用到一个公式但是我忘记了char str[32];sprintf(str,"light: %.2f lux ",light);OLED_ShowString(0,2,str);}}

题目图:

【22物联网国赛样题第一套】lora屏幕显示 外设值获取 lora光照获取 物联网竞赛今年历年国赛样题真题代码

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。