当前位置:首页 > 消费电子 > 消费电子
[导读] 当胶卷退出我们普通人的生活之后,拍摄-冲洗胶卷-扩印照片的经典流程也渐渐从我们身边消失。取而代之的是,大量的数码相机用户群和种类繁多的各种存储介质。数码相框则是目前回放这些照片的最好途径,作为浏览数字照

 当胶卷退出我们普通人的生活之后,拍摄-冲洗胶卷-扩印照片的经典流程也渐渐从我们身边消失。取而代之的是,大量的数码相机用户群和种类繁多的各种存储介质。数码相框则是目前回放这些照片的最好途径,作为浏览数字照片的核心产品,数码相框正迎合了消费者的需求。

1 系统需求分析

许多人不明白数码相框的魅力到底在哪里。时下拍摄的数码相片开始呈现出了几何级数的增长,要想再把这些相片都冲印出来回味、欣赏,浪费大量金钱不说,传统的相框、相册也无法再承担起保存的重任。数码相框将彻底解放那些积压下来的数码相片,让你人生中值得记忆的每一个瞬间从此不再被埋没在硬盘里面。数码相框可以用来美化家居,构造精致生活享受。分享快乐、展示成功;带给父母,缓解思念;或者带入办公室,消解工作压力。

而和传统的相框相比,数码相框也具备了很多的优势。数码相框采用了普通相框的外形,而且更为精致,用液晶显示屏来显示照片,配上电源、存储介质等,使多张相片能够在显示屏上循环播放,有的数码相框还增加了MP3和MP4等多媒体娱乐功能,比普通相框的单一功能更有优势。

作为消费类电子产品,数码相框必须考虑以下几个方面的功能:

1)用户界面及接口友好,操作简便。作为一个消费类电子产品,它的客户是多样化的,其中大部分都是非专业化的,甚至是老人或者是小孩,操作是否人性化、简洁化,成为能否让用户迅速接受产品的重要因素。

2)系统兼容性强,数码相框应该能够识别和处理当前数码相机拍摄图像格式,能够访问主流的半导体存储外设。

3)存储可靠,作为存储设备,必须通过严格的功能测试,以保证用户在使用过程中不丢失信息。

鉴于此,数码相框产品的主要功能应包括以下方面:

1)支持主流半导体存储卡,能从中读取图像文件。

2)在LCD屏中全屏循环显示多幅图像文件,支持各种主流格式。

3)显示时间和日期

4)可通过按钮或触摸屏进行操作。

2 系统总体设计

基于Linux下使用Qt编写的数码相框架构设计方案通过使用纯C++语言开发来支持嵌入式Linux系统,采用Qt/Eembedded作为GUI来提供强大的用户界面,设计位于Linux用户空间的目的是为了系统移植性。

本项目的系统架构由以下几个层次组成:

1)底层硬件。本设计采用凌阳的A8实验箱为三星S5PV210。

2)驱动程序

3)操作系统。一台装有Ubuntu系统或装有Ubuntu虚拟机的PC机。

4)Qt应用程序

本项目所设计的数码相框主要采用Qt为主的程序设计方案,配合A8实验箱就做成了一款数码相框。数码相框在初始化时会扫描指定目录下的所有支持的图片文件,用户可以通过按钮实现前翻或者后翻,并且可以进行放大和缩小的操作。

3 实现数码相框项目流程

首先搭建系统,其中包括PC平台Linux虚拟机环境建立、ARM平台Linux系统搭建。使用Qt编程实现。常见的Qt应用程序的开发有两种方式:

第一种使用文本编辑器编写C++代码,然后在命令行下生成工程并编译;

第二种使用QtCreator编写C++代码,并为Qt Creator安装Qt Embedded SDK,然后利用Qt Creator编译程序。由于Qt Creator具有良好的可视化操作界面,同时它包含了一个功能非常强大的C++代码编辑器,所以第二种方法是我们的首选。

1)在Qt中,点击菜单栏File/New File or Project,新建文件类型为Qt C++Project/Qt Gui Application。在接下来的Qt Gui Applic ation对话框中输入工程名称QtImage和保存路径。

所创建的数码相册项目工程如图1所示。

以下是数码相框的主程序,主要实现的功能是在界面上显示widget控件。

Ui显示界面如图2所示。

通过点击左上角的缩小控制按钮,图片显示如图3所示。

通过点击左上角的翻页控制按钮,显示下一个图片如图4所示。

2)实验箱平台显示

通常的嵌入式系统的软件开发采用交叉编译调试的方式。交叉编译调试环境建立在宿主机上,对应的开发板成为目标板,本项目使用为凌阳的A8实验箱为三星S5PV210,其为ARM A8架构的处理器。GNU编译器提供这样的功能,在编译器编译时可以选择开发所需的宿主机和目标机从而建立开发环境。所以在进行嵌入式开发前第一步的工作就是要安装一台装有指定操作系统的PC机作宿主开发机。嵌入式开发通常要求宿主机配置有网络,支持NFS(为交叉开发时mount所用)。然后要在宿主机上建立交叉编译调试的开发环境。

接下来编译用于实验箱运行的Qt应用程序,首先将实验箱的串口和网线连接到PC机。

执行Qt Creator的Build/Clean All,清理之前生产的编译文件,防止编译嵌入式版本的程序出错。单击左下角所示的图标,会弹出编译选择框。点击“Build”右侧的下拉列表,在弹出的四种编译类型中,选择“Qt for A8 Release”。点击“Build AIl”按钮,即可开始编译实验箱运行的版本,直到编译选择按钮上方的进度条变成绿色,即表示编译完成。并在工程的保存目录下,可以找到一个名为“QtImage-build-desktop”的文件夹,如图5所示。编译生成的可执行程序即在此文件夹中。

将QtImage-build-desktop文件夹中的QtImage文件复制到Windows下,并按照前述中下载程序的方法,将QtImage下载到实验箱;在超级终端中,利用chmod 777 QtImage为QtImage添加可执行权限,并运行它。操作如图6所示。

在实验箱上使用触摸屏即可对应用程序进行操作。

4 结束语

随着嵌入式系统的飞速发展,其应用已经渗透到人们生活的每一个领域。大到军事领域,小到小朋友的玩具,它正在以不同的形式悄悄地改变着人们的生产、生活方式。已经成为当今计算机领域的一个热点,因此开发和探讨嵌入式系统有着十分重要的意义。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭