Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 7025|回复: 39

邴星雪个人贴

[复制链接]

2

主题

27

帖子

149

积分

注册会员

Rank: 2

积分
149
发表于 2022-11-1 17:27:43 | 显示全部楼层 |阅读模式
xxxxxxxxxx
回复

使用道具 举报

374

主题

1167

帖子

3683

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3683
发表于 2022-11-1 17:54:41 | 显示全部楼层
加油,这网名这个性
回复

使用道具 举报

2

主题

27

帖子

149

积分

注册会员

Rank: 2

积分
149
 楼主| 发表于 2022-11-5 22:04:36 | 显示全部楼层
目前学习了pwm波和呼吸灯的制作根据视频学习并失败了,大概理解了思路打算多查询一些资料重新自己写并尝试运行
回复

使用道具 举报

374

主题

1167

帖子

3683

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3683
发表于 2022-11-6 04:59:25 | 显示全部楼层
  1. #include <reg52.h>

  2. sbit LED1 = P3^6;
  3. sbit LED2 = P3^7;

  4. unsigned char x,y;                //这里三个x,y,z 用于控制后面的PWM频率的;
  5. unsigned char z = 10;

  6. void delay(unsigned int a)                        //延迟;
  7. {
  8.         unsigned int i,j;
  9.         while(--a)
  10.         {
  11.                 i = 2;
  12.                 j = 199;
  13.                 while(--i)
  14.                 {
  15.                         while(--j);
  16.                 }
  17.         }
  18. }

  19. void timer0Init()
  20. {
  21.         TMOD = 0x02;                        // 模式 2;
  22.         TH0 = 0xFF;
  23.         TL0 = 0xFF;
  24.         TR0 = 1;                                                //开打内部定时器,1 = Enable, 0 = Disable;
  25.         ET0 = 1;                                                //打开T0中断,1 = Enable, 0 = Disable;
  26.         EA = 1;
  27. }

  28. void rf()                                                //这里,让x值爬上去,再让x值掉下来,给后面中断使用;
  29. {
  30.         for(x=0;x<z;x++)
  31.         {
  32.                 delay(2);
  33.         }
  34.         EA = 0;                                                        //这里起共5行,让灯灭一下,看起来效果好点点。
  35.         LED1 = 1;
  36.         LED2 = 1;
  37.         delay(200);
  38.         EA = 1;
  39.         for(x=z;x>0;x--)
  40.         {
  41.                 delay(2);
  42.         }
  43.         delay(10);
  44. }

  45. void main()
  46. {
  47.         timer0Init();
  48.         delay(10);
  49.         while(1)
  50.         {
  51.                 rf();
  52.         }
  53. }

  54. void timer0() interrupt 1
  55. {
  56.         y++;
  57.         if(y<=x){LED1 = 1;LED2 = 1;}
  58.         else{LED1 = 0;LED2 = 0;y = 0;}
  59. }
复制代码
回复

使用道具 举报

374

主题

1167

帖子

3683

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3683
发表于 2022-11-6 06:47:23 来自手机 | 显示全部楼层
星雪,呼吸灯大概需要几个阶段,明白原理,调试程序。
回复

使用道具 举报

374

主题

1167

帖子

3683

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3683
发表于 2022-11-6 07:23:59 | 显示全部楼层
原理:首先明白LED怎么控制亮度的,一个是直接控制通过的电流,二是控制亮的时间,并且进行高频闪烁,人眼对于24hz以上的闪烁基本没有感觉的
第一个方法,控制电流的问题在于需要额外的器件来控制加载LED两端的电压(DA转换模块),另外LED 电压电流曲线是指数型的,如果电压驱动非常不稳定(百度搜索LED特性曲线);
第二个方法是目前用的方法,给LED一个固定的电压,但是这个电压是时开时断,就是所谓的PWM(pulse脉冲,width宽度,modulation调制),控制一个周期内灯开的时间,就可以让灯看起来亮度变化(实际在灯亮度没变,只是在闪烁)。
回复

使用道具 举报

374

主题

1167

帖子

3683

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3683
发表于 2022-11-6 07:27:04 | 显示全部楼层
知道了原理,就要知道怎么实现脉宽可调的方波,具体需要定义1. 灯一个闪烁周期的长度(上述程序的z)2.一个周期内灯亮的时间(上述程序中的x),并且这个变量是逐渐变大再变小,实现灯的变亮再变暗
回复

使用道具 举报

374

主题

1167

帖子

3683

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3683
发表于 2022-11-6 07:30:12 | 显示全部楼层
知道了方法,那么在调试过程中需要知道技术路线:
1.首先时间定时器正常工作,可以控制LED灯一秒闪烁来验证
2.其次实现LED灯脉宽可调,开始为了便于观察,可以直接拉长时间周期,比如闪烁周期为2秒或更长,这样你就可以直观的看到灯亮多久,暗多久
3.加快闪烁频率,实现灯亮度可调。
回复

使用道具 举报

374

主题

1167

帖子

3683

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3683
发表于 2022-11-12 00:31:01 | 显示全部楼层
先避免明显错误,按这个文件改改

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

374

主题

1167

帖子

3683

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3683
发表于 2022-11-15 17:30:38 | 显示全部楼层
谈一谈我对虚拟现实的理解。
虚拟现实(VR)有一个兄弟技术叫混合现实(MR),它们的区别在于VR技术是完全重构一个虚拟的世界,而MR则是虚拟和现实混合在一起。比如VR技术可以实现让你突然置身于大草原(所有的全是假的),而MR可能会在你眼前凭空出现一个3d人物(场景是真的,人物是假的)。

虚拟显示(VR)的最高境界从视觉、听觉、触觉甚至温度、嗅觉都尽量接近于真实场景,让人难辨真假,目前视觉听觉温度感觉比较容易达到,但是其它的实现起来比较难
视觉的建立符合咱们的专业优势,且比较有意思,我觉得可以从这里开始。
具体开始,我有以下步骤建议,假如用matlab
1.实现在matlab中画一条直线
2.实现在matlab中画一个填充三角形
3.学习三维坐标变换知识,需要从物体坐标系,到世界坐标系,再到摄像机坐标系,最后投影到屏幕坐标系(2维)的变换过程,看上去很多步骤,实际都是一个过程。这里面牵扯矩阵运算,你可以不用明白,会用就行,因为后面也不会对它进行修改。
4.建立一个测试几何体,比如一个正方体,让它显示在屏幕坐标系中,这个效果就和你用手机拍摄一个粉笔盒一样。
5.多个长方体建立地面和虚拟的楼宇,让摄像机坐标系动起来,就会看到类似于人走动的效果
6.剩下的就是构建更复杂的世界几何体(比如楼,树,飞机之类),这个一般去网上找模型就行,获取它们的点坐标和面组合
你师兄基本到第4步实现了,你可以先捡起来。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2024-11-23 23:28 , Processed in 0.054066 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表