0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何将GPS集成到车钥匙中

454398 来源:工程师吴畏 2019-08-21 11:53 次阅读

第1步:纸质素描

当人们按下按钮锁定汽车时,位置信息可以自动记录在微控制器中。然后,当人们开始导航到汽车时,不同的LED被点亮以指向汽车的位置,闪烁的频率显示到汽车的距离。他们可以轻松跟踪闪烁的LED并快速找到汽车。

第2步:硬件列表

这些是该项目中使用的组件。一些来自粒子套件(面包板,按钮,标题),其他来自Adafruit官方网站(Adafruit羽毛M0,Adafruit终极GPS模块,Lpoly电池和纽扣电池)和亚马逊(NeoPixel Ring - 12 RGB LED)。

步骤3:电路设计

Neopixel_LED连接到羽毛M0的PIN 6

Button_Unlock连接到羽毛M0的PIN 12

Button_Lock连接到羽毛M0的PIN 13

步骤4:硬件连接

使用Adafruit M0 Feather,Adafruit Ultimate GPS Featherwing焊接标题。将两块板堆叠在一起。 GPS FeatherWing可以直接插入您的羽毛M0板,无需任何电线。

步骤5:软件设计

测试组件

阅读FIX

void setup() {

Serial.println(“GPS echo test”);

Serial.begin(9600);

Serial1.begin(9600); // default NMEA GPS baud

} void loop() {

if (Serial.available()) {

char c = Serial.read();

Serial1.write(c);

}

if (Serial1.available()) {

char c = Serial1.read();

Serial.write(c);

}

}

闪烁LED指示灯

请参阅Adafruit NeoPixel示例。

GPS计算功能

计算方位角

// Calculate the Azimuth double azimuth(double lat_a, double lon_a, double lat_b, double lon_b) {

double d = 0;

lat_a = lat_a*PI/180;

lon_a = lon_a*PI/180;

lat_b = lat_b*PI/180;

lon_b = lon_b*PI/180;

d = sin(lat_a)*sin(lat_b)+cos(lat_a)*cos(lat_b)*cos(lon_b-lon_a);

d = sqrt(1-d*d);

d = cos(lat_b)*sin(lon_b-lon_a)/d;

d = asin(d)*180/PI; return d;

}

计算LED时钟的时间,这也是车辆的方向

// Calculate the time on LED clock int led_time(double angle){

int flag = 0;

if (angle 《 0){

flag = 1;

}

angle = abs(angle);

double angle_remainder = fmod(angle, 30);

int angle_time = (int)angle/30;

if (angle_remainder 》= 15) {

angle_time = angle_time + 1;

}

if (flag == 1){

angle_time = 12 - angle_time;

}

return angle_time;

}

计算人与车辆之间的距离

// Calculate the Distance

double distance(double lat_a, double lon_a, double lat_b, double lon_b) {

double EARTH_RADIUS = 6378137.0; double radLat1 = (lat_a * PI / 180.0);

double radLat2 = (lat_b * PI / 180.0);

double a = radLat1 - radLat2;

double b = (lon_a - lon_b) * PI / 180.0; double s = 2 * asin(sqrt(pow(sin(a / 2), 2) + cos(radLat1) * cos(radLat2) * pow(sin(b / 2), 2)));

s = s * EARTH_RADIUS / 10000000;

return s;

}

LED显示功能

点亮LED显示它开始导航的圆圈

// LED ring lighting one by one shows that the navigation begins void colorWipe(uint32_t c, uint8_t wait) {

for(uint16_t i=0; i strip.setPixelColor(i, c);

strip.show();

delay(wait);

}

}

根据距离获取LED频率

// Get LED Frequency int frequency(double distance){

int f = (int)distance * 20;

return f;

}

闪烁指示汽车方向的特定LED

//Display on LED

主要

strip.clear();

strip.show();

delay(frequency(car_person_distance));

// delay(500);

strip.setPixelColor(angle_time, strip.Color(0, 0, 255));

strip.show();

delay(frequency(car_person_distance));

// delay(500); //Disable LED if (button_flag == 1 && car_person_distance 《 5.0){

button_flag = 0;

led_flag = 1;

strip.clear();

strip.show();

} #include Adafruit_GPS.h

#include Adafruit_NeoPixel.h

#include HardwareSerial.h

#include Button.h

#include math.h #define Neopixel_LED_PIN 6

#define Neopixel_LED_NUM 12

#define Button_Lock_PIN 13

#define Button_Unlock_PIN 12

#define GPSSerial Serial1

#define GPSECHO false

步骤6:在面包板上调试

步骤7:硬件组装

步骤8:Adobe Illustrator中的电子设备外壳设计

步骤9:纸板原型

此步骤用于确认外壳尺寸和每个型号,确保盒子尺寸,按钮位置和LED位置适合组装的电子元件。

步骤10:桦木胶合板原型

这是最初的原型。最后将一个用于插入充电器的方孔添加到其中一个部件中。

步骤11:最终装配原型

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • gps
    gps
    +关注

    关注

    22

    文章

    2882

    浏览量

    166019
  • 汽车钥匙
    +关注

    关注

    1

    文章

    24

    浏览量

    11732
收藏 人收藏

    评论

    相关推荐

    特斯拉新版watchOS应用Apple Watch变身数字钥匙

    近期,知名爆料者Aaron Perris通过对特斯拉即将适配iOS 18的应用代码进行深入分析,揭示了一项令人瞩目的新进展:特斯拉正紧锣密鼓地开发一款专为watchOS设计的应用,意在Apple Watch转变为一把数字钥匙
    的头像 发表于 10-23 11:31 559次阅读

    用多列列表框如何将行首列首写入csv

    如图片所示,用多列列表框如何将行首列首写入csv,实现的效果
    发表于 10-23 10:04

    数字钥匙市场规模及发展现状

    数字钥匙的出现,不仅仅是物理钥匙的替代,还可实现无线开关锁、启动车辆、智能感应、远程控制、舱内监测、自动泊车等功能的集成
    的头像 发表于 08-30 09:32 875次阅读
    数字<b class='flag-5'>车</b><b class='flag-5'>钥匙</b>市场规模及发展现状

    国内规级UWB首家!数字钥匙海外大厂占主要份额,本土厂商自研芯片量产加速

    /蓝牙/NFC技术规范;2021年4月,上汽名爵发布满足ICCE标准蓝牙无感钥匙;2021年9月,首个集成NFC+蓝牙、手机+穿戴双融合一体钥匙
    的头像 发表于 07-18 00:19 6135次阅读
    国内<b class='flag-5'>车</b>规级UWB首家!数字<b class='flag-5'>车</b><b class='flag-5'>钥匙</b>海外大厂占主要份额,本土厂商自研芯片量产加速

    数字钥匙三代方案的技术演进

    随着汽车智能化和网联化的快速发展,数字钥匙作为智能汽车的关键组成部分,市场需求快速增长,关于数字钥匙采用的技术方案也早已存在多类。
    的头像 发表于 07-15 16:26 580次阅读

    捷德为企布局数字钥匙赋能 推动汽车产业变革

    新势力,搭载数字钥匙的车型陆续面市。近日,国际跨行业标准化组织连接联盟 (Car Connectivity Consortium
    的头像 发表于 07-12 09:42 351次阅读
    捷德为<b class='flag-5'>车</b>企布局数字<b class='flag-5'>钥匙</b>赋能 推动汽车产业变革

    如何将stm32f207的以太网库lwip1.3.2升级1.4.1?

    如何将stm32f207的以太网库lwip1.3.2升级1.4.1
    发表于 05-17 08:04

    请问STM8S如何将中断代码拷贝RAM运行?

    STM8S在写EEPROM时,中断停掉,如何将中断代码拷贝RAM运行??? 求助各位大神!!!
    发表于 05-17 07:37

    如何将bootloader升级的应用集成自己的软件

    如题,我目前在弄STM8L151的bootloader,代码的开放的。可是我没有找到PC端的驱动代码,我们想将bootloader升级的应用集成自己的软件,是否有大神可以提供一下PC端的驱动代码?
    发表于 05-11 08:18

    蓝牙数字钥匙方案

    随着联网发展和蓝牙技术的成熟以及人们生活品质的提高,手机给人们带来便捷的同时,已成为人们出行的必需品。广大驾驶者出门的时候都会携带物理钥匙,一旦
    的头像 发表于 05-10 17:43 818次阅读
    蓝牙数字<b class='flag-5'>车</b><b class='flag-5'>钥匙</b>方案

    什么数据集成(Data Integration):如何将业务数据集成云平台?

    说到数据集成(Data Integration),简单地所有数据倒入数据湖并不是解决办法。 在这篇文章,我们介绍如何轻松集成数据、链接
    的头像 发表于 04-22 17:59 671次阅读

    蓝牙数字钥匙方案

    随着联网发展和蓝牙技术的成熟以及人们生活品质的提高,手机给人们带来便捷的同时,已成为人们出行的必需品。广大驾驶者出门的时候都会携带物理钥匙,一旦
    的头像 发表于 02-19 16:47 775次阅读

    如何将UCOSIII系统移植ADSPBF609建立的工程文件

    如何将UCOSIII系统移植ADSPBF609建立的工程文件,编译环境是CCES
    发表于 01-12 08:20

    如何将SCOUT的工程关联STEP7

    如何将SCOUT的工程关联STEP7,就是SCOUT添加了一个伺服的设置,然后如何关联STEP7,可以在STEP7
    发表于 01-09 13:16

    Qorvo参与中国首个系统级UWB数字钥匙标准制定,加速产业化进程

    、BLE数字钥匙等标准发布之后的又一项重大成果。 本次UWB数字钥匙标准的研制,历经150多项提案和意见、12场标准研讨会议等,Qorvo有幸与其他35家成员单位共同参与了标准的起
    的头像 发表于 12-06 10:05 963次阅读
    Qorvo参与中国首个系统级UWB数字<b class='flag-5'>车</b><b class='flag-5'>钥匙</b>标准制定,加速产业化进程