সুচিপত্র:

আরডুইনো পার্ট 3 এ সহজ খুব কম পাওয়ার বিএলই - ন্যানো ভি 2 প্রতিস্থাপন - রেভ 3: 7 ধাপ (ছবি সহ)
আরডুইনো পার্ট 3 এ সহজ খুব কম পাওয়ার বিএলই - ন্যানো ভি 2 প্রতিস্থাপন - রেভ 3: 7 ধাপ (ছবি সহ)

ভিডিও: আরডুইনো পার্ট 3 এ সহজ খুব কম পাওয়ার বিএলই - ন্যানো ভি 2 প্রতিস্থাপন - রেভ 3: 7 ধাপ (ছবি সহ)

ভিডিও: আরডুইনো পার্ট 3 এ সহজ খুব কম পাওয়ার বিএলই - ন্যানো ভি 2 প্রতিস্থাপন - রেভ 3: 7 ধাপ (ছবি সহ)
ভিডিও: পরীক্ষাতে টুকলি করুন ডিজিটাল ভাবে। টুকলি করার আধুনিক পদ্ধতি।Exam cheating devices @KothaiKiHocche 2024, নভেম্বর
Anonim
আরডুইনো পার্ট 3 এ সহজ খুব কম পাওয়ার বিএলই - ন্যানো ভি 2 প্রতিস্থাপন - রেভ 3
আরডুইনো পার্ট 3 এ সহজ খুব কম পাওয়ার বিএলই - ন্যানো ভি 2 প্রতিস্থাপন - রেভ 3
আরডুইনো পার্ট 3 এ সহজ খুব কম পাওয়ার বিএলই - ন্যানো ভি 2 প্রতিস্থাপন - রেভ 3
আরডুইনো পার্ট 3 এ সহজ খুব কম পাওয়ার বিএলই - ন্যানো ভি 2 প্রতিস্থাপন - রেভ 3
আরডুইনো পার্ট 3 এ সহজ খুব কম পাওয়ার বিএলই - ন্যানো ভি 2 প্রতিস্থাপন - রেভ 3
আরডুইনো পার্ট 3 এ সহজ খুব কম পাওয়ার বিএলই - ন্যানো ভি 2 প্রতিস্থাপন - রেভ 3

আপডেট: 7 ই এপ্রিল 2019 - lp_BLE_TempHumidity এর Rev 3, তারিখ/সময় প্লট যোগ করে, pfodApp V3.0.362+ব্যবহার করে, এবং ডেটা পাঠানোর সময় অটো থ্রোটলিং

আপডেট: 24 মার্চ 2019 - lp_BLE_TempHumidity এর Rev 2

ভূমিকা

এই টিউটোরিয়াল, একটি রেডবিয়ার ন্যানো ভি 2 প্রতিস্থাপন, 3 এর অংশ 3। এটি এই প্রকল্পের পুনর্বিবেচনা 2। রিভিশন 2 পিসিবিতে কয়েন সেল এবং সেন্সরের জন্য মাউন্ট করা, নির্মাণকে সহজ করে এবং সরাসরি সূর্যের আলো থেকে রক্ষা করার সময় সেন্সরের চারপাশে বায়ু প্রবাহ উন্নত করে। রিভিশন 1 এখানে।

পার্ট 1 - Arduino এর সাহায্যে খুব কম পাওয়ার BLE ডিভাইস তৈরি করা সহজ, Arduino কে কোড nRF52 লো পাওয়ার ডিভাইস, প্রোগ্রামিং মডিউল এবং সাপ্লাই কারেন্ট পরিমাপ করা। এটি বিশেষ লো পাওয়ার টাইমার এবং তুলনাকারী এবং ডিবাউন্সড ইনপুট এবং nRF52 ডিভাইসের সাথে সংযোগ এবং নিয়ন্ত্রণের জন্য pfodApp ব্যবহার করে।

পার্ট 2 - একটি খুব কম শক্তি তাপমাত্রা আর্দ্রতা মনিটর একটি কম শক্তি ব্যাটারি / সৌর মনিটর তৈরি করতে একটি Redbear Nano V2 মডিউল এবং একটি Si7021 তাপমাত্রা / আর্দ্রতা সেন্সর ব্যবহার করে। এটি Si7021 লাইব্রেরিকে কম শক্তি হিসাবে পরিবর্তন করে, BLE ডিভাইসটিকে তার বর্তমান খরচ <29uA এ কমিয়ে আনার জন্য এবং আপনার মোবাইলের জন্য একটি কাস্টম তাপমাত্রা/আর্দ্রতা প্রদর্শন ডিজাইন করে।

পার্ট 3 - একটি রেডবিয়ার ন্যানো ভি 2 প্রতিস্থাপন, এটি ন্যানো ভি 2 এর পরিবর্তে অন্যান্য এনআরএফ 52 ভিত্তিক মডিউল ব্যবহার করে। এটি সরবরাহ উপাদান নির্বাচন, নির্মাণ, nRF52 চিপ প্রোগ্রামিং সুরক্ষা অপসারণ, NFC পিনগুলিকে স্বাভাবিক GPIO হিসাবে ব্যবহার করে এবং Arduino এ একটি নতুন nRF52 বোর্ড সংজ্ঞায়িত করে।

এই নির্দেশযোগ্য একটি ন্যানো V2 প্রতিস্থাপন হিসাবে একটি SKYLAB SBK369 বোর্ড ব্যবহার করে একটি খুব কম শক্তি BLE তাপমাত্রা এবং আর্দ্রতা মনিটর নির্মাণের মাধ্যমে পার্ট 1 বিল্ডিং খুব কম পাওয়ার BLE ডিভাইসের একটি ব্যবহারিক প্রয়োগ। এই টিউটোরিয়ালটি কিভাবে নতুন বোর্ড সংজ্ঞা তৈরি করতে হয় এবং কিভাবে এনআরএফ 52 প্রোগ্রামিং সুরক্ষা সরিয়ে ফেলা যায় তা পুনরায় প্রোগ্রাম করার অনুমতি দেয়। এই টিউটোরিয়ালটি কম বিদ্যুৎ ব্যবহারের জন্য একই টিউন করা BLE প্যারামিটার সহ পার্ট 2 এর মতো একই স্কেচ ব্যবহার করে এবং শুধুমাত্র ব্যাটারি বা ব্যাটারি + সৌর বা সৌর থেকে চালিত হতে পারে। কম বিদ্যুতের জন্য BLE পরামিতিগুলির টিউনিং অংশ 2 এ অন্তর্ভুক্ত ছিল

Lp_BLE_TempHumidity এর Rev 3, তারিখ এবং সময়ের বিপরীতে ডেটা তৈরি করে শুধু Arduino millis () ব্যবহার করে। PfodApp (V3.0.362+) এর সর্বশেষ সংস্করণ ব্যবহার করে মিলিস () এবং pfodApp ব্যবহার করে Arduino তারিখ এবং সময় দেখুন।

Pfod_lp_nrf52.zip- এর Rev 4 GT832E_01 মডিউলকে সমর্থন করে এবং এই টিউটোরিয়ালটি NFC nRF52 পিনকে স্ট্যান্ডার্ড GPIO এর মতো ব্যবহার করে।

এখানে নির্মিত মনিটর বছরের পর বছর কয়েন সেল বা 2 x AAA ব্যাটারিতে চলবে, এমনকি সৌর সহায়তায় আরও দীর্ঘ। বর্তমান তাপমাত্রা এবং আর্দ্রতা প্রদর্শনের পাশাপাশি, মনিটর 10 মিনিট রিডিংয়ের শেষ 36 ঘন্টা এবং প্রতি ঘণ্টায় 10 দিনের রিডিং সঞ্চয় করে। এগুলি আপনার অ্যান্ড্রয়েড মোবাইলে এবং একটি লগ ফাইলে সংরক্ষিত মানগুলিতে তালিকাভুক্ত করা যেতে পারে। কোনও অ্যান্ড্রয়েড প্রোগ্রামিংয়ের প্রয়োজন নেই, pfodApp সেগুলি পরিচালনা করে। অ্যান্ড্রয়েড ডিসপ্লে এবং চার্টিং সম্পূর্ণরূপে আপনার Arduino স্কেচ দ্বারা নিয়ন্ত্রিত হয় যাতে আপনি প্রয়োজন অনুযায়ী এটি কাস্টমাইজ করতে পারেন।

পার্ট 2 nRF52832 BLE কম্পোনেন্টের জন্য একটি Redbear Nano V2 বোর্ড ব্যবহার করেছে। এই প্রকল্পটি একটি সস্তা SKYLAB SKB369 বোর্ড দিয়ে প্রতিস্থাপন করে। পার্ট 2 এর মতো, একটি স্পার্কফুন Si7021 ব্রেকআউট বোর্ড তাপমাত্রা / আর্দ্রতা সেন্সরের জন্য ব্যবহৃত হয়। Si7021 এর সাথে একটি পরিবর্তিত লো পাওয়ার লাইব্রেরি ব্যবহার করা হয়।

ধাপ 1: কেন একটি ন্যানো ভি 2 প্রতিস্থাপন?

i) ন্যানো ভি 2 বেশ কয়েক মাস ধরে উৎপাদনের বাইরে ছিল এবং পার্টিকেল.আইও লাইনের সাথে খাপ খায় বলে মনে হয় না তাই এটি কতদিনের জন্য উপলব্ধ হবে তা স্পষ্ট নয়।

ii) ন্যানো ভি 2 বেশি ব্যয়বহুল। তবে এর অতিরিক্ত বৈশিষ্ট্যও রয়েছে। নিচে দেখ.

iii) ন্যানো ভি 2 এর উভয় পাশে উপাদান রয়েছে যা এটিকে উচ্চতর প্রোফাইল দেয় এবং এটি মাউন্ট করা আরও কঠিন করে তোলে।

iv) ন্যানো ভি 2 এর সীমিত I/O পিন পাওয়া যায় এবং D6 থেকে D10 ব্যবহার করার জন্য উড়ন্ত সীসা প্রয়োজন।

যদিও ন্যানো ভি 2 বোর্ডটি বেশি ব্যয়বহুল তবে স্কাইল্যাব এসকেবি 369 বোর্ড, ~ ইউএস 17 বনাম ~ ইউএস 5, ন্যানো ভি 2 এর আরও বৈশিষ্ট্য রয়েছে। ন্যানো ভি 2 এর মধ্যে রয়েছে 3.3V নিয়ন্ত্রক এবং সাপ্লাই ক্যাপাসিটার, এনআরএফ 52 ডিসি/ডিসি কনভার্টার বিকল্প ব্যবহারের জন্য অতিরিক্ত উপাদান, একটি চিপ অ্যান্টেনা এবং একটি ইউএফএল এসএমটি অ্যান্টেনা সংযোগকারী।

আরেকটি বিকল্প হল www.homesmartmesh.com দ্বারা ব্যবহৃত GT832E_01 মডিউল। Pfod_lp_nrf52.zip এর Rev 4 GT832E_01 মডিউল প্রোগ্রামিং সমর্থন করে। SKYLAB SKB369 এবং GT832E_01 https://www.aliexpress.com থেকে পাওয়া যায়

Redbear (Particle.io) এর 3V3 নিয়ন্ত্রক, ডিসি/ডিসি উপাদান বা 32Khz স্ফটিক উপাদান ছাড়া একটি খালি মডিউল রয়েছে।

রূপরেখা

এই প্রকল্পের 4 টি আপেক্ষিক স্বাধীন অংশ রয়েছে:-

উপাদান নির্বাচন এবং নির্মাণ nRF52 কোডিং সুরক্ষা পতাকা অপসারণ এবং স্কেচ প্রোগ্রামিং একটি নতুন Arduino nRF52 বোর্ড সংজ্ঞা nRF52 NFC পিনগুলিকে GPIO হিসাবে পুনcon কনফিগার করা

ধাপ 2: উপাদান নির্বাচন এবং নির্মাণ

উপাদান নির্বাচন

অংশ 2 এ নির্বাচিত nRF52832 এবং Si7021 উপাদান ছাড়াও, এই প্রকল্পটি একটি 3.3V নিয়ন্ত্রক এবং সরবরাহ ক্যাপাসিটার যোগ করে।

ভোল্টেজ রেগুলেটর উপাদান

এখানে ব্যবহৃত নিয়ন্ত্রক হল MC87LC33-NRT। এটি 12V পর্যন্ত ইনপুট পরিচালনা করতে পারে এবং <3.6uA, সাধারণত 1.1uA এর একটি নিiesশব্দ বর্তমান আছে ন্যানো ভি 2 টিএলভি 704 রেগুলেটর ব্যবহার করে একটি সামান্য উচ্চ কোয়েসেন্ট কারেন্ট থাকে, সাধারণত 3.4uA এবং 24V পর্যন্ত উচ্চতর ইনপুট ভোল্টেজ পরিচালনা করতে পারে। MC87LC33-NRT এর পরিবর্তে বেছে নেওয়া হয়েছিল কারণ এর ডেটশীট নির্দিষ্ট করে যে এটি কিভাবে সাড়া দেয় যেহেতু ইনপুট ভোল্টেজ 3.3V এর নিচে পড়ে যেখানে TLV704 ডেটশীট নেই।

TLV704 সর্বনিম্ন 2.5V একটি ইনপুট ভোল্টেজ নির্দিষ্ট করে এবং এর নিচে কী হবে তা ডেটশীট থেকে স্পষ্ট নয়। NRF52832 নিচে 1.7V এবং Si7023 নিচে 1.9V চলবে। অন্যদিকে MC87LC33-NRT ইনপুট/আউটপুট ভোল্টেজের পার্থক্য কম স্রোতের জন্য 0V পর্যন্ত নির্দিষ্ট করে (ডেটশীটের চিত্র 18)। সুতরাং উপাদানগুলির পছন্দ দেওয়া, MC87LC33-NRT নির্বাচন করা হয়েছিল কারণ এটির নির্দিষ্ট কর্মক্ষমতা রয়েছে।

সরবরাহ ক্যাপাসিটার

MC87LC33-NRT নিয়ন্ত্রকের স্থায়িত্ব এবং প্রতিক্রিয়ার জন্য কিছু সরবরাহ ক্যাপাসিটরের প্রয়োজন। একটি আউটপুট ক্যাপাসিটর> 0.1uF ডেটশীটে সুপারিশ করা হয়। SKYLAB SBK369 বোর্ডের কাছাকাছি সরবরাহে 10uF/0.1uF ক্যাপাসিটারগুলিও নির্দিষ্ট করে। বড় ক্যাপাসিটারগুলি nRF52 TX বর্তমান স্পাইক সরবরাহে সহায়তা করে। এখানে 4 x 22uF 25V এবং 3 x 0.1uF 50V সিরামিক ক্যাপাসিটার ব্যবহার করা হয়েছিল। একটি 22uF এবং 0.1uF ক্যাপাসিটর SKYLAB SBK369 এর কাছাকাছি রাখা হয়েছিল, একটি 0.1uF স্থিতিশীলতা নিশ্চিত করার জন্য MC87LC33-NRT এর আউটপুটের কাছাকাছি রাখা হয়েছিল এবং MC87LC33-NRT এবং একটিতে 22uF এবং 0.1uF ইনপুটে রাখা হয়েছিল আরও 2 x 22uF ক্যাপাসিটর যেখানে আরও বর্তমান জলাধার হিসাবে Vin/GND পিন জুড়ে বিক্রি করা হয়। তুলনা করার জন্য NanoV2 বোর্ডের TLV704 নিয়ন্ত্রকের ইনপুটে 22uF / 0.1uF এবং তার আউটপুটে 0.1uF রয়েছে।

অতিরিক্ত বর্তমান জলাধার ক্যাপাসিটারগুলি 3.3V নিয়ন্ত্রকের ইনপুটে ইনস্টল করা হয়েছিল যাতে তারা সৌর কোষগুলির সাথে চলার সময় একটি উচ্চ ভোল্টেজ চার্জ করবে। উচ্চ ভোল্টেজের চার্জিং Tx স্পাইক সরবরাহের জন্য আরো বর্তমান সঞ্চয় করার সমান।

সিরামিক X5R ক্যাপাসিটার ব্যবহার করা হয় কারণ তাদের কম সিরিজ রেজিস্ট্যান্স এবং কম ফুটো কারেন্ট থাকে। প্রতিরোধ ক্ষমতা সাধারণত 100, 000MΩ বা 1000MΩ - µF যা কখনও কম। তাই 22uF এর জন্য আমাদের 22000MΩ আছে, অর্থাৎ চার 22uF ক্যাপাসিটরের জন্য 3.3V বা 0.6nA এ 0.15nA ফুটো। তা নগণ্য। কম ESR তুলনা করার জন্য, কম ফুটো প্যানাসনিক ইলেক্ট্রোলাইটিক ক্যাপাসিটরের <0.01CV এর ফুটো স্রোত আছে। সুতরাং একটি 22uF 16V ক্যাপাসিটরের জন্য ফুটো <10uA। দ্রষ্টব্য: এটি রেট ভোল্টেজের ফুটো, এই ক্ষেত্রে 16V। ফুটো কম ভোল্টেজে কম, অর্থাৎ <2.2uA 3.3V এ।

অংশ তালিকা

ডিসেম্বর 2018 অনুযায়ী প্রতি ইউনিটের আনুমানিক খরচ, 1 US $ 61, শিপিং এবং প্রোগ্রামারকে পার্ট 1 থেকে বাদ দিয়ে

  • SKYLAB SKB369 ~ US $ 5 উদা Al Aliexpress
  • স্পার্কফুন Si7021 ব্রেকআউট বোর্ড ~ US $ 8
  • 2 x 53mm x 30mm 0.15W 5V সৌর কোষ যেমন Overfly ~ US $ 1.10
  • 1 x PCB SKYLAB_TempHumiditySensor_R2.zip ~ US $ 25 5 বন্ধ www.pcbcart.com
  • 1 x MC78LC33 3.3V নিয়ন্ত্রক, যেমন Digikey MC78LC33NTRGOSCT-ND ~ US $ 1
  • 2 x 0.1uF 50V সিরামিক C1608X5R1H104K080A যেমন Digikey 445-7456-1-ND ~ US $ 0.3
  • 4 x 22uF 16V সিরামিক GRM21BR61C226ME44L উদা e.g. Digikey 490-10747-1-ND ~ US $ 2
  • 1 x BAT54CW, যেমন Digikey 497-12749-1-ND ~ US $ 0.5
  • 1 x 470R 0.5W 1% প্রতিরোধক উদা e.g. Digikey 541-470TCT-ND ~ US $ 0.25
  • 1 x 10V 1W জেনার SMAZ10-13-F উদা Digikey SMAZ10-FDICT-ND ~ US $ 0.5
  • 3 মিমি x 12 মিমি নাইলন স্ক্রু, যেমন Jaycar HP0140 ~ AUD $ 3
  • 3 মিমি x 12 মিমি নাইলন বাদাম, যেমন Jaycar HP0146 ~ AUD $ 3
  • স্কচ স্থায়ী মাউন্ট টেপ বিড়াল 4010 যেমন আমাজন থেকে ~ US $ 6.6
  • CR2032 ব্যাটারি ধারক, যেমন HU2032-LF ~ US $ 1.5
  • CR2032 ব্যাটারি ~ US $ 1
  • পার্সপেক্স শীট, 3.5 মিমি এবং 8 মিমি
  • pfodApp ~ US $ 10
  • সোল্ডার পেস্ট উদা Jaycar NS-3046 ~ AUD $ 13

ধাপ 3: নির্মাণ

নির্মাণ
নির্মাণ
নির্মাণ
নির্মাণ
নির্মাণ
নির্মাণ

প্রকল্পটি একটি ছোট পিসিবির উপর নির্মিত। PCB এই Gerber ফাইলগুলি থেকে pcbcart.com দ্বারা তৈরি করা হয়েছে

এটি পরিকল্পিত (পিডিএফ সংস্করণ)

প্রথমে SMD কম্পোনেন্টগুলোকে সোল্ডার করুন, তারপর SKYLAB SKB369 বোর্ড মাউন্ট করুন

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

এই সংশোধন অতিরিক্ত 22uF 16V সিরামিক ক্যাপাসিটার যোগ করুন। এই অতিরিক্ত ক্যাপাসিটারগুলি ব্যাটারি থেকে টানা বর্তমান স্পাইকগুলি হ্রাস করে এবং সৌর কোষ থেকে চালিত হওয়ার সময় ভোল্টেজ ডিপসও হ্রাস করে। যতক্ষণ সৌর কোষ থেকে ভোল্টেজ ব্যাটারির ভোল্টেজের উপরে থাকে ততক্ষণ ব্যাটারি থেকে কোন কারেন্ট বের হয় না।

SMD উপাদানগুলি মাউন্ট করার পরে, আপনি SKYLAB SKB369 বোর্ডে ঝালাই করতে পারেন। SKB369 ট্যাবের একপাশে দুটি টেস্ট পয়েন্ট গর্ত রয়েছে। SKB369 বোর্ডে অবস্থান করতে এবং পিনগুলি সাবধানে সারিবদ্ধ করতে একটি কার্ডবোর্ড বেসে দুটি পিন ব্যবহার করুন। (রিভিশন 1 পিসিবি ব্যবহার করে উপরের উদাহরণের ছবিটি দেখুন) তারপর অন্য পিনগুলি সোল্ডার করার আগে বোর্ডটি ধরে রাখার জন্য বিপরীত দিকের একটি পিন সোল্ডার করুন।

সমাপ্ত অংশে CLK থেকে GND পর্যন্ত Gnd লিঙ্ক তারের নোট করুন। এটি একটি উচ্চ বর্তমান ডিবাগ মোডে nRF52 চিপকে ট্রিগার করা থেকে CLK ইনপুটে গোলমাল রোধ করার জন্য প্রোগ্রামিংয়ের পরে ইনস্টল করা আছে।

মাউন্ট কেস

মাউন্ট কেসটি পার্সপেক্সের দুটি টুকরা, 110 মিমি x 35 মিমি, 3 মিমি পুরু থেকে তৈরি করা হয়েছিল। সৌর কোষের নীচে 3.5 মিমি টুকরা 3 মিমি নাইলন স্ক্রু নিতে ট্যাপ করা হয়েছিল। এই সংশোধিত নির্মাণ সরলীকরণ তারপর Rev 1 এবং সেন্সর চারপাশে বায়ু প্রবাহ উন্নত। প্রতিটি প্রান্তে অতিরিক্ত গর্ত মাউন্ট করার জন্য, উদাহরণস্বরূপ তারের বন্ধন ব্যবহার করে।

ধাপ 4: NRF52 কোডিং সুরক্ষা পতাকা অপসারণ

NRF52 কোডিং সুরক্ষা পতাকা সরানো হচ্ছে
NRF52 কোডিং সুরক্ষা পতাকা সরানো হচ্ছে
NRF52 কোডিং সুরক্ষা পতাকা সরানো হচ্ছে
NRF52 কোডিং সুরক্ষা পতাকা সরানো হচ্ছে
NRF52 কোডিং সুরক্ষা পতাকা সরানো হচ্ছে
NRF52 কোডিং সুরক্ষা পতাকা সরানো হচ্ছে

উপরে দেখানো অংশ 1 এ বর্ণিত প্রোগ্রামারের সাথে তাপমাত্রা/আর্দ্রতা বোর্ড সংযুক্ত করুন।

সৌর কোষ এবং ব্যাটারি আনপ্লাগ করা, ভিন এবং Gnd প্রোগ্রামারের Vdd এবং Gnd (হলুদ এবং সবুজ লিড) এর সাথে সংযুক্ত এবং SWCLK এবং SWDIO প্রোগ্রামার হেডার বোর্ডের Clk এবং SIO এর সাথে সংযুক্ত (হোয়াইট এবং গ্রে লিড)

NRF52 প্রোগ্রাম সুরক্ষা সরানো হচ্ছে

নর্ডিক সেমি থেকে - ডিবাগ এবং ট্রেস পৃষ্ঠা DAP - ডিবাগ অ্যাক্সেস পোর্ট। একটি বহিরাগত ডিবাগার ডিএপি এর মাধ্যমে ডিভাইসটি অ্যাক্সেস করতে পারে। DAP একটি আদর্শ ARM® CoreSight ™ Serial Wire Debug Port (SW-DP) প্রয়োগ করে। SW-DP সিরিয়াল ওয়্যার ডিবাগ প্রোটোকল (SWD) প্রয়োগ করে যা একটি দুই-পিন সিরিয়াল ইন্টারফেস, SWDCLK এবং SWDIO

গুরুত্বপূর্ণ: SWDIO লাইনের একটি অভ্যন্তরীণ পুল-আপ প্রতিরোধক রয়েছে। SWDCLK লাইনের একটি অভ্যন্তরীণ পুল-ডাউন রোধক রয়েছে।

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

কণার ডিবাগারের জন্য প্রোগ্রামার হিসেবে CMSIS-DAP নির্বাচন করুন এবং nRF5 ফ্ল্যাশ সফটডিভিস নির্বাচন করুন

যদি ফ্ল্যাশ কাজ করে, তাহলে এটি ঠিক আছে, কিন্তু প্রায়ই মডিউলগুলি পুনরায় প্রোগ্রামিং থেকে সুরক্ষিত থাকবে এবং আপনি Arduino উইন্ডোতে এই ত্রুটি আউটপুট পাবেন

খোলা অন-চিপ ডিবাগার 0.10.0-dev-00254-g696fc0a (2016-04-10-10: 13) GNU GPL v2 এর অধীনে লাইসেন্সকৃত বাগ রিপোর্টের জন্য https://openocd.org/doc/doxygen/bugs.html পড়ুন debug_level: 2 তথ্য: শুধুমাত্র একটি পরিবহন বিকল্প; স্বয়ংক্রিয় নির্বাচন 'swd' অ্যাডাপ্টার গতি: 10000 kHz cortex_m reset_config sysresetreq তথ্য: CMSIS-DAP: SWD সমর্থিত তথ্য: CMSIS-DAP: ইন্টারফেস আরম্ভ (SWD) তথ্য: CMSIS-DAP: FW সংস্করণ = 1.10 তথ্য: SWCLK/TCK = 1 TMS = 1 TDI = 0 TDO = 0 nTRST = 0 nRESET = 1 তথ্য: CMSIS-DAP: ইন্টারফেস প্রস্তুত তথ্য: গতি অনুরোধ কম করুন: 10000kHz থেকে 5000kHz সর্বোচ্চ তথ্য: ঘড়ির গতি 10000 kHz তথ্য: SWD IDCODE 0x2ba01477 ত্রুটি: MEM খুঁজে পাওয়া যায়নি মূল ত্রুটি নিয়ন্ত্রণ করতে -AP: SoftDevice ঝলকানোর সময় লক্ষ্য এখনও পরীক্ষা করা হয়নি ত্রুটি।

সেক্ষেত্রে আপনাকে NRF52 এ ERASEALL কমান্ড রেজিস্টার সেট করতে হবে যাতে মেমরি মুছে যায় এবং ডিভাইসটিকে আবার প্রোগ্রামযোগ্য করা যায়। সন্দীপমিস্ট্রি এনআরএফ 52 এর সাথে সরবরাহ করা ওপেনওসিডির সংস্করণে ERASEALL কমান্ড রেজিস্টারে লেখার জন্য প্রয়োজনীয় apreg কমান্ড অন্তর্ভুক্ত নয় তাই আপনাকে পরবর্তী সংস্করণ ইনস্টল করতে হবে।

OpenOCD সংস্করণ OpenOCD-20181130 বা উচ্চতর ইনস্টল করুন। উইন্ডোজের প্রাক-সংকলিত সংস্করণটি https://gnutoolchains.com/arm-eabi/openocd/ থেকে পাওয়া যায় সর্বশেষ কোডটি https://gnutoolchains.com/arm-eabi/openocd/ থেকে পাওয়া যায়

একটি কমান্ড প্রম্পট খুলুন এবং ওপেনসিডি ইনস্টল ডিরেক্টরিতে dir পরিবর্তন করুন এবং কমান্ডটি প্রবেশ করুন

bin / openocd.exe -d2 -f ইন্টারফেস/cmsis -dap.cfg -f target/nrf52.cfg

প্রতিক্রিয়া হল

অন-চিপ ডিবাগার 0.10.0 (2018-11-30) খুলুন [https://github.com/sysprogs/openocd] GNU GPL v2 এর অধীনে লাইসেন্সকৃত বাগ রিপোর্টের জন্য, https://openocd.org/doc/doxygen/ পড়ুন bugs.html debug_level: 2 তথ্য: প্রথম উপলব্ধ সেশন পরিবহন "swd" স্বয়ংক্রিয়ভাবে নির্বাচন করা। ওভাররাইড করতে 'পরিবহন নির্বাচন' ব্যবহার করুন। অ্যাডাপ্টারের গতি: 1000 kHz cortex_m reset_config sysresetreq তথ্য: tcl সংযোগের জন্য পোর্ট 6666 এ শোনা তথ্য: টেলনেট সংযোগের জন্য পোর্ট 4444 এ শোনা তথ্য: CMSIS-DAP: SWD সমর্থিত তথ্য: CMSIS-DAP: FW সংস্করণ = 1.10 তথ্য: CMSIS-DAP: ইন্টারফেস আরম্ভ (SWD) তথ্য: SWCLK/TCK = 1 SWDIO/TMS = 1 TDI = 0 TDO = 0 nTRST = 0 nRESET = 1 তথ্য: CMSIS-DAP: ইন্টারফেস প্রস্তুত তথ্য: ঘড়ির গতি 1000 kHz তথ্য: SWD DPIDR 0x2ba01477 ত্রুটি: মূল তথ্য নিয়ন্ত্রণ করার জন্য MEM-AP খুঁজে পাওয়া যায়নি: জিডিবি সংযোগের জন্য 3333 পোর্টে শোনা হচ্ছে

তারপর একটি টার্মিনাল উইন্ডো খুলুন যেমন TeraTerm (Windows) অথবা CoolTerm (Mac) এবং 127.0.0.1 port 4444 এ সংযোগ করুন

টেলনেট উইন্ডো একটি> এবং কমান্ড প্রম্পট তথ্য দেখাবে: tcp/4444 তে 'টেলনেট' সংযোগ গ্রহণ

টেলনেট উইন্ডোতে (যেমন TeraTerm) typenrf52.dap apreg 1 0x04 এই রিটার্ন 0x00000000 দেখিয়ে চিপটি সুরক্ষিত। তারপর typenrf52।

টেলনেট সংযোগ বন্ধ করুন এবং কমান্ড প্রম্পটে ওপেনওসিডি প্রোগ্রাম থেকে বেরিয়ে আসার জন্য Ctrl-C ব্যবহার করুন এবং তারপর nRF52 মডিউলকে পাওয়ার সাইকেল করুন এবং এটি এখন প্রোগ্রামের জন্য প্রস্তুত হবে।

এখন সফট ডিভাইস ফ্ল্যাশ করার চেষ্টা করুন।

আপনি এখন Arduino থেকে nRF52 মডিউল প্রোগ্রাম করতে পারেন।

ধাপ 5: SKYLAB SKB369 প্রোগ্রামিং

SKYLAB SKB369 প্রোগ্রামিং
SKYLAB SKB369 প্রোগ্রামিং
SKYLAB SKB369 প্রোগ্রামিং
SKYLAB SKB369 প্রোগ্রামিং
SKYLAB SKB369 প্রোগ্রামিং
SKYLAB SKB369 প্রোগ্রামিং

Arduino বন্ধ করুন এবং pfod_lp_nrf52 হার্ডওয়্যার সাপোর্ট নির্দেশাবলী ইনস্টল করে অনুসরণ করে pfod_lp_nrf52 সমর্থনের সর্বশেষ সংস্করণটি পুনরায় ইনস্টল করুন। সর্বশেষ pfod_lp_nrf52 এর মধ্যে রয়েছে SKYLAB SKB369 Nano2 প্রতিস্থাপন বোর্ড। বোর্ড হিসাবে এটি নির্বাচন করুন এবং তারপর আপনি lp_BLE_TempHumidity, lp_BLE_TempHumidity_R3.zip এর রিভিশন 3 এর সাথে প্রোগ্রাম করতে পারেন, যেমন পার্ট 2 এ বর্ণিত হয়েছে।

যদি প্রোগ্রামিং ব্যর্থ হয়। সমস্ত আরডুইনো উইন্ডো বন্ধ করুন, ইউএসবি কেবলগুলি সরান, আরডুইনো পুনরায় চালু করুন এবং প্রোগ্রামার ইউএসবি কেবলটি আবার প্লাগ করুন এবং এনআরএফ 52 মডিউলের ইউএসবি সরবরাহ পুনরায় প্লাগ করুন এবং আবার চেষ্টা করুন।

তারপর বর্তমান এবং historicalতিহাসিক তাপমাত্রা এবং আর্দ্রতা প্রদর্শন করতে pfodApp এর মাধ্যমে সংযোগ করুন। একবার আপনি historicalতিহাসিক প্লট প্রদর্শন করলে, মিলিসেকেন্ড টাইমস্ট্যাম্প সহ রিডিংগুলি আপনার মোবাইলে লগ ফাইলে সংরক্ষণ করা হয় এবং কাঁচা ডেটা স্ক্রিনেও পাওয়া যায়।

লগ ফাইলে একটি স্প্রেডশীটে তারিখ এবং সময় প্লট পুনরায় তৈরি করার জন্য প্রয়োজনীয় অতিরিক্ত ডেটা রয়েছে। বিস্তারিত জানার জন্য মিলিস () এবং pfodApp ব্যবহার করে Arduino তারিখ এবং সময় দেখুন

ধাপ 6: একটি নতুন Arduino NRF52 বোর্ড সংজ্ঞা তৈরি করা

একটি নতুন Arduino NRF52 বোর্ড সংজ্ঞা তৈরি করা
একটি নতুন Arduino NRF52 বোর্ড সংজ্ঞা তৈরি করা
একটি নতুন Arduino NRF52 বোর্ড সংজ্ঞা তৈরি করা
একটি নতুন Arduino NRF52 বোর্ড সংজ্ঞা তৈরি করা
একটি নতুন Arduino NRF52 বোর্ড সংজ্ঞা তৈরি করা
একটি নতুন Arduino NRF52 বোর্ড সংজ্ঞা তৈরি করা
একটি নতুন Arduino NRF52 বোর্ড সংজ্ঞা তৈরি করা
একটি নতুন Arduino NRF52 বোর্ড সংজ্ঞা তৈরি করা

একটি নতুন nRF52 বোর্ড সমর্থন করার জন্য আপনার প্রয়োজন a) বোর্ড ফাইলের সাথে ভেরিয়েন্টস ডিরেক্টরিতে একটি নতুন ডিরেক্টরি যোগ করুন এবং খ) Arduino- এ নতুন বোর্ড যুক্ত করার জন্য board.txt ফাইল সম্পাদনা করুন।

একটি নতুন nRF52 বোর্ড ভেরিয়েন্ট যোগ করা হচ্ছে

পার্ট 1 এ বর্ণিত, pfod_lp_nrf52 হার্ডওয়্যার সাপোর্ট ইনস্টল করার সময়, pfod_lp_nrf52 সাপোর্ট দিয়ে আপডেট করা সন্দীপমিস্ট্রি প্যাকেজের হার্ডওয়্যার সাব-ডিরেক্টরি খুঁজুন। / হার্ডওয়্যার / nRF5 / 0.6.0 / বৈকল্পিক উপ-ডিরেক্টরি খুলুন এবং আপনার নতুন বোর্ডের জন্য একটি নতুন ডিরেক্টরি তৈরি করুন, যেমন SSKYLAB_SKB369_Nano2replacement নতুন / হার্ডওয়্যার / nRF5 / 0.6.0 / ভেরিয়েন্টে / SKYLAB_SKB369_Nano2replacement ডিরেক্টরি তৈরি করুন, তিনটি ফাইল তৈরি করুন। variant.cpp এবং pins_arduino.h আপনি অন্যান্য বোর্ড ভেরিয়েন্ট ডিরেক্টরি থেকে এগুলি অনুলিপি করতে পারেন। SKYLAB_SKB369_Nano2replacement এর জন্য, আমি প্রাথমিকভাবে RedBear_BLENano2 ভেরিয়েন্ট থেকে ফাইল কপি করেছি।

pins_arduino.h ফাইল

Pins_arduino.h ফাইলটি পরিবর্তন করার প্রয়োজন নেই। এটি শুধু variant.h ফাইল অন্তর্ভুক্ত করে

variant.h ফাইল

আপনার বোর্ডের মোট পিনের সংখ্যা নির্ধারণ করতে variant.h ফাইলটি সম্পাদনা করুন, PINS_COUNT

দ্রষ্টব্য: সন্দীপমিস্ট্রি প্যাকেজে, NUM_DIGITAL_PINS, NUM_ANALOG_INPUTS এবং NUM_ANALOG_OUTPUTS সেটিংস উপেক্ষা করা হয়েছে।

যদি আপনার বোর্ড কম -বেশি এনালগ পিন উপলব্ধ করে, তবে variants.h ফাইলের / * এনালগ পিন * / বিভাগ আপডেট করুন।

দ্রষ্টব্য: NanoV2 এবং SKYLAB বোর্ডের জন্য এনালগ পিনগুলি ডিজিটাল পিন A0 == D0 ইত্যাদি ম্যাপ করা আছে

এটি অপরিহার্য নয়। আপনি যে কোন সুবিধাজনক Arduino পিনে এনালগ ইনপুট বরাদ্দ করতে পারেন। উদাহরণস্বরূপ নীল/বৈকল্পিক.এইচ এবং নীল/বৈকল্পিক। Cpp ফাইলগুলি দেখুন।

NRF52832 চিপে 8 টি এনালগ ইনপুট পিন আছে, কিন্তু SKYLAB_SKB369_Nano2 রিপ্লেসমেন্ট বোর্ড তাদের 6 টিকেই Nano2 এর সাথে মেলে।

RESET_PIN বাদে সমস্ত পিন নম্বর, variant.h ফাইলে Arduino পিন নম্বর। এটি হল #ডিফাইন PIN_A0 (0) বোঝায় যে Arduino স্কেচে D0 হল A0 এর মতো পিন। RESET_PIN ব্যতিক্রম। সেই নম্বরটি হল nRF52823 চিপ পিন নম্বর এবং 21 হল একমাত্র বৈধ পছন্দ। তবে pfod_lp_nrf52 সমর্থন nRF52832 এ রিসেট পিন সক্ষম করে না

variant.cpp ফাইল

Variant.cpp ফাইলে শুধুমাত্র একটি এন্ট্রি আছে, g_ADigitalPinMap অ্যারে যা Arduino পিন নম্বরগুলিকে nRF52832 চিপ P0.. পিনে ম্যাপ করে।

দ্রষ্টব্য: NanoV2 এবং SKYLAB বোর্ডে, Arduino এনালগ পিন A0, A1 … Arduino ডিজিটাল পিন D0, D1 এর মতই …

এনালগ ইনপুটগুলির জন্য আপনার বোর্ড উপলব্ধ করে, g_ADigitalPinMap এ এন্ট্রিগুলি অবশ্যই nRF52832 AIN0, AIN1, AIN2, ইত্যাদি পিন নম্বরগুলি ম্যাপ করতে হবে। যেমন AIN0 হল চিপ পিন P0.02, AIN1 হল চিপ পিন P0.03 ইত্যাদি উপরে nRF52832 পিন লেআউট দেখুন।

অবৈধ ম্যাপিংয়ের জন্য (uint32_t) -1 ব্যবহার করুন। উদাহরণস্বরূপ SKYLAB_SKB369_Nano2replacement বোর্ডে LED, D13 এর অন্তর্নির্মিত নেই, তাই এর অবস্থান (uint32_t) -1 এ ম্যাপ করা হয়েছে

Pfod_lp_nrf52.zip এ Redbear NanoV2, SKYLAB SKB369 এবং GT832E_01 ভেরিয়েন্ট সাব-ডিরেক্টরিতে variant.cpp দ্বারা সেট করা ম্যাপিং দেখানো ছবি আছে। (উপরের ছবিগুলি দেখুন)

SKYLAB SKB369 এর ক্ষেত্রে, বেছে নিতে প্রচুর পিন রয়েছে। ন্যানোভি 2 এর সাথে মেলাতে কেবল যথেষ্ট ম্যাপ করা আছে। GT832E_01 এর ক্ষেত্রে, সমস্ত উপলব্ধ পিনগুলি ম্যাপ করা প্রয়োজন। তারপরেও NanoV2 এ ছয় (6) এর পরিবর্তে মাত্র তিনটি (3) এনালগ ইনপুট পাওয়া যায়। পাশাপাশি এই দুটি NFC পিন, P0.09 এবং P0.10, GPIO- এর হিসাবে পুনরায় কনফিগার করা প্রয়োজন। GPIO এর নীচে nRF52 NFC পিনগুলিকে পুনরায় কনফিগার করা দেখুন।

Board.txt ফাইল আপডেট করা হচ্ছে

বোর্ডস.টক্সট ফাইলে এখানে SKYLAB_SKB369_Nano2replacement এন্ট্রি।

## SKYLAB_SKB369 Nano2 প্রতিস্থাপন SKYLAB_SKB369_NANO2_REPLACEMENT.name =*SKYLAB SKB369 Nano2 প্রতিস্থাপন

SKYLAB_SKB369_NANO2_REPLACEMENT.upload.tool = sandeepmistry: openocd

SKYLAB_SKB369_NANO2_REPLACEMENT.upload.protocol = cmsis-dap SKYLAB_SKB369_NANO2_REPLACEMENT.upload.target = nrf52 SKYLAB_SKB369_NANO2_REPLASEM.24 SKYLAB_SKB369_NANO2_REPLACEMENT.upload.use_1200bps_touch = মিথ্যা SKYLAB_SKB369_NANO2_REPLACEMENT.upload.wait_for_upload_port = মিথ্যা SKYLAB_SKB369_NANO2_RELUB

SKYLAB_SKB369_NANO2_REPLACEMENT.bootloader.tool = sandeepmistry: openocd

SKYLAB_SKB369_NANO2_REPLACEMENT.build.mcu = কর্টেক্স-এম 4

SKYLAB_SKB369_NANO2_REPLACEMENT.build.f_cpu = 16000000 SKYLAB_SKB369_NANO2_REPLACEMENT.build.board = SKYLAB_SKB369_Nano2replacement SKYLAB_SKB369_NANO2_REPLACEMENT.build.core = nRF5 SKYLAB_SKB369_NANO2_REPLACEMENT.build.variant = SKYLAB_SKB369_Nano2replacement SKYLAB_SKB369_NANO2_REPLACEMENT.build.variant_system_lib = SKYLAB_SKB369_NANO2_REPLACEMENT.build.extra_flags = -DNRF52 SKYLAB_SKB369_NANO2_REPLACEMENT.build.float_flags = -mfloat -abi = hard -mfpu = fpv4-sp-d16 SKYLAB_SKB369_NANO2_REPLACEMENT.build.ldscript = nrf52_xxaa.ld

SKYLAB_SKB369_NANO2_REPLACEMENT.menu.lfclk.lfrc.build.lfclk_flags = -DUSE_LFXO

SKYLAB_SKB369_NANO2_REPLACEMENT.menu.softdevice.s132 = S132

SKYLAB_SKB369_NANO2_REPLACEMENT.menu.softdevice.s132.softdevice = s132 SKYLAB_SKB369_NANO2_REPLACEMENT.menu.softdevice.s132.softdeviceversion = 2.0.1 SKYLAB_SKB369_NANO2_REPLACEMENT.menu.softdevice.s132.upload.maximum_size = 409600 SKYLAB_SKB369_NANO2_REPLACEMENT.menu.softdevice.s132.build.extra_flags = - DNRF52 -DS132 -DNRF51_S132 SKYLAB_SKB369_NANO2_REPLACEMENT.menu.softdevice.s132.build.ldscript = armgcc_s132_nrf52832_xxaa.ld

board.txt সেটিংস

মন্তব্য - # দিয়ে শুরু হওয়া লাইন হল মন্তব্য।

উপসর্গ - প্রতিটি বোর্ডের মান নির্ধারণের জন্য একটি অনন্য উপসর্গ প্রয়োজন। এখানে উপসর্গ হল SKYLAB_SKB369_NANO2_REPLACEMENT।

নাম - SKYLAB_SKB369_NANO2_REPLACEMENT.name লাইনটি Arduino এর বোর্ড মেনুতে দেখানোর জন্য এই বোর্ডের নাম উল্লেখ করে।

আপলোড টুল - SKYLAB_SKB369_NANO2_REPLACEMENT.upload ব্লক আপলোড করার জন্য কোন টুল ব্যবহার করবে তা নির্দিষ্ট করে। যদি আপনি কণা ডিবাগার ব্যবহার করেন তাহলে উপরে দেখানো হিসাবে protocol = cmsis-dap ব্যবহার করুন।

বুটলোডার - এই বোর্ডগুলি এই বোর্ডের সব বোর্ডের জন্য একই। txt

বিল্ড - এই ব্লকে শুধুমাত্র দুটি লাইন আপডেট করা প্রয়োজন। SKYLAB_SKB369_NANO2_REPLACEMENT.build.variant লাইন এই বোর্ডের ভেরিয়েন্ট সাব-ডিরেক্টরিতে ডিরেক্টরির নাম উল্লেখ করে। SKYLAB_SKB369_NANO2_REPLACEMENT.build.board হল ARDUINO_ এর সাথে যুক্ত মান এবং তারপর কোড কম্পাইল করার সময় সংজ্ঞায়িত করা হয়। যেমন -DARDUINO_SKYLAB_SKB369_Nano2replacement এটি আপনাকে নির্দিষ্ট বোর্ডের জন্য কোডের কিছু অংশ সক্ষম/নিষ্ক্রিয় করতে দেয়।

নিম্ন ফ্রিক ঘড়ি - এই লাইন, SKYLAB_SKB369_NANO2_REPLACEMENT.menu.lfclk.lfrc.build.lfclk_flags, কম ফ্রিকোয়েন্সি ঘড়ির উৎস নির্দিষ্ট করে, যা lp_timer- এর জন্য ব্যবহৃত হয়। তিনটি বিকল্প আছে, -DUSE_LFXO, -DUSE_LFRC এবং -DUSE_LFSYNT। সেরা পছন্দ হল -DUSE_LFXO, যদি বোর্ডের বাহ্যিক 32Khz স্ফটিক থাকে। যদি না হয় তাহলে -DUSE_LFRC ব্যবহার করুন, যা একটি অভ্যন্তরীণ RC অসিলেটর ব্যবহার করে এবং সামান্য বেশি কারেন্ট, ~ 10uA বেশি, এবং অনেক কম গুণ কম সঠিক। -DUSE_LFSYNT ব্যবহার করবেন না কারণ এটি চিপ সব সময় চলমান থাকে যার ফলে mAs কারেন্ট ড্র হয়

Softdevice - pfod_lp_nrf52 শুধুমাত্র nRF52 চিপস এবং softdevice s132 সমর্থন করে তাই এই ব্লকের কোন উপসর্গ ছাড়া অন্য কোন পরিবর্তনের প্রয়োজন নেই।

জিপিআইও হিসাবে nRF52 NFC পিনগুলি পুনরায় কনফিগার করা

NRF52 পিনগুলিতে ডিফল্ট হোন, P0.09 এবং P0.10 এনএফসি হিসাবে ব্যবহারের জন্য কনফিগার করা হয়েছে এবং একটি এনএফসি অ্যান্টেনার সাথে সংযুক্ত হওয়ার আশা করছেন। যদি আপনার সাধারণ উদ্দেশ্য I/O পিন (GPIO's) হিসাবে এটি ব্যবহার করার প্রয়োজন হয়, তাহলে আপনাকে সেই বোর্ডের… menu.softdevice.s132.build.extra_flags- এর মধ্যে একটি সংজ্ঞা যোগ করতে হবে, উদাহরণস্বরূপ pfod_lp_nrf52.zip, I/O হিসাবে ব্যবহারের জন্য GT832E_01 পিনগুলি পুনরায় কনফিগার করে। এই বোর্ডের জন্য GT832E_01 বিভাগে, বোর্ডস। Txt ফাইলে নিম্নলিখিত সংজ্ঞা যুক্ত করা আছে

GT832E_01.menu.softdevice.s132.build.extra_flags = -DNRF52 -DS132 -DNRF51_S132 -DCONFIG_NFCT_PINS_AS_GPIOS

Pfod_lp_nrf52.zip এর লিঙ্কার স্ক্রিপ্টটিও এই সেটিংটি সংরক্ষণের জন্য পরিবর্তন করা হয়েছে এবং এটি পরিবর্তন করার প্রয়োজন নেই।

ধাপ 7: উপসংহার

এই টিউটোরিয়ালটি একটি SKYLAB SKB369 মডিউল ব্যবহার করে Redbear NanoV2 এর প্রতিস্থাপন উপস্থাপন করেছে। একটি ব্যাটারি/সৌর চালিত তাপমাত্রা আর্দ্রতা মনিটর SKYLAB মডিউলের জন্য আরডুইনোতে খুব কম পাওয়ার BLE প্রকল্পের উদাহরণ হিসাবে ব্যবহার করা হয়েছিল। Parameters 29uA এর স্রোত সরবরাহ করুন যেখানে সংযোগের পরামিতিগুলি টিউন করে অর্জন করা হয়। এর ফলে একটি CR2032 কয়েন সেল ব্যাটারির আয়ু ~ 10 মাস। উচ্চ ক্ষমতার মুদ্রা কোষ এবং ব্যাটারির জন্য দীর্ঘ। দুটি সস্তা সৌর কোষ যোগ করা সহজেই ব্যাটারির আয়ু 50% বা তার বেশি বাড়িয়ে দেয়। একটি উজ্জ্বল রুম আলো বা একটি ডেস্ক বাতি সৌর কোষ থেকে মনিটর শক্তি যথেষ্ট।

এই টিউটোরিয়ালে প্রি-প্রোগ্রামড এনআরএফ ৫২ থেকে চিপ সুরক্ষা অপসারণ এবং আপনার নিজের পিসিবি/সার্কিটের সাথে মেলাতে নতুন বোর্ড সংজ্ঞা কীভাবে সেট করবেন তাও অন্তর্ভুক্ত করা হয়েছে

কোন অ্যান্ড্রয়েড প্রোগ্রামিং এর প্রয়োজন নেই। pfodApp সে সব পরিচালনা করে।

প্রস্তাবিত: