无线RGB小夜灯实习报告.doc_第1页
无线RGB小夜灯实习报告.doc_第2页
无线RGB小夜灯实习报告.doc_第3页
无线RGB小夜灯实习报告.doc_第4页
无线RGB小夜灯实习报告.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

机电学院电子信息工程系电子工程实习报告学生姓名: 班 级: 学 号: 实习地点: 目 录 一、无线RGB小夜灯实验设计:实验提纲二、硬件设计:1.焊接任务2.调试任务3.实验验收.获取实验数据附录三、报告总结:1.问题反馈2.建议一、无线RGB小夜灯实验设计:实验提纲:WIFI控制的RGB小夜灯功能描述:能够在安卓手机端设置RGB颜色,并通过WIFI控制小夜灯调色调亮。焊接任务:完成MCU最小系统板、WIFI扩展板、传感器HUB、RGB光源LED板的焊接。在双面PCB上焊接直插器件2.54间距接插件,晶振等,焊接贴片器件0805阻容,0805LED,ASM1117-3.3,0805电感,贴片Micro-USB座等调试任务:1、 完成MCU最小系统板中的供电部分测试、用实验电源给MCU板5V电源网络供电,记录STM32芯片输入电压。连续调低MCU板供电电压,记录STM32芯片输入电压为2.0V时对应的实验电源输出电压值。2、 MCU最小系统板烧写测试了解烧写工具,接线方法,记录最小系统板的烧写过程,观察是否烧写成功。3、 WIFI扩展板供电测试用实验电源给WIFI扩展板5V电源网络供电,记录WIFI模块电源两端的输入电压。连续调低WIFI扩展板供电电压,记录WIFI模块输入电压为3.0V时对应的实验电源输出电压值。测试WIFI链接手机时,模块的功耗。4、 RGB光源LED板功能测试观察LED颗粒是否能调色调亮。5、 WIFI扩展板连接与通信距离测试观察扩展板与手机或电脑的连接稳定性,并记录有效的通信距离。6、 系统功耗测试各个模块组装完成后,用实验电源供电,测试整机最大功耗与最小功耗。7、 用纸壳或亚克力等材料自行设计外观。8、 对STM32源代码进行优化。选做。自行优化,实现扩展创新功能。如实现对接入SENSOR HUB板的多个LED模块的流水效果控制。实习报告撰写:按照实习报告统一格式撰写。二、硬件设计:1.设计目的:焊接制好的最小系统电路板2.设计内容:实现对单片机最小系统开发板和JTAG程序下载线的焊接,保证硬件焊接无误。3.设计工具:电烙铁,吸锡器,焊锡丝,镊子,钳子,万用表,电脑4.负责老师:陈分雄、杨勇二、1焊接任务:Color LED Board焊接时间:12月21日-12月23日地点:信息楼401目的:学习焊接 掌握电烙铁的使用 完成Color LED Board焊接内容:学习焊接方法,观看视频, 先练习焊接,在废旧电路板上焊接 领取实验材料 对比实验样范 进行焊接 老师指导验收Sensor HUB 焊接时间:12月24日-12月25日地点:信息楼401目的:完成Sensor HUB焊接内容:练习焊接 领取实验材料 对比实验样范 进行焊接 老师指导验收程序下载焊接时间:12月2日-12月2日地点:目的;完成焊接内容:领取实验材料 对比实验样范 进行焊接 老师指导验收交给老师焊接芯片二丶调试任务时间:月日月日地点:目的:完成无线小夜灯的调试内容:将各个板块进行组合下载相应检测软件进行调试,用万用表检测电路是否正确用手机进行WIFI控制RGB小夜灯二丶实验验收时间:月日目的:实验验收内容:交与老师检测验收二丶获取实验数据时间:月日目的;获取实验数据内容:使用万用表检测板和板的有效输入个输出使用手机进行通信距离测试 附录程序/* Includes -*/#include stm32f10x.h#include platform_config.h#include stm32f10x_usart.h#include misc.h#include stm32f1_delay.h#include ws2812b.h/* Private typedef -*/typedef enum FAILED = 0, PASSED = !FAILED TestStatus;/* Private define -*/* Private macro -*/* Private variables -*/extern uint8_t RXFRMOK; /extern uint8_t RXAAOK; /extern uint8_t ReceiveBuf0ReceiveMaxLength;/USART_InitTypeDef USART_InitStructure;GPIO_InitTypeDef GPIO_InitStructure;void RCC_Configuration(void);void GPIO_Configuration(void);void NVIC_Configuration(void);void Delay(_IO uint32_t nCount);void USART_OUT(USART_TypeDef* USARTx, uint8_t *Data,uint16_t Len);int main(void)uint16_t i,index;uint8_t DATA_HEADER4;uint8_t DATA_DEV4;uint8_t DATA_R;uint8_t DATA_G;uint8_t DATA_B; /* System Clocks Configuration */ RCC_Configuration(); GPIO_Configuration(); NVIC_Configuration();HAL_InitTick();Timer4_init(); /* USART configuration -*/ /* USART2 configured as follow: - BaudRate = 115200 baud - Word Length = 8 Bits - One Stop Bit - No parity - Hardware flow control disabled (RTS and CTS signals) - Receive and transmit enabled */ USART_InitStructure.USART_BaudRate = 115200; USART_InitStructure.USART_WordLength = USART_WordLength_8b; USART_InitStructure.USART_StopBits = USART_StopBits_1; USART_InitStructure.USART_Parity = USART_Parity_No; USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; /* Configure USART2 */ USART_Init(USART2, &USART_InitStructure); /* Enable USART2 Receive and Transmit interrupts */ USART_ITConfig(USART2, USART_IT_RXNE, ENABLE); USART_ITConfig(USART2, USART_IT_TXE, ENABLE); /* Enable the USART2 */ USART_Cmd(USART2, ENABLE);WS2812_testBreath(40); WS2812_testBreath(40); delay_ms(100);WS2812_send(30,30,30); delay_ms(1000);GPIO_ResetBits(GPIOA, GPIO_Pin_8); while (1) if(RXFRMOK = 1) /put:RGB,R:000,G:000,B:000 /USART_OUT(USART2, ReceiveBuf0 ,35);index = 0;for(i=2; i5; i+)/HEADER DATA_HEADERindex+ = ReceiveBuf0i;DATA_HEADER3 = 0;index = 0;for(i=7; i10; i+)/RGBDATA_DEVindex+ = ReceiveBuf0i;DATA_DEV3 = 0;index = 0;/DATADATA_R = (uint8_t)(ReceiveBuf015-0x30)*100 + (uint8_t)(ReceiveBuf016-0x30)*10 + (uint8_t)(ReceiveBuf017-0x30); DATA_G = (uint8_t)(ReceiveBuf023-0x30)*100 + (uint8_t)(ReceiveBuf024-0x30)*10 + (uint8_t)(ReceiveBuf025-0x30); DATA_B = (uint8_t)(ReceiveBuf031-0x30)*100 + (uint8_t)(ReceiveBuf032-0x30)*10 + (uint8_t)(ReceiveBuf033-0x30); if(strcmp(DATA_HEADER,put)=0 & strcmp(DATA_DEV,RGB)=0 )/dev is OK?WS2812_send(DATA_R,DATA_G,DATA_B); delay_ms(100); USART_OUT(USART2, ok, 2);/Return RXFRMOK = 0; RXAAOK = 0;/ /* Turn off LD1 */ GPIO_SetBits(GPIOA, GPIO_Pin_8); / /* Insert delay */ delay_ms(100);/ /* Turn on LD1 */ GPIO_ResetBits(GPIOA, GPIO_Pin_8);/ / /* Insert delay */ delay_ms(100);void RCC_Configuration(void) /* Setup the microcontroller system. Initialize the Embedded Flash Interface, initialize the PLL and update the SystemFrequency variable. */ SystemInit(); / /* Configure all unused GPIO port pins in Analog Input mode (floating input trigger OFF), this will reduce the power consumption and increase the device immunity against EMI/EMC */ RCC_APB2PeriphClockCmd( RCC_APB2Periph_USART1 |RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC, ENABLE); /* Enable USART2 clock */ RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);void GPIO_Configuration(void) GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; /LED GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; /USART2 TX GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; / GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); /A GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3; /USART2 RX GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; / GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure);/* * brief Configures the nested vectored interrupt controller. * param None * retval : None */void NVIC_Configuration(void) NVIC_InitTypeDef NVIC_InitStructure; /* Configure the NVIC Preemption Priority Bits */ NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0); /* Enable the USART2 Interrupt */ NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure);void USART_OUT(USART_TypeDef* USARTx, uint8_t *Data,uint16_t Len) uint16_t i;for(i=0; iLen; i+)USART_SendData(USARTx, Datai);while(USART_GetFlagStatus(USARTx, USART_FLAG_TC)=RESET);#ifdef USE_FULL_ASSERT/* * brief Reports the name of the source file and the source line number * where the assert_param error has occurred. * param file: pointer to the source file name * param line: assert_param e

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论