切勿独自骑行
组件和用品
![]() |
| × | 2 | |||
| × | 1 | ||||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 |
必要的工具和机器
![]() |
|
关于这个项目
大家好,我是 Jesús Soriano,电子工程专业的学生、企业家……和自行车手!

我从 12 岁起就开始骑自行车,我通常一个人训练。在这些培训期间,我发生了很多跌倒、事故和其他不幸事件。有一天,我意识到,如果我发生严重事故并失去知觉,我可能会死。我一个人在山上!
用一个小视频更容易理解我的意思。想象一下:您正在骑自行车,欣赏风景,突然,一辆汽车出现并从您身上碾过。你从斜坡上掉下来,司机逃跑了。你保持无意识,被困,对世界不可见。
两三个小时后,你的家人就会开始担心。紧急服务部门会尝试找到您,他们会在 4-5 小时后找到您。你可能会死。
所以我开始做研究,我看到了很多有趣的选择:首先,一个应用程序,Strava Summit。万一发生意外,它可以将gps位置发送给朋友。来自 Specialized 的 Angi 也是一个选择。该系统集成在头盔上,如果发生碰撞,它可以寻求帮助。但这是一个问题。所有这些系统都需要手机信号才能工作。需要电池、GPS和手机信号。
NRA,Never Ride Alone 就是这样诞生的。我发现 Sigfox 作为我在山上发送数据的解决方案,当我发现他们有一个带有 sigfox 模块的 arduino 时......太棒了!

我决定 NRA 将像倒置警报一样工作。当您骑自行车时,您只需按一个按钮即可激活 NRA。 LED 开始闪烁,同时它们也提高了能见度。如果 NRA 在 30 秒内检测到没有运动,它会激活紧急模式。它开始嗡嗡作响,如果没有人阻止它(也许你没有遇到危险,但你忘记关掉它)就是你受伤了。 GPS 模块会自动在 NRA 中开始工作,并通过 SigFox 网络将 GPS 位置发送给您的所有朋友/家人。

我问了很多骑自行车的人,我想出了一个极简主义的设计。骑自行车的人想要一个易于使用且电池性能良好的小工具。使用 NRA,您只需按下按钮和踏板。训练结束后,只需停车充电即可。
NRA 的外壳由 ABS 塑料制成。我使用的是瓦伦西亚理工大学提供的 3D 打印机。

您可以在此处编辑/下载 NRA 设计文件:
https://www.tinkercad.com/things/fmkE685dNfP-nra-v01
对于此版本,我使用了 Arduino MKR1200、Neo 6 米 GPS、一个按钮、2 个 LED、一个 1k 欧姆电阻、一个蜂鸣器、一个振动传感器和一个 3.7v 150mah 电池。

之后,我开始使用 Arduino 和 SigFox 配置。这是我在 SigFox 后端页面上的配置:

当 Arduino MKR1200 发送数据时,该服务器将原始数据转换为信息。就我而言,我使用经度、纬度和高度。有了这些信息,我会向我设置中的所有人(朋友、家人...)发送电子邮件,以便他们可以点击谷歌地图链接,并知道受伤的骑自行车的人在哪里。

这是所有组件安装在机箱中的方式:

首先是GPS模块。我们只需要正极、负极和数据传输线。天线粘在框架上。 arduino 会检查它。

我们还添加了连接到 arduino 的电池和一个开关。这样,我们就可以打开/关闭它。

我们有电池连接器,所以我们可以为 NRA 充电。它应该关闭。

在这个项目中,我使用无人机电池充电器为 NRA 充电。它工作得很好。

完成接线后,我们将天线放在 arduino 上。把这个shell中的所有组件都连接起来有点复杂,但是注意是可以做到的。

在这个版本中,我们没有使用振动传感器。在这种情况下,当 NRA 通电时,它开始每 10 分钟发送一次 GPS 位置。结果很好。
我们还在道路上测试了 NRA。这是一次非常好的体验。
它真的很容易使用,让您感觉自己手上有一个很好的小工具。

所以这就是 Never Ride Alone 的历史,一个时刻关注你的小工具。每当您骑行时,您就知道自己是安全的,因为万一发生事故,您将始终被找到。

从 Never Ride Alone 团队,我们也尝试改善我们的星球。在所有这些骑行测试中,我们还捡起了我们在山上看到的所有垃圾。根据可持续发展目标,我们试图移除我们在骑行过程中看到的所有垃圾箱。

收拾完这一切,我们发现山上的垃圾大部分来自骑自行车的人!我们已经购买了很多充满活力的塑料棒、凝胶和轮胎。现在,我们正努力提高所有骑自行车者的意识。在比赛期间,我们创建了清洁点,人们可以在那里扔掉所有垃圾而不会停下来浪费时间。这个区域是有界的,当比赛结束时,它会被全部清理干净。

感谢阅读,请注意安全:)
代码
- 切勿独自骑行 V.0.1
永远不要独自骑行 V.0.1Arduino
NRA 代码。它不使用传感器。它每 10 分钟发送一次所有 GPS 数据。///// NEVER RIDE ALONE V.0.1 ///////........ ..........//////AUTOR:耶稣索里亚诺·亚当////////////FECHA:05/05/2019 ////////// //////////////////////////#include#include #include //我们包括 TinyGPS#define WAITING_TIME 10 //每条消息期间的等待时间#define GPS_PIN 2 //(晶体管引脚,用于节能。现在未使用)#define GPS_INFO_BUFFER_SIZE 128bool debug =true; ////////调试/////const int背光=4;const int pulsador=5;const int audio=3; TinyGPS gps;//GPS 对象//GPS 数据变量int year;byte 月、日、时、分、秒、百分之一;unsigned long chars;unsigned short sentence, failed_checksum;char GPS_info_char;char GPS_info_buffer[GPS_INFO_BUFFER_SIZE];unsigned int received_char; bool message_started =false;int i =0;// GPS 坐标结构,32 位平台上的 12 字节大小struct gpscoord { float a_latitude; // 4 字节浮点 a_longitude; // 4 字节浮点 a_altitude; // 4 个字节};float latitude =0.0f;float longitude =0.0f;float altitud =0;//////////////// 等待函数//////// /////////void Wait(int m, bool s) { //m 分钟等待 //s 慢 LED 脉冲 if (debug) { Serial.print("Waiting:"); Serial.print(m); Serial.println("分钟"); } 数字写入(LED_BUILTIN,低); if (s) { int seg =m * 30; for (int i =0; i 12) { Serial.println("消息太长,只发送前 12 个字节"); } } // 删除EOL //data.trim(); // 启动模块 SigFox.begin(); // 第一次配置后至少等待 30 毫秒(之前 100 毫秒)延迟(100); // 清除所有挂起的中断 SigFox.status();延迟(1);如果(调试)SigFox.debug();延迟(100); SigFox.beginPacket(); SigFox.print(数据);如果(调试){ int ret =SigFox.endPacket(true); // 将缓冲区发送到 SIGFOX 网络并等待响应 if (ret> 0) { Serial.println("No Transmission"); } else { Serial.println("传输正常"); Serial.println(SigFox.status(SIGFOX)); Serial.println(SigFox.status(ATMEL)); if (SigFox.parsePacket()) { Serial.println("服务器响应:");而 (SigFox.available()) { Serial.print("0x"); Serial.println(SigFox.read(), HEX); } } else { Serial.println("无法从服务器得到任何响应"); Serial.println("检查您所在地区的 SigFox 覆盖范围"); Serial.println("如果您在室内,请检查 20dB 的覆盖范围或靠近窗户"); Serial.println(); } else { SigFox.endPacket(); } SigFox.end();}//////////////// 转换 GPS 函数 //////////////////* 转换GPS 浮点数据到字符数据 */String ConvertGPSdata(const void* data, uint8_t len) { uint8_t* bytes =(uint8_t*)data;弦乐乐章;如果(调试){ Serial.print(“长度:”); Serial.println(len); } for (uint8_t i =len - 1; i
定制零件和外壳
它适合 mkr1200、电池、按钮、LED、GPS 和蜂鸣器。它适合 mkr1200、电池、按钮、LED、GPS 和蜂鸣器。 nra_v_0_1_qCsc7I6QvO.zip示意图
请注意,arduinos 照片不是 mkr1200
制造工艺