原创声明:该设计来自机智云,设计资料仅供参考,不可以用于商业用途。 什么是LiFi? LiFi就是利用可见光实现无线通信和上网,通过LED灯发出人眼不可见的快速闪烁的光线来实现信息(0和1的二进制数据)的传输。相对于传统的WiFi,LiFi有如下优点(下面都是我自己总结的,请大家补充指正): 1、可见光频段的带宽大,上网速度秒杀WiFi。这个也是LiFi应用的最主要优点,如下图是半年前的一篇央视新闻: 2、在部分应用场景下,LiFi相对WiFi更适合。比如飞机上WiFi的会干扰电子设备。在海里由于海水是良导体,射频信号会迅速衰减,而用可见光的话就会避免这些问题。 3、LiFi的保密性更好,光线照不到的地方自然不会泄密。 4、在LED灯泡的大力普及下,LiFi的铺设相对容易。LiFi的优点还有很多。在未来的十年到二十年会是一个巨大的商业点。 演示一下我做的一套最简单的LiFi系统Demo: 设计思路: 1、系统的目标是用可见光的方式实现简单的局域组网,进而实现文字通信,类似一个“QQ聊天”的功能。 2、系统设计有一个服务器(用于数据接收与转发)和三个客户端(作为通信的基本单位,设为1号、2号、3号)。 3、系统的最终功能是,1、2、3号中的某一个客户端可以与其他任何一个客户端进行文字通信,也可以群发。 4、系统使用了ESP8266 WiFi模块,之所以要用它,是因为在可见光通信中,可见光一般仅仅作为数据下载时使用,而不在数据上传时使用。想象一下使用LiFi上网的情景,在数据下载时手机或电脑可以接收头顶LED灯发出的光线,但是在数据上传时,手机和电脑也要发出光线的话就不合适了,因为会晃闪人眼。所以,数据上传一般采用传统的WiFi或者是红外通信方式,在本系统中,我们采用的是基于ESP8266模块WiFi上传方式。 5、根据以上描述,我们对本系统的框架大致有了比较清晰的认识了,它的工作流程是: 假设1号client想要给3号client发消息,首先1号client先把消息通过WiFi发送给server,同样需要发给server的还有自身ID和目标ID。server收到1号client发来的信息之后,将信息进行编码与调制,然后通过驱动电路把信息用可见光的方式发射出来。3号client通过光电传感器采集到光信号之后,读取到信息的目的ID与自身ID相符合,则接收信息然后做后续处理。 系统的框图如下: 整个系统安装使用示意图如下: 整个设计实验板截图: 编程调试 整个系统大约可以分为ABC三个功能模块: A:client和server与PC的接口部分: 这部分就是简单的串口通信,PC端用串口调试助手就可与系统通信了。 B:WiFi通信部分: 这部分功能代码其实ESP8266在AP模式下实现client和server的WiFi通信的驱动。 C:光通信部分: 通信部分主要用OOK方式实现信号的调制解调,在硬件驱动稳定工作前提下不难实现。
2021-08-09 21:17:14 2.49MB esp8266通信源码 电路方案
1
这个源码很详细,代码清晰 这个源码很详细,代码清晰 这个源码很详细,代码清晰v 这个源码很详细,代码清晰
1
linux内建链表源码与说明
2021-07-23 20:00:48 125KB 嵌入式 linux
1
本设计分享的是基于瑞萨单片机设计的家用燃气灶控制板,采用MCURL78/G11为核心器件。RL78/G11通过A/D模块、定时器模块、时钟输出电路等功能,实现天然气浓度检测、 脉冲点火、点火反馈、防干烧、报警等功能。当发生任何一项安全问题,都会关闭电磁阀并使用蜂鸣器进行报警。该家用节能/安全燃气灶控制板灶采用1 节9V 干电池供电,电量充足,可用时间长;微动开关轻按即可进行燃气灶点火;高压脉冲点火可以更快的点燃燃气;气体检测装置对于燃气泄漏进行有效的报警提示,提高安全性;火焰温度检测(热电偶温度反馈)可以实时获得火焰温度,避免扑溢现象造成的熄火;防干烧保护装置可以有效避免危险的发生及燃气的浪费。家用节能/安全燃气灶控制板系统电路设计框图: 燃气灶控制板电路正面: 家用节能/安全燃气灶控制板电路 PCB截图:
2021-07-14 21:42:12 3.7MB 瑞萨 rl78 电路方案
1
ArcGIS_Engine_C#实例开发教程的 ArcGIS 10.2 + VS2012的无保留实现版本,方便AO开发的同学学习,吐血推荐,3天的成果。 第一讲 桌面GIS应用程序框架的建立 第二讲 菜单的添加及其实现 第三讲 MapControl与PageLayoutControl同步 第四讲 状态栏信息的添加与实现 第五讲 鹰眼的实现 第六讲 右键菜单添加与实现 教程Bug及优化方案 1 第七讲 图层符号选择器的实现 1 第七讲 图层符号选择器的实现 2 第八讲 属性数据表的查询显示
2021-07-13 10:51:44 3.23MB GIS AE开发
1
linux系统下USB键盘驱动源码+使用文档说明 如何编写Linux下的USB键盘驱动 1. 指定USB键盘驱动所需的头文件: #include /*内核头文件,含有内核一些常用函数的原型定义*/ #include /*定义内存分配的一些函数*/ #include /*模块编译必须的头文件*/ #include /*输入设备相关函数的头文件*/ #include /*linux初始化模块函数定义*/ #include /*USB设备相关函数定义*/ 2. 定义键盘码表数组: /*使用第一套键盘扫描码表:A-1E;B-30;C-2E…*/ static unsigned char usb_kbd_keycode[256] = { 0, 0, 0, 0, 30, 48, 46, 32, 18, 33, 34, 35, 23, 36, 37, 38, 50, 49, 24, 25, 16, 19, 31, 20, 22, 47, 17, 45, 21, 44, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 28, 1, 14, 15, 57, 12, 13, 26, 27, 43, 43, 39, 40, 41, 51, 52, 53, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 87, 88, 99, 70,119,110,102,104,111,107,109,106, 105,108,103, 69, 98, 55, 74, 78, 96, 79, 80, 81, 75, 76, 77, 71, 72, 73, 82, 83, 86,127,116,117,183,184,185,186,187,188,189,190, 191,192,193,194,134,138,130,132,128,129,131,137,133,135,136,113, 115,114, 0, 0, 0,121, 0, 89, 93,124, 92, 94, 95, 0, 0, 0, 122,123, 90, 91, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 42, 56,125, 97, 54,100,126,164,166,165,163,161,115,114,113, 150,158,159,128,136,177,178,176,142,152,173,140 }; 3. 编写设备ID表: static struct usb_device_id usb_kbd_id_table [] = { { USB_INTERFACE_INFO(3, 1, 1) },/*3,1,1分别表示接口类,接口子类,接口协议;3,1,1为键盘接口类;鼠标为3,1,2*/ { } /* Terminating entry */ }; MODULE_DEVICE_TABLE (usb, usb_kbd_id_table);/*指定设备ID表*/ 4. 定义USB键盘结构体: struct usb_kbd { struct input_dev *dev; /*定义一个输入设备*/ struct usb_device *usbdev;/*定义一个usb设备*/ unsigned char old[8]; /*按键离开时所用之数据缓冲区*/ struct urb *irq/*usb键盘之中断请求块*/, *led/*usb键盘之指示灯请求块*/; unsigned char newleds;/*目标指定灯状态*/ char name[128];/*存放厂商名字及产品名字*/ char phys[64]
前言: 这个得从上一年我要做一个带有菜单的项目说起,一开始听说要做个带有菜单的项目,不知从何下手。后来看到了《一个占用内存极少的菜单系统的实现》,研究了这个菜单的代码结构并参照这个菜单的内核,自己写了个菜单代码。也就从这里开始,自己理解了菜单是一个怎样的东西。 当我把这个写好的菜单用到我的系统上,我注意到了有几个地方要改进。第一:菜单的移植性;第二:菜单的修改维护;第三:菜单项目的扩展功能(使用灵活性)。 附件内容代码是我参照《一个占用内存极少的菜单系统的实现》写的,在可移植性上我还是做了些改进,你留心一下会发现不同的菜单层UP与DOWN的代码是一样的,移植和维护都不用动这一部分的代码。这里主要就是菜单层之间的切换比较麻烦。 本人写的菜单代码部分截图(完整代码见附件内容): 以下是我从项目里整理出来的原创菜单源码(需要的到附件内容下载) 我的特点是以菜单节点为对象而组建的一个菜单体,每层菜单最大支持99菜单 原创菜单源码部分截图: 说明: 这个菜单代码是在老板要求做一个小的手持终端设备,在我对菜单原有的理解和结合新的需要而设计出来的,也是从少少的几代码一步一步添加和调试完善起来的,我这次从这个项目里整理这个菜单代码出来,功能不是很完善,但我觉得这个菜单的内核结构是比较好的。
1
51单片机入门教程30课软件工程源码+文档说明 51单片机入门例程TXT 第01课,了解单片机及单片机的控制原理和DX516的用法,控制一个L 第02课,用指令方式延时闪烁LED灯 第03课,跑马灯试验 第04课,读IO,用按钮控制点灯 第05课,标记的用法,用一个按键控制1个LED灯的亮灭 第06课,用定时器中断闪灯,定时器中断的学习 第07课,精确定时1秒钟闪灯 第08课,定时器中断跑马灯 第09课,自动变速的跑马灯试验 第10课,4个按键4级变速的跑马灯试验 第11课,一个按键控制的10级变速跑马灯试验 第12课,可编程自动控制跑马灯 第13课,用外中断方式读按键,控制灯的亮灭 第14课,模拟PWM输出控制灯的10个亮度级别 第15课,写一个字节到24c02中 第16课,读一个24c02字节,读出上一课写入的字节来验证 第17课,写入按键次数到24c02,并读出来显示在4个LED上 第18课,嘀声报警信号输出试验 第19课,嘀嘀嘀间断声光报警信号试验 第20课,变频声救护车报警信号输出试验 第21课,按键音试验 第22课,音阶声音输出试验 第23课,按键控制音阶声音输出(电子琴) 第24课,单个按键控制多个音阶声音输出 第25课,乐谱方式输入的音乐播放 第26课,亮灯倒计时10秒,开始播放音乐 第27课,三个按键选择三首不同的音乐播放 第28课,一个按键选择播放六首音乐 第29课,本课试验写老鼠爱大米的乐谱到24c02中 第30课,从24c02中读出音乐来并播放音乐
微软文字转语音C#源码及说明.内有详细的设置方法,及C#的调用源码示例。
2021-06-28 12:40:51 1.5MB 中文TTS 语音 c#源码
1
本文档介绍的是一款基于瑞萨单片机R7F0C807的超声波清洗机控制板设计。超声波清洗机控制板以换能器板提供的5V 直流电压作为电源,依据按键状态控制换能器开合以及选择清洗时间(五档可选),利用内部计时器按秒倒计时,并将剩余的清洗时间(以秒计量)显示在LED 上。超声波清洗机利用超声波在液体中的“空洞现象”,使液体中产生细微真空气泡,通过真空气泡爆破释放存储在气泡中的能量,释放高温或高压将物件表面的油脂或污垢剥离,从而达到精密洗净的目的。由于清洗效果好,操作简单,特别是对盲孔和各种几何形状的物体有很大的优势,广泛应用于各个领域。 超声波清洗机控制板实物截图: 超声波清洗机控制板原理框图: 超声波清洗机清洗状态 超声波清洗过程中,LED 显示剩余清洗时间,按秒递减直至为0,红色LED 点亮指示换能器处于闭合状态 超声波清洗机停止状态 超声波清洗机停止状态下,LED 显示剩余清洗时间,红色LED 熄灭指示换能器处于断开状态。
2021-06-18 15:37:31 2.03MB 瑞萨 超声波清洗机 电路方案
1