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

    文章

    2988

    浏览量

    170152
  • 汽车钥匙
    +关注

    关注

    1

    文章

    24

    浏览量

    12035
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    星闪钥匙时代来了

    今年夏天,支持星闪钥匙的Pura80系列手机、华为WATCH 5已经火热上市,问界、尊界、享界等新车用户已率先尝鲜了这份“优雅”。
    的头像 发表于 08-20 16:51 ?681次阅读

    乾崑云获汽研数字钥匙与远程控最高等级认证

    近日,乾崑云数字钥匙及远程控解决方案获得汽研华诚认证(天津)有限公司(以下简称“汽研”)颁发的首张汽车数字
    的头像 发表于 07-28 09:56 ?324次阅读

    润芯微科技参编的数字钥匙系统标准发布

    近日,智慧联产业生态联盟(ICCE)正式发布《数字钥匙系统 第6部分:星闪系统要求》(2025版),为数字钥匙技术的革新再添里程碑。
    的头像 发表于 06-04 09:50 ?532次阅读

    星闪数字钥匙激发智能汽车无限可能

    作为人交互的关键环节,钥匙正加速走向数字化、智能化。星闪钥匙无疑是数字
    的头像 发表于 04-10 09:18 ?762次阅读
    星闪数字<b class='flag-5'>车</b><b class='flag-5'>钥匙</b>激发智能汽车无限可能

    两轮电动智能蓝牙无钥匙开锁模组

    随着科技的进步与移动互联网的普及,传统的实体钥匙正在逐步被智能化的开锁方式取代。针对两轮电动车市场,我们推出了全新的智能蓝牙钥匙开锁解决方案,该解决方案基于最新的BLE5.4蓝牙技术,集成
    发表于 03-31 10:49

    如何将S32K388的拆分核心配置锁步对

    你好。如何将 S32K388 的拆分核心(核心 2 和核心 3)配置锁步对?这需要通过 DCF 记录完成,还是可以动态完成?
    发表于 03-31 07:46

    上海海思星闪数字钥匙重磅面世

    在数字化、智能化飞速发展的时代,汽车早已不再仅仅是交通工具,更是人们生活的智能移动空间。作为汽车与用户交互的关键入口——钥匙,经历了从传统机械钥匙
    的头像 发表于 03-25 10:57 ?644次阅读

    如何将RT-Thread移植NXP MCUXPressoIDE上

    RT-Thread默认支持的IDE只有IAR 和 Keil, 那如何将RT-Thread移植NXP MCUXPressoIDE上呢?本文内容比较简单但稍有琐碎,希望对有需要的小伙伴有所帮助。
    的头像 发表于 02-13 10:37 ?2066次阅读
    <b class='flag-5'>如何将</b>RT-Thread移植<b class='flag-5'>到</b>NXP MCUXPressoIDE上

    如何将python文件导入ROS系统

    本文通过使用myCobot机械臂进行QR码视觉追踪的实践案例分析,介绍如何将 python 文件导入 ROS 系统
    的头像 发表于 02-11 11:08 ?903次阅读
    <b class='flag-5'>如何将</b>python文件导入<b class='flag-5'>到</b>ROS系统<b class='flag-5'>中</b>

    博泰数字钥匙模组通过国际星闪联盟测试认证

    近日,博泰数字钥匙模组成功通过国际星闪联盟的测试,荣列其认证名录之中,这一成就彰显了博泰联网在智能钥匙技术领域的深厚积淀。
    的头像 发表于 02-11 09:16 ?1041次阅读

    蔚来或支持苹果钱包数字钥匙功能

    近日,MacRumors记者Aaron在X平台上发布消息称,蔚来汽车有望支持苹果钱包应用的数字钥匙(Car Key)功能,但尚未透露更多具体细节。 苹果公司于2022年推出了钥匙
    的头像 发表于 12-18 11:08 ?1078次阅读

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

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

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

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

    如何将WOLFSSL移植TI Sitara AM335入门套件

    电子发烧友网站提供《如何将WOLFSSL移植TI Sitara AM335入门套件.pdf》资料免费下载
    发表于 09-19 11:29 ?1次下载
    <b class='flag-5'>如何将</b>WOLFSSL移植<b class='flag-5'>到</b>TI Sitara AM335入门套件

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

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