极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: eagler8

【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)

[复制链接]
 楼主| 发表于 2019-7-30 19:45:07 | 显示全部楼层
TM1637 4位数码管显示模块电原理图

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-30 21:08:37 | 显示全部楼层
  1. /*
  2. 【Arduino】66种传感器模块系列实验(74)
  3. 实验七十四:4位LED数码管显示模块0.36英寸亮度可调带时钟点( TM1637)
  4. */

  5. #include <Arduino.h>
  6. #include <TM1637Display.h>

  7. #define CLK 2
  8. #define DIO 3


  9. #define TEST_DELAY   2000

  10. const uint8_t SEG_DONE[] = {
  11.         SEG_B | SEG_C | SEG_D | SEG_E | SEG_G,           // d
  12.         SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F,   // O
  13.         SEG_C | SEG_E | SEG_G,                           // n
  14.         SEG_A | SEG_D | SEG_E | SEG_F | SEG_G            // E
  15.         };

  16. TM1637Display display(CLK, DIO);

  17. void setup()
  18. {
  19. }

  20. void loop()
  21. {
  22.   int k;
  23.   uint8_t data[] = { 0xff, 0xff, 0xff, 0xff };
  24.   uint8_t blank[] = { 0x00, 0x00, 0x00, 0x00 };
  25.   display.setBrightness(0x0f);

  26.   display.setSegments(data);
  27.   delay(TEST_DELAY);

  28.   data[0] = display.encodeDigit(0);
  29.   data[1] = display.encodeDigit(1);
  30.   data[2] = display.encodeDigit(2);
  31.   data[3] = display.encodeDigit(3);
  32.   display.setSegments(data);
  33.   delay(TEST_DELAY);

  34.   display.clear();
  35.   display.setSegments(data+2, 2, 2);
  36.   delay(TEST_DELAY);

  37.   display.clear();
  38.   display.setSegments(data+2, 2, 1);
  39.   delay(TEST_DELAY);

  40.   display.clear();
  41.   display.setSegments(data+1, 3, 1);
  42.   delay(TEST_DELAY);

  43.   display.showNumberDec(0, false); // Expect: ___0
  44.   delay(TEST_DELAY);
  45.   display.showNumberDec(0, true);  // Expect: 0000
  46.   delay(TEST_DELAY);
  47.         display.showNumberDec(1, false); // Expect: ___1
  48.         delay(TEST_DELAY);
  49.   display.showNumberDec(1, true);  // Expect: 0001
  50.   delay(TEST_DELAY);
  51.   display.showNumberDec(301, false); // Expect: _301
  52.   delay(TEST_DELAY);
  53.   display.showNumberDec(301, true); // Expect: 0301
  54.   delay(TEST_DELAY);
  55.   display.clear();
  56.   display.showNumberDec(14, false, 2, 1); // Expect: _14_
  57.   delay(TEST_DELAY);
  58.   display.clear();
  59.   display.showNumberDec(4, true, 2, 2);  // Expect: 04__
  60.   delay(TEST_DELAY);
  61.   display.showNumberDec(-1, false);  // Expect: __-1
  62.   delay(TEST_DELAY);
  63.   display.showNumberDec(-12);        // Expect: _-12
  64.   delay(TEST_DELAY);
  65.   display.showNumberDec(-999);       // Expect: -999
  66.   delay(TEST_DELAY);
  67.   display.clear();
  68.   display.showNumberDec(-5, false, 3, 0); // Expect: _-5_
  69.   delay(TEST_DELAY);
  70.   display.showNumberHexEx(0xf1af);        // Expect: f1Af
  71.   delay(TEST_DELAY);
  72.   display.showNumberHexEx(0x2c);          // Expect: __2C
  73.   delay(TEST_DELAY);
  74.   display.showNumberHexEx(0xd1, 0, true); // Expect: 00d1
  75.   delay(TEST_DELAY);
  76.   display.clear();
  77.   display.showNumberHexEx(0xd1, 0, true, 2); // Expect: d1__
  78.   delay(TEST_DELAY);
  79.   
  80.         for(k=0; k <= 4; k++) {
  81.                 display.showNumberDecEx(0, (0x80 >> k), true);
  82.                 delay(TEST_DELAY);
  83.         }

  84.   for(k = 0; k < 4; k++)
  85.         data[k] = 0xff;
  86.   for(k = 0; k < 7; k++) {
  87.     display.setBrightness(k);
  88.     display.setSegments(data);
  89.     delay(TEST_DELAY);
  90.   }
  91.   
  92.   for(k = 0; k < 4; k++) {
  93.     display.setBrightness(7, false);  
  94.     display.setSegments(data);
  95.     delay(TEST_DELAY);
  96.     display.setBrightness(7, true);
  97.     display.setSegments(data);
  98.     delay(TEST_DELAY);  
  99.   }

  100.   display.setSegments(SEG_DONE);

  101.   while(1);
  102. }
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-30 21:24:29 | 显示全部楼层

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-30 21:44:28 | 显示全部楼层

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-30 21:45:53 | 显示全部楼层

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-31 09:07:26 | 显示全部楼层
实验七十五: GY-NEO-6MV2新款飞控GPS模块 (带大天线)

NEO-6M
是 ALIENTEK 生成的一款高性能 GPS 模块,模块核心采用 UBLOX 公司的 NEO-6M 模组,具有 50 个通道,追踪灵敏度高达-161dBm,测量输出频率最高可达 5Hz。NEO-6M 模块自带高性能无源陶瓷天线(无需再购买昂贵的有源天线了),兼容 3.3V 和5V 单片机系统,并自带可充电后备电池(支持温启动或热启动)。NEO-6M 模块非常小巧(25.5mm*31mm),模块通过 4 个 2.54mm 间距的排针与外部连接。

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-31 13:18:44 | 显示全部楼层
特性
• u-blox 6 定位引擎:
o 跟踪灵敏度 –162dBm ,冷启动灵敏度–148 dBm
o 更快的捕获速度,带有 AssistNow Autonomous功能
o 可配置的电源管理
o GPS/SBAS 混合型引擎(WAAS、EGNOS、MSAS)
o 抗干扰技术
• 易于与 u-blox 无线模块集成
• A-GPS:AssistNow Online 和 AssistNow Offline 服务,符合 OMA SUPL 规范
• 向后兼容(硬件和固件);可从 NEO-5 系列或NEO-4S 轻松迁移
• 采用可靠的 LCC 封装,制造性价比高
• 工作温度范围:–40° C 至 85° C

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-31 13:22:07 | 显示全部楼层

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-31 13:29:36 | 显示全部楼层


注 1:冷启动是指模块所有保存的 GPS接收历史信息都丢失了(相当于主电源和后备电池都没电了),这种情况下重启,称之为冷启动。温启动是指模块保存了 GPS 接收历史信息,但是当前可视卫星的信息和保存的信息不一致了,这样的条件下重启,称之为温启动。热启动则是指在模块保存了 GPS 接收历史信息且与当前可视卫星信息一致,这样的条件下重启,称之为热启动。
注 2: 此电流为连续工作模式下的电流,可以选择省电模式(Power Save Mode)以节省用电。
注 3: 当 VCC 大于 3.3V 时 VCCX=3.3V,否则 VCCX=3.3V。
注 4: 模块的 TXD 和 RXD 脚内部接了 510 欧电阻,做输出电平兼容处理,所以在使用的时候要注意,导线电阻不可过大(尤其是接 USB 转 TTL 串口模块的时候,如果模块的 TXD、RXD 上带了 LED,那就会有问题),否则可能导致通信不正常。NEO-6M GPS 模块支持多种通信波特率,通过串口进行设置,并可以保存在模块自带的 EEPROM 里面,模块默认波特率为:38400(8 位数据位,1 位停止位,无奇偶校验)。

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-31 13:41:59 | 显示全部楼层
精确度
定位2.5MCEP
SBAS 2.0mCEP
捕获冷启动29s
温启动27s
辅助启动<3s
热启动<1s

灵敏度
捕获-162dBm
跟踪-147dBm
冷启动-146dBm

多径抑制
智能化多径检测与抑制
A-GPS
支持AssistNow Online及AssistNow Offline

运行限制
速度515m/s(1000节)
串口1个UART接口
1个USB V2.0,全速12Mbit/s
1个DDC接口
1个SPI接口
串口和I/O电压3V电平
协议NMEA、UBX二进制
数字I/O接口可配置的时间脉冲
1个EXTINT输入接口
电压2.7V – 3.6V
功耗<80mW @ 1.8V 
120mW @ 3.0V
备用电源1.3V -4.8V有 30uA
天线类型有源与无源

运行温度-40℃- +85℃
存储温度-40℃- +85℃
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-31 14:18:52 | 显示全部楼层
GPS陶瓷有源天线
GPS就是通过接受卫星信号,进行定位或者导航的终端。而接收信号就必须用到天线。 GPS卫星信号分为L1和L2,频率分别为1575.42MHZ和1228MHZ,其中L1为开放的民用信号,信号为圆形极化。信号强度为-166dBW左右,属于比较弱的信号。 这些特点决定了要为GPS信号的接收准备专门的天线。GPS天线是由接收天线和前置放大器两个部件组成。GPS接收天线的作用,是将卫星来的无线电信号的电磁波能量变换成接收机电子器件可摄取应用的电流。绝大部分内置GPS天线为右旋极化陶瓷介质,其组成部分为:陶瓷天线、低噪音信号模块、线缆、接头。

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-31 14:29:51 | 显示全部楼层

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-31 14:32:25 | 显示全部楼层
GPS天线工作原理
1)陶瓷片:陶瓷粉末的好坏以及烧结工艺直接影响它的性能。现市面使用的陶瓷片主要是25×25、18×18、15×15、12×12。陶瓷片面积越大,介电常数越大,其共振频率越高,接受效果越好。陶瓷片大多是正方形设计,是为了保证在XY方向上共振基本一致,从而达到均匀收星的效果。

2)银层:陶瓷天线表面银层可以影响天线共振频率。理想的GPS陶瓷片频点准确落在1575.42MHz,但天线频点非常容易受到周边环境影响,特别是装配在整机内,必须通过调整银面涂层外形,来调节频点重新保持在1575.42MHz。

3)馈点:陶瓷天线通过馈点收集共振信号并发送至后端。由于天线阻抗匹配的原因,馈点一般不是在天线的正中央,而是在XY方向上做微小调整。这样的阻抗匹配方法简单而且没有增加成本。仅在单轴方向上移动称为单偏天线,在两轴均做移动称为双偏。

4)放大器:承载陶瓷天线的PCB形状及面积。由于GPS接收信号有触地反弹的特性,当背景是7cm×7cm无间断大地时,天线的效能可以发挥到极致。虽然受外观结构等因素制约,但尽量保持相当的面积且形状均匀。放大器增益的选择必须配合后端LNA增益。Sirf的GSC3F要求信号输入前总增益不得超过29dB,否则信号过饱和会产生自激。

GPS天线在室外空旷地区接受信号较好,在车内,因金属外壳和玻璃的防爆膜尤其是含金属粉的车膜,以及车内音响等都会对内置GPS天线接收信号产生干扰甚至阻碍,在室内受钢筋混凝土的遮挡,甚至无法接受GPS信号。

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-31 14:42:52 | 显示全部楼层

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-7-31 14:53:15 | 显示全部楼层
GPS模块 NEO-6M
3V-5V供电通用
型号:GY-GPS6MV2
模块带陶瓷有缘天线,信号超强
EEPROM掉电保存配置参数数据
带数据备份电池
有LED信号指示灯
天线尺寸25*25mm
模块尺寸25mm*35mm
安装孔径3mm
默认波特率:9600
兼容各种飞控模块,GPS电脑测试软件

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-8 14:53 , Processed in 0.036118 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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