描述
<div>
<p style="line-height:1.8;"> </p>
<h3 style="line-height:1.8;">* 1、项目功能介绍</h3>
<hr>
<p style="line-height:1.8;">项目目标为实时监测空气质量pm2.5。实现方式是:通过PM2.5传感器实时监测,通过串口传给瑞萨A4M2单片机,单片机对接收到的数据进行处理与判断,把处理好的数据通过IIC接口传给OLED屏幕,实时显示当前pm2.5值 单位是mg每立方米。同时对空气质量做判断,当pm2.5大于200时发红光报警,正常时绿灯显示。通过该项目能学习瑞萨单片机以及一些接口,该项目用到了定时器资源、iic资源、串口资源、GPIO输出资源。</p>
<h3 style="line-height:1.8;">*2、项目属性</h3>
<p style="line-height:1.8;">首次公开,原创,未曾获奖,未参加过答辩。</p>
<h3 style="line-height:1.8;">* 3、开源协议</h3>
<hr>
<p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">GPL 3.0</span></p>
<p style="line-height:1.8;">GPL3.0</p>
<p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">注:利他即利己,请认真阅读下述内容。</span></p>
<ol style="line-height:1.8;">
<li style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">拥抱开源,赋予项目无限价值。建议项目核心功能开源80%以上;</span></li>
<li style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">2、若某一部分功能不可替代且删掉之后项目无法解决对应的问题,则这一部分实现的功能就是项目的核心功能;比如设计了一台电子负载且设计了一款上位机软件监控功率变化,则电子负载为核心功能,上位机软件为辅助功能;比如电子负载中使用了一款隔离485模块与上位机通信,则此485模块实现的通讯功能为辅助功能; </span></li>
<li style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">项目应选择适合自己的<span style="text-decoration:underline;"><a href="/posts/98fdb2accd754af7b51990790db3b47a" target="_blank">开源协议</a></span>,若项目引用其他开源项目,应注明来源并遵循原作者的开源协议规定;原创项目推荐使用GPL3.0开源协议;</span></li>
<li style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">直接引用开源项目的原电路或原代码实现的功能不可作为自己项目的核心功能、使用市场上通用模块直接实现的功能不可作为自己项目的核心功能。</span></li>
</ol>
<p style="line-height:1.8;"> </p>
<p style="line-height:1.8;"><strong><span style="color:#0093e6;">请在竞赛阶段填写 ↓</span></strong></p>
<p style="line-height:1.8;"> </p>
<h3 style="line-height:1.8;">*4、硬件部分</h3>
<hr>
<p style="line-height:1.8;">1.电源:</p>
<p style="line-height:1.8;">电源采用的是TPSPX3819M5-L-3-3,外围电路简单,仅有两个电容即可,低压差输入大于3.5v就可以满足3.3v输出。</p>
<p style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/LNaffou6YY7oY9nOTLpQTA3djGRIEHkUguuOp34G.png" alt="LNaffou6YY7oY9nOTLpQTA3djGRIEHkUguuOp34G.png"></p>
<p style="line-height:1.8;">MCU:</p>
<p style="line-height:1.8;">MCU选择了瑞萨的RA4M2的开发板,非常奈斯</p>
<p style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/CuMFcbufMmNSldsSpAfhSChsePdrCncqgp1nO9ut.png" alt="CuMFcbufMmNSldsSpAfhSChsePdrCncqgp1nO9ut.png"></p>
<p style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/2T0Igyl6FoUF3lTKB60U5z0gd3nY7enO6D4rKY0P.png" alt="2T0Igyl6FoUF3lTKB60U5z0gd3nY7enO6D4rKY0P.png"></p>
<p style="line-height:1.8;">传感器:</p>
<p style="line-height:1.8;">pm2.5传感器是直接用的模块,在pcb上直接使用4p xh2.54的接口</p>
<p style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/88NJIZ6JGeF1JLRu9xfZp9Edmp5l050VSZH8bmuu.png" alt="88NJIZ6JGeF1JLRu9xfZp9Edmp5l050VSZH8bmuu.png"><img src="//image.lceda.cn/pullimage/vprfWGTyYGc1XpciwLKrOaAyfxhYLofmgveWBCN6.png" alt="vprfWGTyYGc1XpciwLKrOaAyfxhYLofmgveWBCN6.png"></p>
<p style="line-height:1.8;">显示部分:</p>
<p style="line-height:1.8;">显示部分,选择了比较直观的oled和led灯。这样既能实时看数据,又能直观反馈空气质量。</p>
<p style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/fGCW3PyRpoLx7JifSo40hPnk5EL9d34xTbb8mEd0.png" alt="fGCW3PyRpoLx7JifSo40hPnk5EL9d34xTbb8mEd0.png"><img src="//image.lceda.cn/pullimage/ZtMlQVBG8KnwVBstmyDGhCOgYGIbgXsEqrpSOxnU.png" alt="ZtMlQVBG8KnwVBstmyDGhCOgYGIbgXsEqrpSOxnU.png"><img src="//image.lceda.cn/pullimage/sAofevGPKmJMmefVmlRiLCjv7wruDa4B3Ym1kfIz.png" alt="sAofevGPKmJMmefVmlRiLCjv7wruDa4B3Ym1kfIz.png"></p>
<p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;"> 注:请前往<span style="text-decoration:underline;"><a href="https://lceda.cn/editor" target="_blank">嘉立创EDA</a> </span>生成/上传设计文件,文件完成后,相关文稿将自动生成至项目详情;这里可以详细说明您的项目实现原理和机制、注意事项、调试方法、测试方法等。推荐图文并茂的形式向别人介绍您的想法。 </span></p>
<p style="line-height:1.8;"> </p>
<h3 style="line-height:1.8;">*5、软件部分</h3>
<hr>
<p style="line-height:1.8;">软件是通过附件上传</p>
<p style="line-height:1.8;">循环部分:</p>
<p style="line-height:1.8;">也是主函数,先对各个部分进行初始化,后在while循环中加入判断,500ms执行一次,这个是显示的刷新频率,数据接收是实时的。</p>
<div> </div>
<div> </div>
<div> /* TODO: add your own code here */</div>
<div> </div>
<div>#if BSP_TZ_SECURE_BUILD</div>
<div> /* Enter non-secure code */</div>
<div> R_BSP_NonSecureEnter();</div>
<div>#endif</div>
<div>}</div>
<div> </div>
<div>时间管理:</div>
<div>这里是定时器中断部分,主要是给串口做空闲中断,即根据接收到数据的连续性把各包数据分开,方便进一步处理。还有一个就是对时间进行一个标志设定,比如1s标志、500毫秒标志,方便实时对任务进行处理。</div>
<div>
<div>void agt_callback(timer_callback_args_t *p_args)</div>
<div>{</div>
<div> if (TIMER_EVENT_CYCLE_END == p_args->event)</div>
<div> {</div>
<div> </div>
<div>if(g_timer_10ms_count>=50)</div>
<div>{</div>
<div>g_timer_10ms_count=0;</div>
<div>ms500=1;</div>
<div>// sec_tim++;</div>
<div>}</div>
<div>else</div>
<div>{</div>
<div>g_timer_10ms_count++; // 每 10ms 加 1</div>
<div>}</div>
<div> </div>
<div>if(u1_rec_ok_time)</div>
<div>{</div>
<div> </div>
<div>if(u1_rec_ok_time==1)</div>
<div>{</div>
<div>Rxd1Start_rx_flag=RXOK; </div>
<div>Rxd1RxCounter=0;</div>
<div>}</div>
<div>u1_rec_ok_time--;</div>
<div> </div>
<div>}</div>
<div> </div>
<div> // 在这里执行你的定时任务</div>
<div> // 注意:中断中不要做耗时操作!</div>
<div> }</div>
<div>}</div>
<div>串口接收:</div>
<div>接收pm2.5模块实时数据</div>
<div>
<div>void g_uart0_Callback(uart_callback_args_t *p_args)</div>
<div>{</div>
<div> </div>
<div> switch (p_args->event)</div>
<div> {</div>
<div> /* Received a character */</div>
<div> case UART_EVENT_RX_CHAR:</div>
<div> {</div>
<div> </div>
<div>if(Rxd1RxCounter;</div>
<div>}</div>
<div>else</div>
<div>{</div>
<div>Rxd1RxCounter=0;</div>
<div>}</div>
<div>u1_rec_ok_time=10;</div>
<div> break;</div>
<div> }</div>
<div> /* Receive complete */</div>
<div> case UART_EVENT_RX_COMPLETE:</div>
<div> {</div>
<div> g_receive_complete = 1;</div>
<div> break;</div>
<div> }</div>
<div> /* Transmit complete */</div>
<div> case UART_EVENT_TX_COMPLETE:</div>
<div> {</div>
<div> uart_send_complete_flag = true;</div>
<div> break;</div>
<div> }</div>
<div> default:</div>
<div> {</div>
<div> }</div>
<div> }</div>
<div> // 可选:处理接收完成等其他事件</div>
<div>}</div>
<div> </div>
<div>数据处理:</div>
<div>处理pm2.5数据,因为收到的不是实际的参数值</div>
<div>
<div> </div>
<div><img src="//image.lceda.cn/pullimage/fOMx7Ty5hCdk8rp09Yb2h7HNCDETjq1ajE69CUmN.png" alt="fOMx7Ty5hCdk8rp09Yb2h7HNCDETjq1ajE69CUmN.png"></div>
</div>
</div>
</div>
<p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">注:若您的项目涉及软件开发,请在附件上传对应的工程源码。这里可以详细说明您的软件流程图、功能模块框图、相关算法的解释或科普、源码结构、编译环境的搭建和配置、源码编译方法、程序烧录方法等。推荐图文并茂的形式向别人介绍您的想法。</span></p>
<p style="line-height:1.8;"> </p>
<h3 style="line-height:1.8;">*6、BOM清单</h3>
<hr>
<p style="line-height:1.8;">瑞萨RA4M2开发板</p>
<p style="line-height:1.8;">OLED</p>
<p style="line-height:1.8;"> LED</p>
<p style="line-height:1.8;">LDO</p>
<p style="line-height:1.8;">PM2.5传感器</p>
<p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">注:项目涉及的BOM清单。在<span style="text-decoration:underline;"><a href="https://lceda.cn/editor" target="_blank">嘉立创EDA</a> </span>生成/上传设计文件后,BOM将自动生成至项目详情;建议包括型号、品牌、名称、封装、采购渠道、用途等内容。具体内容和形式应以表达清楚项目构成为准。 </span></p>
<p style="line-height:1.8;"> </p>
<h3 style="line-height:1.8;">*7、大赛LOGO验证</h3>
<hr>
<p style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/4FUIleM8G40toQ8qfxJbu53ZnCNMIVXAaPjMHxWF.png" alt="4FUIleM8G40toQ8qfxJbu53ZnCNMIVXAaPjMHxWF.png"></p>
<p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">请上传包含大赛logo的项目图片,logo以丝印形式印刷在PCB上面。</span></p>
<p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">点击zip下载大赛logo标识! <span style="text-decoration:underline;"><a href="https://image.lceda.cn/easyedaResource/images/d1bbfd69f9404f56901a0e7b849b7245.rar" target="_blank">(大赛标识).zip</a></span></span></p>
<p style="line-height:1.8;"> </p>
<h3 style="line-height:1.8;">* 8、演示您的项目并录制成视频上传</h3>
<hr>
<p style="line-height:1.8;">见附件</p>
<p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">视频要求:请横屏拍摄,分辨率不低于1280×720,格式Mp4/Mov,单个视频大小限100M内;</span></p>
<p style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">视频标题:立创电赛:{项目名称}-{视频模块名称};如立创电赛:《自动驾驶》-团队介绍。</span></p>
<p style="line-height:1.8;"> </p>
<p style="line-height:1.8;"><span style="font-size:14px;"><a href="/posts/42551e8f2f2548cabc1c36626a42da94" target="_blank">前往查看更多详情 ></a></span></p>
<p style="line-height:1.8;"> </p>
</div>
评论(1)