সুচিপত্র:
- সরবরাহ
- ধাপ 1: জিপিএস ডেটা পাওয়া
- ধাপ 2: রেডিও মাধ্যমে জিপিএস ডেটা পাঠানো
- ধাপ 3: এসডি কার্ড মডিউল ব্যবহার করে ডেটা সংরক্ষণ করা
- ধাপ 4: জিপিএস ডেটা পাঠানো এবং সংরক্ষণ করা
- ধাপ 5: ধন্যবাদ
ভিডিও: স্মার্ট বুয়া [জিপিএস, রেডিও (এনআরএফ 24) এবং একটি এসডি কার্ড মডিউল]: 5 টি ধাপ (ছবি সহ)
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 07:56
এই স্মার্ট বুয়া সিরিজটি আমাদের (উচ্চাকাঙ্ক্ষী) একটি বৈজ্ঞানিক বুয়া তৈরির প্রচেষ্টার তালিকা দেয় যা অফ-দ্য-শেলফ পণ্য ব্যবহার করে সমুদ্র সম্পর্কে অর্থপূর্ণ পরিমাপ নিতে পারে। এটি চারটির মধ্যে দুটি টিউটোরিয়াল - নিশ্চিত করুন যে আপনি আপ টু ডেট আছেন, এবং যদি আপনার প্রকল্পের দ্রুত পরিচিতির প্রয়োজন হয়, আমাদের সারাংশ দেখুন।
পর্ব 1: তরঙ্গ এবং তাপমাত্রা পরিমাপ করা
এই টিউটোরিয়ালে, আমরা আপনাকে দেখাব কিভাবে জিপিএস ডেটা পেতে হয়, এটি একটি এসডি কার্ডে সংরক্ষণ করে এবং রেডিও ব্যবহার করে কোথাও পাঠায়।
আমরা এই কাজটি করেছি যাতে আমরা আমাদের সমুদ্রের বুয়োর অবস্থানের উপর নজর রাখতে পারি। রেডিও মানে আমরা এটাকে দূর থেকে দেখতে পারি এবং SD কার্ড এর মানে হল যে যদি কোন সুযোগ ভেঙে যায় এবং এটি ঘুরে বেড়ায়, আমরা এটির অপরিকল্পিত ভ্রমণের সময় সংগৃহীত ডেটা ডাউনলোড করতে পারি - যদি আমরা এটি পুনরুদ্ধার করতে সক্ষম হই!
সরবরাহ
জিপিএস মডিউল - অ্যামাজন
এসডি কার্ড মডিউল - অ্যামাজন
এসডি কার্ড - অ্যামাজন
2 এক্স রেডিও মডিউল (NRF24L01+) - আমাজন
2 এক্স আরডুইনো - অ্যামাজন
ধাপ 1: জিপিএস ডেটা পাওয়া
জিপিএস লোকেশন এবং ডেটটাইম সহ সমুদ্রে বসার সময় স্মার্ট বুয়া সেন্সর পরিমাপ করে। পরিকল্পিতভাবে দেখুন যা দেখায় কিভাবে আমরা সার্কিট সেট আপ করি। জিপিএস মডিউল সিরিয়াল সংযোগের মাধ্যমে যোগাযোগ করে, তাই আমরা আরডুইনো সফটওয়্যার সিরিয়াল লাইব্রেরির পাশাপাশি ছোট জিপিএস লাইব্রেরি ব্যবহার করছি। এই লাইব্রেরিগুলি সবকিছুকে খুব সহজ করে তোলে। আসুন আপনাকে কোডের মাধ্যমে নিয়ে যাই …
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত // TinyGPS ++ বস্তু TinyGPSPlus জিপিএস; // জিপিএস ডিভাইস সফটওয়্যার সিরিয়াল এসএস (4, 3) এর সিরিয়াল সংযোগ; struct dataStruct {ডবল অক্ষাংশ; ডবল দ্রাঘিমাংশ; স্বাক্ষরবিহীন দীর্ঘ তারিখ; স্বাক্ষরবিহীন দীর্ঘ সময়; } জিপিএস ডেটা; অকার্যকর সেটআপ () {Serial.begin (115200); ss.begin (9600); } void loop () {while (ss.available ()> 0) {if (gps.encode (ss.read ())) {getInfo (); printResults (); }}} getInfo () {if (gps.location.isValid ()) {gpsData.latitude = gps.location.lat (); gpsData.longitude = gps.location.lng (); } অন্য {Serial.println ("অবৈধ অবস্থান"); } যদি (gps.date.isValid ()) {gpsData.date = gps.date.value (); } অন্য {Serial.println ("অবৈধ তারিখ"); } যদি (gps.time.isValid ()) {gpsData.time = gps.time.value (); } অন্য {Serial.println ("অবৈধ সময়"); }} void printResults () {Serial.print ("Location:"); সিরিয়াল.প্রিন্ট (gpsData.latitude, 6); সিরিয়াল.প্রিন্ট (","); সিরিয়াল.প্রিন্ট (gpsData.longitude, 6); সিরিয়াল.প্রিন্ট ("তারিখ:"); সিরিয়াল.প্রিন্ট (gpsData.date); সিরিয়াল.প্রিন্ট ("সময়:"); সিরিয়াল.প্রিন্ট (gpsData.time); Serial.println (); }
(এই কোডের জন্য ভিডিওটি দেখুন
ধাপ 2: রেডিও মাধ্যমে জিপিএস ডেটা পাঠানো
ধরুন বয় সমুদ্রের মধ্যে পরিমাপ করছে, কিন্তু আমরা আমাদের পা ভেজা না করে বা বয়কে তীরে না এনে ডেটা দেখতে চাই। দূর থেকে পরিমাপ পেতে, আমরা যোগাযোগের উভয় পাশে একটি Arduino এর সাথে সংযুক্ত একটি রেডিও মডিউল ব্যবহার করছি। ভবিষ্যতে, আমরা রিসিভার-সাইড আরডুইনোকে রাস্পবেরি পাই দিয়ে প্রতিস্থাপন করব। রেডিও এই উভয় ইন্টারফেসের সাথে একইভাবে কাজ করে তাই তাদের উপর অদলবদল করা বেশ সহজবোধ্য।
রেডিও মডিউল SPI ব্যবহার করে যোগাযোগ করে, যার জন্য I2C এর তুলনায় আরো কিছু সংযোগ প্রয়োজন কিন্তু NRF24 লাইব্রেরির কারণে এখনও ব্যবহার করা সত্যিই সহজ। সেন্সর পরিমাপের জন্য জিপিএস মডিউল ব্যবহার করে, আমরা এর ডেটা এক Arduino থেকে অন্যটিতে প্রেরণ করি। আমরা জিপিএস এবং রেডিও মডিউলকে আরডুইনোতে সংযুক্ত করতে যাচ্ছি এবং অন্যদিকে রেডিও মডিউলের সাথে একটি আরডুইনো - পরিকল্পিতভাবে দেখুন।
ট্রান্সমিটার
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত TinyGPSPlus জিপিএস; সফটওয়্যার সিরিয়াল এসএস (4, 3); RF24 রেডিও (8, 7); // CE, CSN struct dataStruct {ডবল অক্ষাংশ; ডবল দ্রাঘিমাংশ; স্বাক্ষরবিহীন দীর্ঘ তারিখ; স্বাক্ষরবিহীন দীর্ঘ সময়; } জিপিএস ডেটা; অকার্যকর সেটআপ () {Serial.begin (115200); ss.begin (9600); Serial.println ("রেডিও স্থাপন"); // সেটআপ ট্রান্সমিটার রেডিও radio.begin (); radio.openWritingPipe (0xF0F0F0F0E1LL); radio.setChannel (0x76); radio.setPALevel (RF24_PA_MAX); radio.setDataRate (RF24_250KBPS); radio.stopListening (); radio.enableDynamicPayloads (); radio.powerUp (); Serial.println ("পাঠানো শুরু"); } void loop () {while (ss.available ()> 0) {if (gps.encode (ss.read ())) {getInfo (); radio.write (& gpsData, sizeof (gpsData)); }}} অকার্যকর getInfo () {যদি (gps.location.isValid ()) {gpsData.longitude = gps.location.lng (); gpsData.latitude = gps.location.lat (); } অন্যথায় {gpsData.longitude = 0.0; gpsData.latitude = 0.0; } যদি (gps.date.isValid ()) {gpsData.date = gps.date.value (); } অন্যথায় {gpsData.date = 0; } যদি (gps.time.isValid ()) {gpsData.time = gps.time.value (); } অন্যথায় {gpsData.time = 0; }}
প্রাপক
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত #অন্তর্ভুক্ত RF24 রেডিও (8, 7); // CE, CSN struct dataStruct {ডবল অক্ষাংশ; ডবল দ্রাঘিমাংশ; স্বাক্ষরবিহীন দীর্ঘ তারিখ; স্বাক্ষরবিহীন দীর্ঘ সময়; } জিপিএস ডেটা; অকার্যকর সেটআপ () {Serial.begin (115200); // সেটআপ রিসিভার রেডিও radio.begin (); radio.openReadingPipe (1, 0xF0F0F0F0E1LL); radio.setChannel (0x76); radio.setPALevel (RF24_PA_MAX); radio.setDataRate (RF24_250KBPS); radio.startListening (); radio.enableDynamicPayloads (); radio.powerUp (); } void loop () {if (radio.available ()) {radio.read (& gpsData, sizeof (gpsData)); Serial.print ("অবস্থান:"); সিরিয়াল.প্রিন্ট (gpsData.latitude, 6); সিরিয়াল.প্রিন্ট (","); সিরিয়াল.প্রিন্ট (gpsData.longitude, 6); সিরিয়াল.প্রিন্ট ("তারিখ:"); সিরিয়াল.প্রিন্ট (gpsData.date); সিরিয়াল.প্রিন্ট ("সময়:"); সিরিয়াল.প্রিন্ট (gpsData.time); Serial.println ();}}
(এই কোডের জন্য ভিডিওটি দেখুন
ধাপ 3: এসডি কার্ড মডিউল ব্যবহার করে ডেটা সংরক্ষণ করা
রেডিও মডিউলটি বেশ নির্ভরযোগ্য, কিন্তু রিসিভারের পাশে বিদ্যুৎ বিচ্ছিন্ন হলে বা রেডিও সীমার বাইরে চলে গেলে কখনও কখনও আপনার একটি কন্টিনজেন্সি প্ল্যান প্রয়োজন। আমাদের কন্টিনজেন্সি প্ল্যান হল একটি এসডি কার্ড মডিউল যা আমাদের সংগ্রহ করা ডেটা সংরক্ষণ করতে দেয়। যে পরিমাণ ডেটা সংগ্রহ করা হচ্ছে তা এত বড় নয়, তাই একটি ছোট SD কার্ডও সহজেই একদিনের ডেটা সংরক্ষণ করতে সক্ষম হবে।
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত #TinyGPSPlus জিপিএস; সফটওয়্যার সিরিয়াল এসএস (4, 3); struct dataStruct {ডবল অক্ষাংশ; ডবল দ্রাঘিমাংশ; স্বাক্ষরবিহীন দীর্ঘ তারিখ; স্বাক্ষরবিহীন দীর্ঘ সময়; } জিপিএস ডেটা; অকার্যকর সেটআপ () {Serial.begin (115200); ss.begin (9600); যদি (! SD.begin (5)) {Serial.println ("কার্ড ব্যর্থ হয়েছে, অথবা উপস্থিত নেই"); প্রত্যাবর্তন; } Serial.println ("কার্ড আরম্ভ করা হয়েছে।"); ফাইল dataFile = SD.open ("gps_data.csv", FILE_WRITE); যদি (dataFile) {dataFile.println ("অক্ষাংশ, দ্রাঘিমাংশ, তারিখ, সময়"); dataFile.close (); } অন্যথায় {Serial.println ("নাহ ফাইল খুলতে পারে না"); }} void loop () {while (ss.available ()> 0) {if (gps.encode (ss.read ())) {getInfo (); printResults (); saveInfo (); }}} অকার্যকর getInfo () {যদি (gps.location.isValid ()) {gpsData.latitude = gps.location.lat (); gpsData.longitude = gps.location.lng (); } অন্য {Serial.println ("অবৈধ অবস্থান"); } যদি (gps.date.isValid ()) {gpsData.date = gps.date.value (); } অন্য {Serial.println ("অবৈধ তারিখ"); } যদি (gps.time.isValid ()) {gpsData.time = gps.time.value (); } অন্য {Serial.println ("অবৈধ সময়"); }} void printResults () {Serial.print ("Location:"); সিরিয়াল.প্রিন্ট (gpsData.latitude, 6); সিরিয়াল.প্রিন্ট (","); সিরিয়াল.প্রিন্ট (gpsData.longitude, 6); সিরিয়াল.প্রিন্ট ("তারিখ:"); সিরিয়াল.প্রিন্ট (gpsData.date); সিরিয়াল.প্রিন্ট ("সময়:"); সিরিয়াল.প্রিন্ট (gpsData.time); Serial.println (); } void saveInfo () {File dataFile = SD.open ("gps_data.csv", FILE_WRITE); যদি (dataFile) {dataFile.print (gpsData.latitude); dataFile.print (","); dataFile.print (gpsData.longitude); dataFile.print (","); dataFile.print (gpsData.date); dataFile.print (","); dataFile.println (gpsData.time); dataFile.close (); } অন্যথায় {Serial.println ("nope no datafile"); }}
(আমরা ভিডিওটিতে এই কোডের মাধ্যমে কথা বলি
ধাপ 4: জিপিএস ডেটা পাঠানো এবং সংরক্ষণ করা
ধাপ 5: ধন্যবাদ
আমাদের মেইলিং লিস্টে সাইন আপ করুন!
পর্ব 1: তরঙ্গ এবং তাপমাত্রা পরিমাপ করা
পার্ট 2: GPS NRF24 রেডিও এবং এসডি কার্ড
পার্ট 3: বয়কে সময় নির্ধারণ করার ক্ষমতা
পার্ট 4: বয় মোতায়েন
প্রস্তাবিত:
আর্ডুইনো ইউএনও এবং এসডি-কার্ড দিয়ে আর্দ্রতা এবং তাপমাত্রা রিয়েল টাইম ডেটা রেকর্ডার কিভাবে তৈরি করবেন - প্রোটিয়াসে DHT11 ডেটা-লগার সিমুলেশন: 5 টি ধাপ
আর্ডুইনো ইউএনও এবং এসডি-কার্ড দিয়ে আর্দ্রতা এবং তাপমাত্রা রিয়েল টাইম ডেটা রেকর্ডার কিভাবে তৈরি করবেন | প্রোটিয়াসে DHT11 ডেটা-লগার সিমুলেশন: ভূমিকা: হাই, এটি লিওনো মেকার, এখানে ইউটিউব লিঙ্ক রয়েছে। আমরা আরডুইনো দিয়ে সৃজনশীল প্রকল্প তৈরি করছি এবং এমবেডেড সিস্টেমে কাজ করছি।
আরডুইনো সহ এসডি কার্ড মডিউল: কীভাবে ডেটা পড়তে/লিখতে হয়: 14 টি ধাপ
আরডুইনো সহ এসডি কার্ড মডিউল: কীভাবে ডেটা পড়তে/লিখতে হয়: সংক্ষিপ্ত বিবরণ প্রতিটি প্রকল্পের সবচেয়ে গুরুত্বপূর্ণ অংশগুলির মধ্যে একটি। ডাটা টাইপ এবং সাইজ অনুযায়ী ডাটা সংরক্ষণ করার বিভিন্ন উপায় রয়েছে। এসডি এবং মাইক্রো এসডি কার্ডগুলি স্টোরেজ ডিভাইসের মধ্যে অন্যতম ব্যবহারিক, যা ব্যবহার করা হয়
ব্লুটুথের মাধ্যমে এসডি কার্ড মডিউল সহ আরডুইনো থেকে অ্যান্ড্রয়েড ফোনে তাপমাত্রা এবং আর্দ্রতা ডেটা লগার: 5 টি ধাপ
ব্লুটুথের মাধ্যমে এসডি কার্ড মডিউল সহ আরডুইনো থেকে অ্যান্ড্রয়েড ফোনে তাপমাত্রা এবং আর্দ্রতা ডেটা লগার: হ্যালো অল, এটি আমার প্রথম নির্দেশযোগ্য, আশা করি আমি নির্মাতা সম্প্রদায়কে সাহায্য করব কারণ আমি এতে উপকৃত হয়েছি। প্রায়শই আমরা আমাদের প্রকল্পে সেন্সর ব্যবহার করি কিন্তু ডেটা সংগ্রহ, সংরক্ষণ এবং একটি ফোন বা অন্য ডিভাইস অবিলম্বে স্থানান্তর করার একটি উপায় খুঁজে বের করি
সস্তা Arduino এসডি কার্ড মডিউল: 5 টি ধাপ
সস্তা Arduino এসডি কার্ড মডিউল: বর্ণনা: এসডি কার্ড মডিউল একটি স্ট্যান্ডার্ড এসডি কার্ড থেকে এবং থেকে তথ্য স্থানান্তর করার জন্য ব্যবহৃত হয়। পিন আউট সরাসরি Arduino এর সাথে সামঞ্জস্যপূর্ণ এবং অন্যান্য মাইক্রো-কন্ট্রোলারের সাথেও ব্যবহার করা যেতে পারে। এটি আমাদেরকে গণ সঞ্চয়স্থান এবং ডেটা লগিং যুক্ত করতে দেয়
স্বয়ংক্রিয় হোম পর্দা - মিনি প্রজেক্ট উইথ মেকারশিপস ব্লুচিপ (এনআরএফ ৫১ বিএলই) মডিউল: Ste টি ধাপ (ছবি সহ)
স্বয়ংক্রিয় হোম পর্দা - ম্যাকারশিপস ব্লুচিপ (এনআরএফ ৫১ বিএলই) মডিউল সহ মিনি প্রজেক্ট: কল্পনা করুন জেগে ওঠা এবং আপনার জানালা দিয়ে সূর্যের আলো পেতে চান, অথবা পর্দা বন্ধ করুন যাতে আপনি আরও ঘুমাতে পারেন, নিজেকে বন্ধ করার প্রচেষ্টা ছাড়াই পর্দায় কিন্তু আপনার স্মার্টফের একটি বোতামের স্পর্শে