赞
踩
项目目标:
- 使用GEC6818(ARM开发板)以及Linux操作系统来设计一个可以实现动感相册/监控/音乐播放器功能且UI友好,人机交互性高的智能家居系统。
本项目将使用C语言编写,由一个main函数以及若干子函数,子函数头文件,以及若干个库一起编写而成。
程序设计逻辑
既然设计目标是UI友好,人机交互性高的智能家居系统,那么UI方面也要下足功夫设计。
主题:
登陆界面:
主菜单:
音乐播放器界面:
相册界面:
摄像头界面:
由自己设计的开机动画为前提,设计所有的菜单界面,以保持人机界面的科技感/统一感。菜单按钮使用了拟物化的风格,从而缩小使用的学习成本,让整个系统充满着科技感的同时且容易使用,交互简单。
使用GEC6818开发板,该开发板使用ARM-CortexA53八核处理器,搭载了一块800*480分辨率的屏幕,自带电源串口/调试串口/USB
OTG接口/音频接口等需要用到的I/O。
- 本项目全部使用C语言编写,C语言编写后用交叉编译的方式,在电脑端用虚拟机Vmware中的Ubantu12.04系统的Termianl编译。
(其实就是交叉编译…)
#include "lcd.h" #include "touch.h" #include "jpg.h" #include "camera.h" /* 1901532117 杨锦鹏 Main函数代码 */ int x,y; int ts_fd; struct LcdDev * lcd; char buf[20] = {0}; //不断获取触摸屏坐标 void * thread1_fun(void * arg) { while(1) { get_xy(&x,&y,ts_fd); x = x / 1024 * 800; y = y / 600 * 480; } } //不断获取摄像头图像 void * thread2_fun(void * arg) { while(1) { camera_get_image(); } } int main() { int i=0;//开机动画变量i //1.打开LCD lcd = lcd_init(LCD_PATH); printf("Open Lcd Device Normal\n"); //2.打开触摸屏 ts_fd = Touch_Init(TOUCH_SCREEN_PATH); printf("Open Touch Screen Normal\n"); //4.创建两条线程 pthread_t thread1,thread2; pthread_create(&thread1,NULL,thread1_fun,NULL); pthread_create(&thread2,NULL,thread2_fun,NULL); for(i=0;i<=144;i++)//1.开机动画 { sprintf(buf,"./gif/Frame%d.jpg",i);//按顺序打印所有jpg图片,组成开机动画 show_jpg(lcd,0,0,buf);//调用JPG库 usleep(500);//图片显示速度为0.5秒 } //5.显示登陆界面 login(); }
如需要完整项目代码/笔记/项目报告,请站内信给我。我会发给大家完整的项目源代码。-Mriese
2021年5月3日23点43分
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。