一人で乗るな
コンポーネントと消耗品
> ![]() |
| × | 2 | |||
| × | 1 | ||||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 |
必要なツールとマシン
> ![]() |
|
このプロジェクトについて
みなさん、こんにちは。私は電子工学の学生であり、起業家であり、サイクリストでもあるJesúsSorianoです!
<図>
私は12歳の時からバイクに乗っており、普段は一人でトレーニングしています。これらの訓練の間、私はたくさんの転倒、事故、その他の事故を経験しました。ある日、ひどい事故で意識を失ったら死ぬのではないかと気づきました。私は山の中で一人でした!
小さなビデオで私が何を意味するのか理解しやすいです。想像してみてください。あなたは自転車に乗って風景を楽しんでいますが、突然、車が現れてあなたの上を走ります。あなたは坂を下って、運転手は逃げます。あなたは意識を失い、閉じ込められ、世界から見えなくなります。
2、3時間後、あなたの家族は心配し始めます。救急隊はあなたを見つけようとします、そして彼らは4-5時間後にそうします。あなたはおそらく死んでいるでしょう。
それで私は調査を始めました、そして私は多くの興味深いオプションを見ました:最初に、アプリ、Stravaサミット。事故が発生した場合、GPS位置を友達に送信する可能性があります。 SpecializedのAngiもオプションでした。システムはヘルメットに統合されており、衝突の場合には助けを求めることができます。しかし、それは問題でした。これらのシステムはすべて、機能するために携帯電話の信号を必要としていました。バッテリー、GPS、携帯電話の信号が必要でした。
このようにして、NRAのNever RideAloneが誕生しました。山でデータを送信するためのソリューションとして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 m GPS、ボタン、2つのLED、1つの1kオーム抵抗、ブザー、振動センサー、3.7v150mahバッテリーを使用しています。
<図>
その後、ArduinoとSigFoxの構成から始めました。これは、SigFoxバックエンドページでの私の構成です:
<図>
Arduino MKR1200がデータを送信すると、このサーバーは指定された生のデータを情報に変換します。私の場合、経度、緯度、高度を使用します。この情報を使用して、設定内のすべての人(友人、家族など)に電子メールを送信します。これにより、彼らはGoogleマップのリンクをクリックして、負傷したバイカーがどこにいるかを知ることができます。
<図>
これは、すべてのコンポーネントがケースに取り付けられる方法です:
<図>
まず第一に、GPSモジュール。必要なのは、正、負、およびデータ転送ワイヤだけです。アンテナはフレームに接着されます。 arduinoがそれを調べます。
<図>
また、arduinoに接続されたバッテリーとスイッチも追加します。このようにして、オン/オフを切り替えることができます。
<図>
バッテリーコネクタがあるので、NRAを充電できます。オフにする必要があります。
<図>
このプロジェクトの間、私はNRAを充電するためにドローンバッテリー充電器を使用しました。完璧に機能しました。
<図>
配線後、アンテナをarduinoにかぶせます。このシェルのすべてのコンポーネントを結合するのは少し複雑ですが、注意して行うことができます。
<図>
このビルドでは、振動センサーを使用しませんでした。この場合、NRAに電力が供給されると、10分ごとにGPS位置の送信が開始されます。良い結果。
また、道路に沿ってNRAをテストしました。とても良い経験でした。
<図>本当に使いやすく、手に良いガジェットを持っているような気分になります。
<図>
つまり、これはNever Ride Aloneの歴史であり、常にあなたを認識しているガジェットです。あなたが乗るときはいつでも、あなたはあなたが安全であることを知っています、なぜなら事故の場合にはあなたは常に位置しているからです。
<図>
Never Ride Aloneチームから、私たちは地球を改善しようと試みました。これらのすべての乗車テスト中に、山の周りで見たすべてのゴミも拾いました。持続可能な開発目標によると、私たちは乗車中に見たすべてのビンを取り除こうとしました。
<図>
これらすべてを拾った後、私たちは山のゴミのほとんどがサイクリストから来ていることに気づきました!エネルギッシュなバーのプラスチック、ジェル、タイヤをたくさん手に入れました。現在、私たちはすべてのサイクリストの意識を高めようとしています。レース中は、時間を無駄にすることなくゴミを捨てることができるクリーンポイントを作成しました。このエリアは境界があり、レースが終了すると、すべてがクリーンアップされます。
<図>
読んでくれてありがとう、そして安全に乗る:)
コード
- 絶対に一人でV.0.1に乗らないでください
絶対に一人で乗らないV.0.1 Arduino
NRAコード。センサーは使用しません。 10分ごとにすべてのGPSデータを送信します。///// NEVER RIDE ALONE V.0.1 /////// ................. .......... ////// AUTOR:JESUS SORIANO ADAM //////////// FECHA:05/05/2019 ////////// //////////////////////////////#include#include #include // TinyGPSを含める#define WAITING_TIME 10 //すべてのメッセージの待機時間#defineGPS_PIN 2 //(エネルギー節約のためのトランジスタピン。現在は使用されていません)#define GPS_INFO_BUFFER_SIZE 128bool debug =true; //////// DEBUG ///// const int backlights =4; const int pulsador =5; const int audio =3; TinyGPS gps; // GPSオブジェクト// GPSデータ変数intyear; byte month、day、hour、minute、second、100ths; unsigned long chars; unsigned short statement、failed_checksum; char GPS_info_char; char GPS_info_buffer [GPS_INFO_BUFFER_SIZE]; unsigned int receive_char; bool message_started =false; int i =0; // GPS座標構造、32ビットプラットフォームで12バイトサイズstruct gpscoord {float a_latitude; // 4バイトfloata_longitude; // 4バイトfloata_altitude; // 4バイト};浮動小数点緯度=0.0f;浮動小数点経度=0.0f;浮動小数点高度=0; ////////////////待機関数///////// ///////// void Wait(int m、bool s){//待機するm分//遅いledパルスif(debug){Serial.print( "Waiting:"); Serial.print(m); Serial.println( "min。"); } digitalWrite(LED_BUILTIN、LOW); if(s){int seg =m * 30; for(int i =0; i 12){Serial.println( "メッセージが長すぎます。最初の12バイトのみが送信されます"); }} // EOLを削除します//data.trim(); //モジュールを開始しますSigFox.begin(); //最初の構成後(100mS前)に少なくとも30mS待機しますdelay(100); //保留中のすべての割り込みをクリアしますSigFox.status(); delay(1); if(debug)SigFox.debug(); delay(100); SigFox.beginPacket(); SigFox.print(data); if(debug){int ret =SigFox.endPacket(true); //バッファをSIGFOXネットワークに送信し、応答を待ちますif(ret> 0){Serial.println( "送信なし"); } else {Serial.println( "Transmission ok"); } Serial.println(SigFox.status(SIGFOX)); Serial.println(SigFox.status(ATMEL)); if(SigFox.parsePacket()){Serial.println( "サーバーからの応答:"); while(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フロートデータからCharデータへ* / String ConvertGPSdata(const void * data、uint8_t len){uint8_t * bytes =(uint8_t *)data;文字列カデナ; if(debug){Serial.print( "Length:"); Serial.println(len); } for(uint8_t i =len --1; i
カスタムパーツとエンクロージャー
mkr1200、バッテリー、ボタン、LED、GPS、ブザーに適合します。mkr1200、バッテリー、ボタン、LED、GPS、ブザーに適合します。 nra_v_0_1_qCsc7I6QvO.zip 回路図
arduinosの写真はmkr1200ではないことに注意してください 
製造プロセス