সুচিপত্র:

জিপিএস দিয়ে আপনার পথ খোঁজা: 9 টি ধাপ
জিপিএস দিয়ে আপনার পথ খোঁজা: 9 টি ধাপ

ভিডিও: জিপিএস দিয়ে আপনার পথ খোঁজা: 9 টি ধাপ

ভিডিও: জিপিএস দিয়ে আপনার পথ খোঁজা: 9 টি ধাপ
ভিডিও: গরুটা সাথে কি হয়েছে #shorts #wildlifebd 2024, জুলাই
Anonim
জিপিএস দিয়ে আপনার পথ খোঁজা
জিপিএস দিয়ে আপনার পথ খোঁজা

জিপিএস ডেটা বোঝার এবং প্রয়োগ করার একটি দ্রুত ব্যায়াম

  • সময় প্রয়োজন: 2 ঘন্টা
  • খরচ: $ 75- $ 150

নির্মাতাদের জন্য, ইলেকট্রনিক্স প্রকল্পগুলিতে উচ্চমানের ভূ-স্থানিক তথ্য অন্তর্ভুক্ত করা বেশ সস্তা হয়ে গেছে। এবং গত কয়েক বছরে, জিপিএস (গ্লোবাল পজিশনিং সিস্টেম) রিসিভার মডিউলগুলি অনেক বেশি বৈচিত্র্যময়, শক্তিশালী এবং Arduino, PIC, Teensy এবং Raspberry Pi এর মতো উন্নয়ন বোর্ডগুলির সাথে একীভূত করা সহজ হয়েছে। আপনি যদি জিপিএস -এর আশেপাশে নির্মাণের কথা ভাবছেন, তাহলে আপনি শুরু করার জন্য একটি ভালো সময় বেছে নিয়েছেন।

ধাপ 1: এটি কিভাবে কাজ করে

একটি জিপিএস মডিউল একটি ক্ষুদ্র রেডিও রিসিভার যা স্যাটেলাইটের বহর দ্বারা পরিচিত ফ্রিকোয়েন্সিগুলিতে সম্প্রচারিত সংকেত প্রক্রিয়া করে। এই উপগ্রহগুলি পৃথিবীর চারপাশে মোটামুটি বৃত্তাকার কক্ষপথে ঘুরে বেড়ায়, যা নিচের মাটিতে অত্যন্ত সুনির্দিষ্ট অবস্থান এবং ঘড়ির তথ্য প্রেরণ করে। যদি আর্থবাউন্ড রিসিভার এই স্যাটেলাইটগুলিকে পর্যাপ্ত পরিমাণে "দেখতে" পারে, তবে সেগুলি তাদের নিজস্ব অবস্থান এবং উচ্চতা গণনার জন্য ব্যবহার করতে পারে।

যখন একটি জিপিএস বার্তা আসে, রিসিভার প্রথমে তার সম্প্রচার টাইমস্ট্যাম্প পরিদর্শন করে যখন এটি পাঠানো হয়েছিল। যেহেতু মহাকাশে একটি রেডিও তরঙ্গের গতি একটি পরিচিত ধ্রুবক (গ), তাই রিসিভার সম্প্রচারের তুলনা করতে পারে এবং সংকেত ভ্রমণের দূরত্ব নির্ধারণ করতে বার গ্রহণ করতে পারে। একবার এটি চার বা ততোধিক পরিচিত উপগ্রহ থেকে তার দূরত্ব প্রতিষ্ঠা করলে, নিজের অবস্থান গণনা করা 3D ত্রিভুজের একটি মোটামুটি সহজ সমস্যা। কিন্তু এটি দ্রুত এবং নির্ভুলভাবে করার জন্য, রিসিভারকে অবশ্যই একবারে 20 টি পর্যন্ত ডাটা স্ট্রিম থেকে সংখ্যায় ক্র্যাচ করতে সক্ষম হতে হবে। - বিশেষত আরো - পৃথিবীর প্রতিটি বিন্দু থেকে সব সময় দৃশ্যমান। বর্তমানে GPS২ টি জিপিএস স্যাটেলাইট রয়েছে যা ২০,০০০ কিলোমিটার উঁচু মেঘের মধ্যে একটি সূক্ষ্মভাবে কোরিওগ্রাফি নাচ করছে।

ধাপ 2: ফ্যান ফ্যাক্ট

আইনস্টাইনের আপেক্ষিকতা তত্ত্ব ছাড়া জিপিএস কাজ করতে পারে না, কারণ পৃথিবীর মহাকর্ষীয় ক্ষেত্রের সময় বিস্তার থেকে প্রতি দিন প্রদক্ষিণকারী পারমাণবিক ঘড়িগুলি 38 মাইক্রোসেকেন্ডের জন্য ক্ষতিপূরণ দিতে হবে।

ধাপ 3: শুরু করা

শুরু হচ্ছে
শুরু হচ্ছে

আপনার প্রকল্প যাই হোক না কেন, জিপিএস সংহত করা সহজ। বেশিরভাগ রিসিভার মডিউল একটি সহজবোধ্য সিরিয়াল প্রোটোকলের সাথে যোগাযোগ করে, তাই আপনি যদি আপনার নিয়ামক বোর্ডে অতিরিক্ত সিরিয়াল পোর্ট খুঁজে পেতে পারেন, তাহলে শারীরিক সংযোগ তৈরি করার জন্য এটি কেবল একটি মুষ্টিমেয় তারের প্রয়োজন। এবং এমনকি যদি না হয়, অধিকাংশ নিয়ামক একটি অনুকরণকৃত "সফ্টওয়্যার" সিরিয়াল মোড সমর্থন করে যা আপনি নির্বিচারে পিনের সাথে সংযোগ করতে ব্যবহার করতে পারেন।

নতুনদের জন্য, অ্যাডাফ্রুট এর আলটিমেট জিপিএস ব্রেকআউট মডিউল একটি ভাল পছন্দ। বাজারে প্রচুর প্রতিদ্বন্দ্বী পণ্য রয়েছে, কিন্তু আলটিমেট একটি যুক্তিসঙ্গত মূল্যে কঠিন পারফর্মার, বড় বড় ছিদ্র দিয়ে যা সোল্ডার করা বা রুটিবোর্ডের সাথে সংযুক্ত করা সহজ।

প্রথমে মাটি এবং বিদ্যুৎ সংযোগ করুন। Arduino পরিভাষায়, এর অর্থ হল একটি মাইক্রোকন্ট্রোলার GND পিনকে মডিউলের GND- এর সাথে এবং +5V পিনকে মডিউলের VIN- এর সাথে সংযুক্ত করা। ডেটা ট্রান্সফার পরিচালনা করতে, আপনাকে মডিউলের টিএক্স এবং আরএক্স পিনগুলিকে আরডুইনোতে সংযুক্ত করতে হবে। আমি এই উদ্দেশ্যে নির্বিচারে Arduino পিন 2 (TX) এবং 3 (RX) নির্বাচন করতে যাচ্ছি, যদিও পিন 0 এবং 1 বিশেষভাবে "হার্ডওয়্যার সিরিয়াল পোর্ট" বা UART হিসাবে ব্যবহারের জন্য ডিজাইন করা হয়েছে। কেন? কারণ আমি এই নিম্ন-শেষ AVR প্রসেসরগুলির একমাত্র UART নষ্ট করতে চাই না। আরডুইনোর ইউএআরটি অনবোর্ড ইউএসবি কানেক্টরের জন্য হার্ড-ওয়্যার্ড, এবং আমি এটি ডিবাগিংয়ের জন্য আমার কম্পিউটারের সাথে সংযুক্ত রাখতে পছন্দ করি।

ধাপ 4: ডেটাস্ট্রিমে একটি পায়ের আঙ্গুল

ডেটাস্ট্রিমে একটি পায়ের আঙ্গুল
ডেটাস্ট্রিমে একটি পায়ের আঙ্গুল

তাত্ক্ষণিকভাবে আপনি শক্তি প্রয়োগ করেন, একটি জিপিএস মডিউল তার TX লাইনে টেক্সট ডেটার অংশ পাঠানো শুরু করে। এটি এখনও একটি একক উপগ্রহ দেখতে পারে না, অনেক কম একটি "ফিক্স" আছে, কিন্তু ডেটা কলটি এখনই আসে, এবং কী আসে তা দেখতে আকর্ষণীয়। আমাদের প্রথম সহজ স্কেচ (নীচে) এই অপ্রক্রিয়াজাত ডেটা প্রদর্শন ছাড়া আর কিছুই করে না।

#অন্তর্ভুক্ত #RXPin 2 সংজ্ঞায়িত করুন

#TXPin 3 নির্ধারণ করুন#GPSBaud 4800 নির্ধারণ করুন

#কনসোল বড 115200 নির্ধারণ করুন

// জিপিএস ডিভাইসের সিরিয়াল সংযোগ সফটওয়্যার সিরিয়াল এসএস (RXPin, TXPin);

অকার্যকর সেটআপ(){

Serial.begin (ConsoleBaud);

ss.begin (GPSBaud);

Serial.println ("GPS উদাহরণ 1");

Serial.println ("GPS মডিউল দ্বারা প্রেরিত কাঁচা NMEA ডেটা প্রদর্শন করা।");

Serial.println ("মিকাল হার্ট দ্বারা"); Serial.println ();

}

অকার্যকর লুপ ()

{if (ss.available ()> 0) // প্রতিটি অক্ষর আসার সাথে সাথে …

Serial.write (ss.read ()); //… এটি কনসোলে লিখুন।

}

দ্রষ্টব্য: স্কেচ রিসিভ পিন (RXPin) কে 2 হিসাবে সংজ্ঞায়িত করে, যদিও আমরা আগে বলেছিলাম যে ট্রান্সমিট (TX) পিন 2 পিনের সাথে সংযুক্ত হবে। এটি বিভ্রান্তির একটি সাধারণ উৎস। RXPin হল Arduino এর দৃষ্টিকোণ থেকে রিসিভ পিন (RX)। স্বাভাবিকভাবেই, এটি অবশ্যই মডিউলের ট্রান্সমিট (TX) পিনের সাথে সংযুক্ত থাকতে হবে, এবং তদ্বিপরীত।

এই স্কেচ আপলোড করুন এবং 115, 200 বাউডে সিরিয়াল মনিটর খুলুন। যদি সবকিছু কাজ করে, তাহলে আপনার কমা-বিচ্ছিন্ন পাঠ্য স্ট্রিংগুলির একটি ঘন, অবিরাম প্রবাহ দেখতে হবে। প্রতিটি অনুচ্ছেদের শুরুতে দ্বিতীয় চিত্রের মতো দেখতে হবে।

এই স্বতন্ত্র স্ট্রিংগুলি NMEA বাক্য হিসাবে পরিচিত, তথাকথিত কারণ ফরম্যাটটি ন্যাশনাল মেরিটাইম ইলেকট্রনিক্স অ্যাসোসিয়েশন দ্বারা উদ্ভাবিত হয়েছিল। NMEA ন্যাভিগেশনাল ডেটার জন্য অপরিহার্য (অবস্থান এবং সময়) থেকে গুপ্ত (স্যাটেলাইট সিগন্যাল-টু-নয়েজ রেশিও, ম্যাগনেটিক ভেরিয়েন্স ইত্যাদি) পর্যন্ত এই বাক্যের একটি সংখ্যা সংজ্ঞায়িত করে। নির্মাতারা তাদের রিসিভার কোন ধরনের বাক্য ব্যবহার করে সে বিষয়ে অসঙ্গতিপূর্ণ, কিন্তু GPRMC অপরিহার্য। একবার আপনার মডিউলটি ঠিক হয়ে গেলে, আপনার এই GPRMC বাক্যের একটি ন্যায্য সংখ্যা দেখতে হবে।

ধাপ 5: নিজেকে খোঁজা

কাঁচা মডিউল আউটপুটকে আপনার প্রোগ্রাম আসলে যে তথ্য ব্যবহার করতে পারে তাতে রূপান্তর করা তুচ্ছ নয়। ভাগ্যক্রমে, আপনার জন্য এটি করার জন্য ইতিমধ্যে কিছু দুর্দান্ত লাইব্রেরি উপলব্ধ। লিমোর ফ্রাইডের জনপ্রিয় অ্যাডাফ্রুট জিপিএস লাইব্রেরি একটি সুবিধাজনক পছন্দ যদি আপনি তাদের আলটিমেট ব্রেকআউট ব্যবহার করেন। এটি আলটিমেটের অনন্য বৈশিষ্ট্যগুলিকে সক্ষম করার জন্য লেখা হয়েছে (যেমন অভ্যন্তরীণ ডেটা লগিং) এবং এর নিজস্ব কিছু স্নিগ্ধ ঘণ্টা এবং শিস যোগ করে। আমার প্রিয় পার্সিং লাইব্রেরি, তবে - এবং এখানে আমি অবশ্যই সম্পূর্ণরূপে নিরপেক্ষ - আমি যা লিখেছিলাম তা হল TinyGPS ++। আমি এটিকে ব্যাপক, শক্তিশালী, সংক্ষিপ্ত এবং ব্যবহার করা সহজ করার জন্য ডিজাইন করেছি। আসুন এটি একটি স্পিনের জন্য নেওয়া যাক।

ধাপ 6: TinyGPS ++ এর সাথে কোডিং

প্রোগ্রামারের দৃষ্টিকোণ থেকে, TinyGPS ++ ব্যবহার করা খুবই সহজ:

1) একটি অবজেক্ট জিপিএস তৈরি করুন।

2) gps.encode () ব্যবহার করে মডিউল থেকে বস্তুতে আসা প্রতিটি অক্ষর রুট করুন।

3) যখন আপনার অবস্থান বা উচ্চতা বা সময় বা তারিখ জানতে হবে, তখন কেবল জিপিএস অবজেক্টটি জিজ্ঞাসা করুন।

#অন্তর্ভুক্ত #অন্তর্ভুক্ত

#RXPin 2 নির্ধারণ করুন

#TXPin 3 নির্ধারণ করুন

#GPSBaud 4800 নির্ধারণ করুন

#কনসোল বড 115200 নির্ধারণ করুন

// GPS ডিভাইসের সিরিয়াল সংযোগ সফটওয়্যার সিরিয়াল এসএস (RXPin, TXPin);

// TinyGPS ++ বস্তু

TinyGPSPlus জিপিএস;

অকার্যকর সেটআপ(){

Serial.begin (ConsoleBaud);

ss.begin (GPSBaud);

Serial.println ("GPS উদাহরণ 2");

Serial.println ("TinyGPS ++ ব্যবহার করে একটি সাধারণ ট্র্যাকার।");

Serial.println ("মিকাল হার্ট দ্বারা");

Serial.println ();

}

অকার্যকর লুপ () {

// যদি GPS থেকে কোন অক্ষর আসে, /

/ তাদের TinyGPS ++ অবজেক্টে পাঠান

যখন (ss.available ()> 0)

gps.encode (ss.read ());

// আসুন নতুন অবস্থান এবং উচ্চতা প্রদর্শন করি

// যখনই তাদের মধ্যে কোনটি আপডেট করা হয়েছে।

যদি (gps.location.isUpdated () || gps.altitude.isUpdated ())

{

Serial.print ("অবস্থান:");

সিরিয়াল.প্রিন্ট (gps.location.lat (), 6);

সিরিয়াল.প্রিন্ট (",");

সিরিয়াল.প্রিন্ট (gps.location.lng (), 6);

সিরিয়াল.প্রিন্ট ("উচ্চতা:");

Serial.println (gps.altitude.meters ());

}

}

আমাদের দ্বিতীয় অ্যাপ্লিকেশনটি ক্রমাগত রিসিভারের অবস্থান এবং উচ্চতা প্রদর্শন করে, পার্সিংয়ে সাহায্য করার জন্য TinyGPS ++ ব্যবহার করে। একটি বাস্তব ডিভাইসে, আপনি এই ডেটা একটি SD কার্ডে লগ ইন করতে পারেন অথবা এটি একটি LCD তে প্রদর্শন করতে পারেন। লাইব্রেরি ধরুন এবং FindingYourself.ino (উপরে) স্কেচ করুন। আরডুইনো লাইব্রেরি ফোল্ডারে যথারীতি লাইব্রেরি ইনস্টল করুন। আপনার Arduino এ স্কেচ আপলোড করুন এবং 115, 200 বাউডে সিরিয়াল মনিটর খুলুন। আপনি রিয়েল টাইমে আপনার অবস্থান এবং উচ্চতা আপডেট দেখতে পাবেন। আপনি কোথায় দাঁড়িয়ে আছেন তা দেখতে, গুগল ম্যাপে কিছু অক্ষাংশ/দ্রাঘিমাংশের স্থানাঙ্ক পেস্ট করুন। এখন আপনার ল্যাপটপটি সংযুক্ত করুন এবং হাঁটুন বা ড্রাইভ করুন। (কিন্তু রাস্তায় আপনার চোখ রাখতে ভুলবেন না!)

ধাপ 7: "চতুর্থ মাত্রা"

আমরা মহাকাশে অবস্থানের সাথে জিপিএস যুক্ত করি, ভুলে যাবেন না যে এই উপগ্রহগুলি সময় এবং ডেটাস্ট্যাম্পগুলিও প্রেরণ করছে। গড় জিপিএস ঘড়ি এক সেকেন্ডের দশ মিলিয়ন ভাগের মধ্যে সঠিক, এবং তাত্ত্বিক সীমা আরও বেশি। এমনকি সময়ের হিসাব রাখতে আপনার প্রজেক্টের প্রয়োজন হলেও, একটি জিপিএস মডিউল এখনও সবচেয়ে সস্তা এবং সহজ সমাধান হতে পারে।

FindingYourself.ino কে একটি অতি নির্ভুল ঘড়িতে পরিণত করতে, শুধু শেষের কয়েকটি লাইন এইভাবে পরিবর্তন করুন:

যদি (gps.time.isUpdated ()) {

char buf [80];

sprintf (buf, "সময়%02d:%02d:%02d", gps.time.hour (), gps.time.minute (), gps.time.second ()); Serial.println (buf);

}

ধাপ 8: আপনার পথ খোঁজা

তোমার পথ খুঁজছি
তোমার পথ খুঁজছি

আমাদের তৃতীয় এবং চূড়ান্ত আবেদনটি একটি পাঠ্যযোগ্য TinyGPS ++ স্কেচ লেখার ব্যক্তিগত চ্যালেঞ্জের ফলাফল, 100 টিরও কম কোডের মধ্যে, যা ব্যবহারকারীকে "সোজা রাখা" বা "বাম বাম" এর মতো সাধারণ পাঠ্য নির্দেশাবলী ব্যবহার করে গন্তব্যস্থলের দিকে পরিচালিত করবে।

#অন্তর্ভুক্ত #অন্তর্ভুক্ত

#RXPin 2 নির্ধারণ করুন

#TXPin 3 নির্ধারণ করুন

#GPSBaud 4800 নির্ধারণ করুন

#কনসোল বড 115200 নির্ধারণ করুন

// GPS ডিভাইসের সিরিয়াল সংযোগ সফটওয়্যার সিরিয়াল এসএস (RXPin, TXPin);

// TinyGPS ++ বস্তু TinyGPSPlus জিপিএস;

স্বাক্ষরবিহীন দীর্ঘ lastUpdateTime = 0;

#EIFFEL_LAT 48.85823 নির্ধারণ করুন#EIFFEL_LNG 2.29438 নির্ধারণ করুন

/* এই উদাহরণটি একটি মৌলিক কাঠামো দেখায় যে আপনি কীভাবে একজন ব্যক্তিকে (বা ড্রোন) গন্তব্যে গাইড করার জন্য কোর্স এবং দূরত্ব ব্যবহার করতে পারেন। এই গন্তব্য আইফেল টাওয়ার। প্রয়োজনে এটি পরিবর্তন করুন।

ল্যাট/লং কোঅর্ডিনেট পাওয়ার সবচেয়ে সহজ উপায় হল গুগল ম্যাপে গন্তব্যে ডান ক্লিক করুন (maps.google.com), এবং "এখানে কি?" বেছে নিন। এটি অনুসন্ধান বাক্সে সঠিক মান রাখে।

*/

অকার্যকর সেটআপ(){

Serial.begin (ConsoleBaud);

ss.begin (GPSBaud);

Serial.println ("GPS উদাহরণ 3");

Serial.println ("একটি ব্যাপক নয় গাইডেন্স সিস্টেম");

Serial.println ("মিকাল হার্ট দ্বারা");

Serial.println ();

}

অকার্যকর লুপ () {

// যদি GPS থেকে কোন অক্ষর আসে, // তাদের TinyGPS ++ অবজেক্টে পাঠান যখন (ss.available ()> 0) gps.encode (ss.read ());

// প্রতি 5 সেকেন্ডে একটি আপডেট করুন।

যদি (মিলিস () - lastUpdateTime> = 5000)

{

lastUpdateTime = মিলিস ();

Serial.println ();

// আমাদের বর্তমান অবস্থা প্রতিষ্ঠা করুন

ডাবল দূরত্ব ToDestination = TinyGPSPlus:: distanceBetween

gps.location.lat (), gps.location.lng (), EIFFEL_LAT, EIFFEL_LNG);

ডাবল কোর্স ToDestination = TinyGPSPlus:: courseTo

gps.location.lat (), gps.location.lng (), EIFFEL_LAT, EIFFEL_LNG);

const char *directionToDestination = TinyGPSPlus:: cardinal (courseToDestination);

int courseChangeNeeded = (int) (360 + courseToDestination - gps.course.deg ()) % 360;

// ডিবাগ সিরিয়াল.প্রিন্ট ("DEBUG: Course2Dest:");

Serial.print (courseToDestination);

Serial.print ("CurCourse:");

সিরিয়াল.প্রিন্ট (gps.course.deg ());

Serial.print ("Dir2Dest:");

Serial.print (directionToDestination);

Serial.print ("RelCourse:");

Serial.print (courseChangeNeeded);

Serial.print ("CurSpd:");

Serial.println (gps.speed.kmph ());

// গন্তব্যের 20 মিটারের মধ্যে? এখানে ছিল

যদি (দূরত্বের গন্তব্য <= 20.0)

{Serial.println ("অভিনন্দন: আপনি এসেছেন!");

প্রস্থান (1);

}

Serial.print ("DISTANCE:"); Serial.print (distanceToDestination);

Serial.println ("মিটার যেতে হবে।");

সিরিয়াল.প্রিন্ট ("নির্দেশনা:");

// স্থায়ী এখনও? কোন দিকে যেতে হবে তা কেবল নির্দেশ করুন।

যদি (gps.speed.kmph () <2.0)

{

সিরিয়াল.প্রিন্ট ("হেড");

Serial.print (directionToDestination);

Serial.println ("।");

প্রত্যাবর্তন;

}

if (courseChangeNeeded> = 345 || courseChangeNeeded <15) Serial.println ("সোজা এগিয়ে থাকুন!");

অন্যথায় যদি (courseChangeNeeded> = 315 && courseChangeNeeded <345)

Serial.println ("বাম দিকে সামান্য বীর।");

অন্যথায় যদি (courseChangeNeeded> = 15 && courseChangeNeeded <45)

Serial.println ("একটু ডান দিকে বীর।");

অন্যথায় যদি (courseChangeNeeded> = 255 && courseChangeNeeded <315)

Serial.println ("বাঁ দিকে ঘুরুন।");

অন্যথায় যদি (courseChangeNeeded> = 45 && courseChangeNeeded <105)

Serial.println ("ডান দিকে ঘুরুন।");

অন্য

Serial.println ("সম্পূর্ণ ঘুরিয়ে দিন।");

}

}

প্রতি 5 সেকেন্ডে কোড ব্যবহারকারীর অবস্থান এবং কোর্স (ভ্রমণের দিকনির্দেশ) ধারণ করে এবং TinyGPS ++ courseTo () পদ্ধতি ব্যবহার করে ভারবহন (গন্তব্যের দিকে) গণনা করে। দুটি ভেক্টরের তুলনা করে নীচে দেখানো হিসাবে সোজা বা বাঁক রাখার পরামর্শ তৈরি করে।

FindingYourWay.ino (উপরে) স্কেচটি অনুলিপি করুন এবং Arduino IDE এ পেস্ট করুন। 1km বা 2km দূরে একটি গন্তব্য সেট করুন, আপনার Arduino এ স্কেচ আপলোড করুন, এটি আপনার ল্যাপটপে চালান এবং দেখুন যে এটি আপনাকে সেখানে গাইড করবে কিনা। কিন্তু আরও গুরুত্বপূর্ণ, কোডটি অধ্যয়ন করুন এবং এটি কীভাবে কাজ করে তা বুঝতে পারেন।

ধাপ 9: আরও এগিয়ে যাওয়া

জিপিএস এর সৃজনশীল সম্ভাবনা বিশাল। আমার তৈরি করা সবচেয়ে সন্তোষজনক জিনিসগুলির মধ্যে একটি হল একটি জিপিএস-সক্ষম ধাঁধা বাক্স যা কেবলমাত্র একটি পূর্বনির্ধারিত স্থানে খোলে। যদি আপনার শিকার ধনটিকে ভিতরে আটকে রাখতে চায়, তাহলে তাকে সেই গোপন স্থানটি খুঁজে বের করতে হবে এবং শারীরিকভাবে সেখানে বাক্সটি আনতে হবে। একটি প্রথম প্রথম প্রজেক্ট আইডিয়া হল একধরনের লগিং ডিভাইস যা প্রতি মিনিটের অবস্থান এবং উচ্চতা দ্বারা রেকর্ড করে, যেমন, একজন হাইকার ট্রান্স-পেনিন ট্রেইলে হাঁটছে। অথবা খারাপ লোকের গাড়িতে ব্রেকিং ব্যাড স্টিক -এর ডিইএ এজেন্টদের সেই ভীত চুম্বকীয় ট্র্যাকারের একজনের কী হবে? উভয়ই সম্পূর্ণরূপে সম্ভাব্য, এবং সম্ভবত এটি নির্মাণের জন্য মজাদার হবে, কিন্তু আমি আপনাকে আরও বিস্তৃতভাবে চিন্তা করতে উত্সাহিত করি, আপনি ইতিমধ্যে অ্যামাজনে যে জিনিসগুলি কিনতে পারেন তার বাইরে। এটি একটি বড় পৃথিবী। যতদূর সম্ভব ঘুরে বেড়ান।

প্রস্তাবিত: