无线RGB小夜灯实习报告.docx
- 文档编号:5857491
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:18
- 大小:183.21KB
无线RGB小夜灯实习报告.docx
《无线RGB小夜灯实习报告.docx》由会员分享,可在线阅读,更多相关《无线RGB小夜灯实习报告.docx(18页珍藏版)》请在冰豆网上搜索。
无线RGB小夜灯实习报告
机电学院电子信息工程系
电
子
工
程
实
习
报
告
学生姓名:
班级:
学号:
实习地点:
一、无线RGB小夜灯实验设计:
········3
实验提纲 ·········································3
二、硬件设计:
···································4
1、焊接任务········································4
2、调试任务········································4
3、实验验收········································5
4、获取实验数据··································5
附录
三、报告总结:
··························18
1、问题反馈······································19
2、建议 ·····································19
一、无线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源代码进行优化。
选做。
自行优化,实现扩展创新功能。
如实现对接入SENSORHUB板的多个LED模块的流水效果控制。
实习报告撰写:
按照实习报告统一格式撰写。
二、硬件设计:
1、设计目的:
焊接制好的最小系统电路板
2、设计内容:
实现对单片机最小系统开发板与JTAG程序下载线的焊接,保证硬件焊接无误。
3、设计工具:
电烙铁,吸锡器,焊锡丝,镊子,钳子,万用表,电脑
4、负责老师:
陈分雄、杨勇
二、1焊接任务:
ColorLEDBoard焊接
时间:
12月21日-12月23日
地点:
信息楼401
目的:
学习焊接掌握电烙铁的使用
完成ColorLEDBoard焊接
内容:
学习焊接方法,观瞧视频,
先练习焊接,在废旧电路板上焊接
领取实验材料对比实验样范
进行焊接老师指导验收
SensorHUB焊接
时间:
12月24日-12月25日
地点:
信息楼401
目的:
完成SensorHUB焊接
内容:
练习焊接
领取实验材料
对比实验样范
进行焊接老师指导验收
程序下载
STM32_BASE Board焊接
时间:
12月28日-12月29日
地点:
目的;完成STM32_BASE Board焊接
内容:
领取实验材料对比实验样范
进行焊接老师指导验收
交给老师焊接芯片
二丶2调试任务
时间:
12月29日-1月2日
地点:
目的:
完成无线RGB小夜灯的调试
内容:
将各个板块进行组合
下载相应检测软件
进行调试,用万用表检测电路就是否正确
用手机进行WIFI控制RGB小夜灯
二丶3实验验收
时间:
1月2日
目的:
实验验收
内容:
交与老师检测验收
二丶4获取实验数据
时间:
1月2-3日
目的;获取实验数据
内容:
使用万用表检测32板
与WiFiboard板
的有效输入个输出
使用手机进行通信距离测试
附录1STM32—BASE程序
/*Includes------------------------------------------------------------------*/
#include"stm32f10x、h"
#include"platform_config、h"
#include"stm32f10x_usart、h"
#include"misc、h"
#include"stm32f1_delay、h"
#include"ws2812b、h"
/*Privatetypedef-----------------------------------------------------------*/
typedefenum{FAILED=0,PASSED=!
FAILED}TestStatus;
/*Privatedefine------------------------------------------------------------*/
/*Privatemacro-------------------------------------------------------------*/
/*Privatevariables---------------------------------------------------------*/
externuint8_tRXFRMOK;//Ö¡½ÓÊÕ±êÖ¾
externuint8_tRXAAOK;//Ö¡Æðʼ±êÖ¾
externuint8_tReceiveBuf0[ReceiveMaxLength];//½ÓÊÕ»º³åÇø
USART_InitTypeDefUSART_InitStructure;
GPIO_InitTypeDefGPIO_InitStructure;
voidRCC_Configuration(void);
voidGPIO_Configuration(void);
voidNVIC_Configuration(void);
voidDelay(__IOuint32_tnCount);
voidUSART_OUT(USART_TypeDef*USARTx,uint8_t*Data,uint16_tLen);
intmain(void)
{
uint16_ti,index;
uint8_tDATA_HEADER[4];
uint8_tDATA_DEV[4];
uint8_tDATA_R;
uint8_tDATA_G;
uint8_tDATA_B;
/*SystemClocksConfiguration**********************************************/
RCC_Configuration();
GPIO_Configuration();
NVIC_Configuration();
HAL_InitTick();
Timer4_init();
/*USARTconfiguration------------------------------------------------------*/
/*USART2configuredasfollow:
-BaudRate=115200baud
-WordLength=8Bits
-OneStopBit
-Noparity
-Hardwareflowcontroldisabled(RTSandCTSsignals)
-Receiveandtransmitenabled
*/
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;
/*ConfigureUSART2*/
USART_Init(USART2,&USART_InitStructure);
/*EnableUSART2ReceiveandTransmitinterrupts*/
USART_ITConfig(USART2,USART_IT_RXNE,ENABLE);
USART_ITConfig(USART2,USART_IT_TXE,ENABLE);
/*EnabletheUSART2*/
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;i<5;i++)//HEADER
{
DATA_HEADER[index++]=ReceiveBuf0[i];
}
DATA_HEADER[3]='\0';
index=0;
for(i=7;i<10;i++)//RGB
{
DATA_DEV[index++]=ReceiveBuf0[i];
}
DATA_DEV[3]='\0';
index=0;
//DATA
DATA_R=((uint8_t)(ReceiveBuf0[15]-0x30))*100+((uint8_t)(ReceiveBuf0[16]-0x30))*10+(uint8_t)(ReceiveBuf0[17]-0x30);
DATA_G=((uint8_t)(ReceiveBuf0[23]-0x30))*100+((uint8_t)(ReceiveBuf0[24]-0x30))*10+(uint8_t)(ReceiveBuf0[25]-0x30);
DATA_B=((uint8_t)(ReceiveBuf0[31]-0x30))*100+((uint8_t)(ReceiveBuf0[32]-0x30))*10+(uint8_t)(ReceiveBuf0[33]-0x30);
if(strcmp(DATA_HEADER,"put")==0&&strcmp(DATA_DEV,"RGB")==0)//devisOK?
{
WS2812_send(DATA_R,DATA_G,DATA_B);
}
delay_ms(100);
USART_OUT(USART2,"ok",2);//Return
RXFRMOK=0;
RXAAOK=0;
}
///*TurnoffLD1*/
//GPIO_SetBits(GPIOA,GPIO_Pin_8);
///*Insertdelay*/
//delay_ms(100);
///*TurnonLD1*/
//GPIO_ResetBits(GPIOA,GPIO_Pin_8);
//
///*Insertdelay*/
//delay_ms(100);
}
}
voidRCC_Configuration(void)
{
/*Setupthemicrocontrollersystem、InitializetheEmbeddedFlashInterface,
initializethePLLandupdatetheSystemFrequencyvariable、*/
SystemInit();
//
/*ConfigureallunusedGPIOportpinsinAnalogInputmode(floatinginput
triggerOFF),thiswillreducethepowerconsumptionandincreasethedevice
immunityagainstEMI/EMC*************************************************/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|
RCC_APB2Periph_GPIOC,ENABLE);
/*EnableUSART2clock*/
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2,ENABLE);
}
voidGPIO_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;//USART2TX
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;//USART2RX
GPIO_InitStructure、GPIO_Mode=GPIO_Mode_IN_FLOATING;//¸´ÓÿªÂ©ÊäÈë
GPIO_InitStructure、GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&GPIO_InitStructure);
}
/**
*@briefConfiguresthenestedvectoredinterruptcontroller、
*@paramNone
*@retval:
None
*/
voidNVIC_Configuration(void)
{
NVIC_InitTypeDefNVIC_InitStructure;
/*ConfiguretheNVICPreemptionPriorityBits*/
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
/*EnabletheUSART2Interrupt*/
NVIC_InitStructure、NVIC_IRQChannel=USART2_IRQn;
NVIC_InitStructure、NVIC_IRQChannelSubPriority=0;
NVIC_InitStructure、NVIC_IRQChannelCmd=ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
voidUSART_OUT(USART_TypeDef*USARTx,uint8_t*Data,uint16_tLen)
{
uint16_ti;
for(i=0;i { USART_SendData(USARTx,Data[i]); while(USART_GetFlagStatus(USARTx,USART_FLAG_TC)==RESET); } } #ifdefUSE_FULL_ASSERT /** *@briefReportsthenameofthesourcethesourcelinenumber *wheretheassert_paramerrorhasoccurred、 *@paramfile: pointertothesource *@paramline: assert_paramerrorlinesourcenumber *@retval: None */ voidassert_failed(uint8_t*file,uint32_tline) { /*Usercanaddhisownimplementationtoreporttheandlinenumber, ex: printf("Wrongparametersvalue: online%d\r\n",file,line)*/ /*Infiniteloop*/ while (1) { } } #endif /*******************(C)COPYRIGHT2009STMicroelectronics*****ENDOFFILE****/ 附录2原理图及相关引脚图 附录3实验样范 三,实验总结 通过多天的实习我已较为熟练的掌握了焊接电路板,充分的认识到了电子工程实习的困难与较多的问题,其中程序与硬件的交汇为我们的生活带来许多便利。 通过实习我多该课程有了更深的理解与认识 问题反馈及建议: 实验中出现了焊接问题,有漏焊,少焊,以及焊反的问题,往往都就是验收时才知道出现了问题,这就要求学生能认真仔细参考范例进行焊接,其次就就是焊接正确但程序调试有问题,这就需要老师的指导了。 建议: 多点老师来监督指导,有很多完成了但到老师那检测很难,其次就就是希望多些实验材料,以免焊错后无力补救 指导老师评语: 成绩评定: 指导老师(签字): 注: 成绩评定分为优、良、中、及格与不及格五个等级
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 无线 RGB 小夜灯 实习 报告