![CAN প্রোটোকল - হ্যাঁ, আমরা পারি !: 24 টি ধাপ CAN প্রোটোকল - হ্যাঁ, আমরা পারি !: 24 টি ধাপ](https://i.howwhatproduce.com/images/002/image-5451-31-j.webp)
সুচিপত্র:
- ধাপ 1: ব্যবহৃত সম্পদ
- ধাপ 2: CAN (কন্ট্রোলার এরিয়া নেটওয়ার্ক)
- ধাপ 3: ক্যান - বৈশিষ্ট্য
- ধাপ 4: সার্কিট ব্যবহৃত
- ধাপ 5: ট্রান্সমিশন লাইন ভোল্টেজ (ডিফারেনশিয়াল ডিটেকশন)
- ধাপ 6: স্ট্যান্ডার্ড এবং ফ্রেম ফরম্যাট
- ধাপ 7: স্ট্যান্ডার্ড এবং ফ্রেম ফরম্যাট
- ধাপ 8: স্ট্যান্ডার্ড এবং ফ্রেম ফরম্যাট
- ধাপ 9: চার ধরনের ফ্রেম (ফ্রেম)
- ধাপ 10: সার্কিট - সংযোগের বিবরণ
- ধাপ 11: সার্কিট - ডেটা ক্যাপচার
- ধাপ 12: সার্কিট - ডেটা ক্যাপচার
- ধাপ 13: সার্কিট - ডেটা ক্যাপচার
- ধাপ 14: Arduino লাইব্রেরি - CAN
- ধাপ 15: গিথুব
- ধাপ 16: ট্রান্সমিটার সোর্স কোড
- ধাপ 17: সোর্স কোড: লুপ (), একটি স্ট্যান্ডার্ড CAN 2.0 প্যাকেট পাঠানো
- ধাপ 18: সোর্স কোড: লুপ (), একটি বর্ধিত CAN 2.0 প্যাকেজ পাঠানো
- ধাপ 19: রিসিভার সোর্স কোড
- ধাপ 20: সোর্স কোড: লুপ (), প্যাকেজ পাওয়া এবং ফরম্যাট চেক করা
- ধাপ 21: উৎস: লুপ (), এটি একটি দূরবর্তী প্যাকেজ কিনা তা পরীক্ষা করে
- ধাপ 22: সোর্স কোড: লুপ (), ডেটার দৈর্ঘ্য অনুরোধ করা হয়েছে বা প্রাপ্ত হয়েছে
- ধাপ 23: সোর্স কোড: লুপ (), যদি ডেটা পাওয়া যায়, তাহলে এটি প্রিন্ট করে
- ধাপ 24: ফাইল ডাউনলোড করুন
2025 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2025-01-23 14:36
![Image Image](https://i.howwhatproduce.com/images/002/image-5451-33-j.webp)
![](https://i.ytimg.com/vi/2ApyndAOI0s/hqdefault.jpg)
![ব্যবহৃত সম্পদ ব্যবহৃত সম্পদ](https://i.howwhatproduce.com/images/002/image-5451-34-j.webp)
সম্প্রতি আমার ইউটিউব চ্যানেলের অনুসারীদের দ্বারা প্রস্তাবিত আরেকটি বিষয় ছিল CAN (কন্ট্রোলার এরিয়া নেটওয়ার্ক) প্রোটোকল, যা আমরা আজকে ফোকাস করব। এটা ব্যাখ্যা করা গুরুত্বপূর্ণ যে CAN একযোগে সিরিয়াল যোগাযোগ প্রোটোকল। এর অর্থ হচ্ছে নেটওয়ার্কের সাথে সংযুক্ত মডিউলগুলির মধ্যে সিঙ্ক্রোনিজম বাসে পাঠানো প্রতিটি বার্তার শুরুতে সঞ্চালিত হয়। আমরা CAN প্রোটোকলের মৌলিক ধারণাগুলি প্রবর্তনের মাধ্যমে শুরু করব এবং দুটি ESP32s দিয়ে একটি সাধারণ সমাবেশ করব।
আমাদের সার্কিটে, ESPs মাস্টার এবং স্লেভ উভয় হিসাবে কাজ করতে পারে। আপনি একাধিক মাইক্রোকন্ট্রোলার একসাথে প্রেরণ করতে পারেন, কারণ CAN স্বয়ংক্রিয়ভাবে সবকিছু সংঘর্ষের সাথে কাজ করে। এই প্রকল্পের সোর্স কোড অতি সহজ। এটা দেখ!
ধাপ 1: ব্যবহৃত সম্পদ
- ESP WROOM 32 NodeMcu এর দুটি মডিউল
- ওয়েভশেয়ার থেকে দুটি CAN ট্রান্সসিভার
- সংযোগের জন্য জাম্পার
- ক্যাপচারের জন্য লজিক্যাল এনালাইজার
- ESPs এবং বিশ্লেষকের জন্য তিনটি USB তারের
- 10 মিটার পেঁচানো জোড়া বাস হিসেবে পরিবেশন করতে
ধাপ 2: CAN (কন্ট্রোলার এরিয়া নেটওয়ার্ক)
![CAN (কন্ট্রোলার এরিয়া নেটওয়ার্ক) CAN (কন্ট্রোলার এরিয়া নেটওয়ার্ক)](https://i.howwhatproduce.com/images/002/image-5451-35-j.webp)
- এটি 1980 এর দশকে রবার্ট বশ জিএমবিএইচ কর্তৃক স্বয়ংচালিত শিল্পকে পরিবেশন করার জন্য তৈরি করা হয়েছিল।
- এটি দৃ rob়তা এবং বাস্তবায়নের নমনীয়তার কারণে বছরের পর বছর ধরে ব্যাপক হয়ে উঠেছে। এটি সামরিক সরঞ্জাম, কৃষি যন্ত্রপাতি, শিল্প ও বিল্ডিং অটোমেশন, রোবোটিক্স এবং চিকিৎসা সরঞ্জাম ব্যবহার করা হচ্ছে।
ধাপ 3: ক্যান - বৈশিষ্ট্য
![ক্যান - বৈশিষ্ট্য ক্যান - বৈশিষ্ট্য](https://i.howwhatproduce.com/images/002/image-5451-36-j.webp)
![ক্যান - বৈশিষ্ট্য ক্যান - বৈশিষ্ট্য](https://i.howwhatproduce.com/images/002/image-5451-37-j.webp)
- দুই তারের সিরিয়াল যোগাযোগ
- প্রতি ফ্রেমে সর্বাধিক 8 বাইট দরকারী তথ্য, যার সাথে ফ্র্যাগমেন্টেশন সম্ভব
- ঠিকানা নোডের দিকে নয় বার্তার দিকে নির্দেশিত
- বার্তাগুলিকে অগ্রাধিকার দেওয়া এবং "অন হোল্ড" বার্তাগুলি রিলে করা
- ত্রুটি সনাক্ত এবং সংকেত দেওয়ার কার্যকর ক্ষমতা
- মাল্টি-মাস্টার ক্ষমতা (সমস্ত নোড বাস অ্যাক্সেসের জন্য অনুরোধ করতে পারে)
- মাল্টিকাস্ট ক্ষমতা (একই সময়ে একাধিক রিসিভারের জন্য একটি বার্তা)
- 40 মিটার বাসে 1Mbit / s পর্যন্ত স্থানান্তর হার (বাসবারের দৈর্ঘ্য বৃদ্ধির সাথে হার হ্রাস)
- কনফিগারেশনের নমনীয়তা এবং নতুন নোড প্রবর্তন (প্রতি বাসে 120 নোড পর্যন্ত)
- স্ট্যান্ডার্ড হার্ডওয়্যার, কম খরচে এবং ভাল প্রাপ্যতা
- নিয়ন্ত্রিত প্রোটোকল: ISO 11898
ধাপ 4: সার্কিট ব্যবহৃত
![সার্কিট ব্যবহৃত সার্কিট ব্যবহৃত](https://i.howwhatproduce.com/images/002/image-5451-38-j.webp)
এখানে, আমি ট্রান্সসিভার আছে প্রতিটি পাশে একটি আছে, এবং তারা তারের একটি জোড়া দ্বারা সংযুক্ত করা হয়। একটি পাঠানোর জন্য দায়ী এবং অন্যটি তথ্য গ্রহণের জন্য।
ধাপ 5: ট্রান্সমিশন লাইন ভোল্টেজ (ডিফারেনশিয়াল ডিটেকশন)
![ট্রান্সমিশন লাইন ভোল্টেজ (ডিফারেনশিয়াল ডিটেকশন) ট্রান্সমিশন লাইন ভোল্টেজ (ডিফারেনশিয়াল ডিটেকশন)](https://i.howwhatproduce.com/images/002/image-5451-39-j.webp)
CAN তে, প্রভাবশালী বিট হল জিরো।
লাইন ডিফারেনশিয়াল ডিটেকশন শব্দ সংবেদনশীলতা হ্রাস করে (EFI)
ধাপ 6: স্ট্যান্ডার্ড এবং ফ্রেম ফরম্যাট
![CAN স্ট্যান্ডার্ড এবং ফ্রেম ফরম্যাট CAN স্ট্যান্ডার্ড এবং ফ্রেম ফরম্যাট](https://i.howwhatproduce.com/images/002/image-5451-40-j.webp)
11-বিট শনাক্তকারী সহ স্ট্যান্ডার্ড ফরম্যাট
ধাপ 7: স্ট্যান্ডার্ড এবং ফ্রেম ফরম্যাট
![CAN স্ট্যান্ডার্ড এবং ফ্রেম ফরম্যাট CAN স্ট্যান্ডার্ড এবং ফ্রেম ফরম্যাট](https://i.howwhatproduce.com/images/002/image-5451-41-j.webp)
29-বিট শনাক্তকারী সহ বর্ধিত বিন্যাস
ধাপ 8: স্ট্যান্ডার্ড এবং ফ্রেম ফরম্যাট
এটি লক্ষ করা গুরুত্বপূর্ণ যে একটি প্রোটোকল ইতিমধ্যেই সিআরসি গণনা করে এবং এসিকে এবং ইওএফ সংকেত পাঠায়, যা CAN প্রোটোকল দ্বারা ইতিমধ্যে সম্পন্ন করা হয়েছে। এটি গ্যারান্টি দেয় যে পাঠানো বার্তাটি ভুল পথে আসবে না। এর কারণ হল যদি এটি CRC (Redundant Cyclic Check বা Redundancy Check) এ কোন সমস্যা দেয়, যা তথ্য চেক ডিজিটের সমান, এটি CRC দ্বারা চিহ্নিত করা হবে।
ধাপ 9: চার ধরনের ফ্রেম (ফ্রেম)
![চার ধরনের ফ্রেম (ফ্রেম) চার ধরনের ফ্রেম (ফ্রেম)](https://i.howwhatproduce.com/images/002/image-5451-42-j.webp)
এটি লক্ষ করা গুরুত্বপূর্ণ যে একটি প্রোটোকল ইতিমধ্যে সিআরসি গণনা করে এবং এসিকে এবং ইওএফ সংকেত পাঠায়, যা এমন কিছু যা ইতিমধ্যে CAN প্রোটোকল দ্বারা সম্পন্ন হয়েছে। এটি গ্যারান্টি দেয় যে পাঠানো বার্তাটি ভুল পথে আসবে না। এর কারণ হল যদি এটি CRC (Redundant Cyclic Check বা Redundancy Check) এ কোন সমস্যা দেয়, যা তথ্য চেক ডিজিটের সমান, এটি CRC দ্বারা চিহ্নিত করা হবে।
চার ধরনের ফ্রেম (ফ্রেম)
CAN- এ তথ্য আদান -প্রদান এবং গ্রহণ চার ধরনের ফ্রেমের উপর ভিত্তি করে। ফ্রেমের ধরনগুলি নিয়ন্ত্রণ বিটের বৈচিত্র্য দ্বারা বা এমনকি প্রতিটি ক্ষেত্রে ফ্রেম লেখার নিয়মের পরিবর্তনের দ্বারা চিহ্নিত করা হবে।
- ডেটা ফ্রেম: রিসিভারের জন্য ট্রান্সমিটার ডেটা থাকে
- রিমোট ফ্রেম: এটি নোডগুলির মধ্যে একটি থেকে ডেটার অনুরোধ
- ত্রুটি ফ্রেম: এটি একটি ফ্রেম যা কোনও নোড দ্বারা পাঠানো হয় যখন বাসে ত্রুটি সনাক্ত করা যায় এবং সমস্ত নোড দ্বারা সনাক্ত করা যায়
- ওভারলোড ফ্রেম: ডাটা ওভারলোড বা এক বা একাধিক নোডে বিলম্বের কারণে বাসে ট্রাফিক বিলম্ব করতে কাজ করে।
ধাপ 10: সার্কিট - সংযোগের বিবরণ
![সার্কিট - সংযোগের বিবরণ সার্কিট - সংযোগের বিবরণ](https://i.howwhatproduce.com/images/002/image-5451-43-j.webp)
ধাপ 11: সার্কিট - ডেটা ক্যাপচার
![সার্কিট - ডেটা ক্যাপচার সার্কিট - ডেটা ক্যাপচার](https://i.howwhatproduce.com/images/002/image-5451-44-j.webp)
11-বিট আইডি সহ স্ট্যান্ডার্ড CAN এর জন্য প্রাপ্ত তরঙ্গদৈর্ঘ্য
ধাপ 12: সার্কিট - ডেটা ক্যাপচার
![সার্কিট - ডেটা ক্যাপচার সার্কিট - ডেটা ক্যাপচার](https://i.howwhatproduce.com/images/002/image-5451-45-j.webp)
29-বিট আইডি সহ বর্ধিত CAN এর জন্য প্রাপ্ত তরঙ্গদৈর্ঘ্য
ধাপ 13: সার্কিট - ডেটা ক্যাপচার
![সার্কিট - ডেটা ক্যাপচার সার্কিট - ডেটা ক্যাপচার](https://i.howwhatproduce.com/images/002/image-5451-46-j.webp)
যুক্তি বিশ্লেষক দ্বারা প্রাপ্ত ডেটা
ধাপ 14: Arduino লাইব্রেরি - CAN
![আরডুইনো লাইব্রেরি - ক্যান আরডুইনো লাইব্রেরি - ক্যান](https://i.howwhatproduce.com/images/002/image-5451-47-j.webp)
আমি এখানে দুটি বিকল্প দেখিয়েছি যেখানে আপনি CAN ড্রাইভার লাইব্রেরি ইনস্টল করতে পারেন
Arduino IDE লাইব্রেরি ম্যানেজার
ধাপ 15: গিথুব
![গিথুব গিথুব](https://i.howwhatproduce.com/images/002/image-5451-48-j.webp)
github.com/sandeepmistry/arduino-CAN
ধাপ 16: ট্রান্সমিটার সোর্স কোড
সোর্স কোড: অন্তর্ভুক্ত এবং সেটআপ ()
আমরা CAN লাইব্রেরি অন্তর্ভুক্ত করব, ডিবাগ করার জন্য সিরিয়াল শুরু করব এবং CAN বাস 500 Kbps এ শুরু করব।
#অন্তর্ভুক্ত // অন্তর্ভুক্ত করুন একটি গ্রন্থবিজ্ঞান সেটআপ বাতিল করতে পারে () {Serial.begin (9600); // inicia একটি সিরিয়াল প্যারা ডিবাগ করার সময় (! সিরিয়াল); Serial.println ("Transmissor CAN"); // Inicia o barramento CAN a 500 kbps if (! CAN.begin (500E3)) {Serial.println ("Falha ao iniciar o controlador CAN"); // caso não seja possível iniciar o controlador while (1); }}
ধাপ 17: সোর্স কোড: লুপ (), একটি স্ট্যান্ডার্ড CAN 2.0 প্যাকেট পাঠানো
স্ট্যান্ডার্ড CAN 2.0 ব্যবহার করে, আমরা একটি প্যাকেজ পাঠাই। 11-বিট আইডি বার্তা সনাক্ত করে। ডেটা ব্লকে 8 বাইট পর্যন্ত থাকতে হবে। এটি হেক্সাডেসিমালে আইডি 18 দিয়ে প্যাকেট শুরু করে। এটি 5 বাইট প্যাক করে এবং ফাংশন বন্ধ করে।
void loop () {// Usando o CAN 2.0 padrão // Envia um pacote: o id tem 11 bits e identifica a mensagem (prioridade, evento) // o bloco de dados deve possuir até 8 bytes Serial.println ("Enviando pacote … "); CAN.beginPacket (0x12); // id 18 em hexadecimal CAN.write ('h'); // 1º বাইট CAN.write ('e'); // 2º বাইট CAN.write ('l'); // 3º বাইট CAN.write ('l'); // 4º বাইট CAN.write ('o'); // 5º বাইট CAN.endPacket (); // encerra o pacote para envio Serial.println ("Enviado।"); বিলম্ব (1000);
ধাপ 18: সোর্স কোড: লুপ (), একটি বর্ধিত CAN 2.0 প্যাকেজ পাঠানো
এই ধাপে, আইডিতে 29 বিট রয়েছে। এটি 24 বিট আইডি পাঠানো শুরু করে এবং আরও একবার 5 বাইট প্যাক করে ছেড়ে দেয়।
// Usando CAN 2.0 Estendido // Envia um pacote: o id tem 29 bits e identifica a mensagem (prioridade, evento) // o bloco de dados deve possuir até 8 bytes Serial.println ("Enviando pacote estendido …"); CAN.beginExtendedPacket (0xabcdef); // id 11259375 দশমিক (abcdef em hexa) = 24 bits preenchidos até aqui CAN.write ('w'); // 1º বাইট CAN.write ('o'); // 2º বাইট CAN.write ('r'); // 3º বাইট CAN.write ('l'); // 4º বাইট CAN.write ('d'); // 5º বাইট CAN.endPacket (); // encerra o pacote para envio Serial.println ("Enviado।"); বিলম্ব (1000); }
ধাপ 19: রিসিভার সোর্স কোড
সোর্স কোড: অন্তর্ভুক্ত এবং সেটআপ ()
আবার, আমরা CAN লাইব্রেরি অন্তর্ভুক্ত করব, ডিবাগ করার জন্য সিরিয়াল শুরু করব এবং 500 Kbps এ CAN বাস শুরু করব। যদি একটি ত্রুটি ঘটে, এই ত্রুটিটি মুদ্রিত হবে।
#অন্তর্ভুক্ত // অন্তর্ভুক্ত করুন একটি গ্রন্থবিজ্ঞান সেটআপ বাতিল করতে পারে () {Serial.begin (9600); // inicia একটি সিরিয়াল প্যারা ডিবাগ করার সময় (! সিরিয়াল); Serial.println ("রিসেপ্টর CAN"); // Inicia o barramento CAN a 500 kbps if (! CAN.begin (500E3)) {Serial.println ("Falha ao iniciar o controlador CAN"); // caso não seja possível iniciar o controlador while (1); }}
ধাপ 20: সোর্স কোড: লুপ (), প্যাকেজ পাওয়া এবং ফরম্যাট চেক করা
আমরা প্রাপ্ত প্যাকেটের আকার পরীক্ষা করার চেষ্টা করেছি। CAN.parsePacket () পদ্ধতি আমাকে এই প্যাকেজের আকার দেখায়। সুতরাং যদি আমাদের একটি প্যাকেজ থাকে, আমরা তা পরীক্ষা করে দেখব এটি বাড়ানো হয়েছে কি না।
void loop () {// Tenta verificar o tamanho do acote recebido int packetSize = CAN.parsePacket (); if (packetSize) {// Se temos um pacote Serial.println ("Recebido pacote।"); যদি (CAN.packetExtended ()) {// verifica se o pacote é estendido Serial.println ("Estendido"); }
ধাপ 21: উৎস: লুপ (), এটি একটি দূরবর্তী প্যাকেজ কিনা তা পরীক্ষা করে
এখানে, আমরা চেক করি যে প্রাপ্ত প্যাকেটটি একটি ডেটা অনুরোধ। এই ক্ষেত্রে, কোন তথ্য নেই।
যদি (CAN.packetRtr ()) {// Verifica se o pacote m um pacote remoto (Requisição de dados), neste caso não há dados Serial.print ("RTR"); }
ধাপ 22: সোর্স কোড: লুপ (), ডেটার দৈর্ঘ্য অনুরোধ করা হয়েছে বা প্রাপ্ত হয়েছে
যদি প্রাপ্ত প্যাকেটটি একটি অনুরোধ হয়, আমরা অনুরোধকৃত দৈর্ঘ্য নির্দেশ করি। আমরা তারপর ডেটা লেন্থ কোড (DLC) পাই, যা ডেটার দৈর্ঘ্য নির্দেশ করে। পরিশেষে, আমরা প্রাপ্ত দৈর্ঘ্য নির্দেশ করি।
Serial.print ("Pacote com id 0x"); Serial.print (CAN.packetId (), HEX); যদি (CAN.packetRtr ()) {// se o pacote recebido é de requisição, indicamos o comprimento solicitado Serial.print ("e requsitou o comprimento"); Serial.println (CAN.packetDlc ()); // obtem o DLC (Data Length Code, que indica o comprimento dos dados)} else {Serial.print ("e comprimento"); // aqui somente indica o comprimento recebido Serial.println (packetSize);
ধাপ 23: সোর্স কোড: লুপ (), যদি ডেটা পাওয়া যায়, তাহলে এটি প্রিন্ট করে
আমরা ডেটা মুদ্রণ করি (সিরিয়াল মনিটরে), কিন্তু শুধুমাত্র যদি প্রাপ্ত প্যাকেটটি অনুরোধ না হয়।
// Imprime os dados somente se o pacote recebido não foi de requisição while (CAN.available ()) {Serial.print ((char) CAN.read ()); } Serial.println (); } Serial.println (); }}
ধাপ 24: ফাইল ডাউনলোড করুন
পিডিএফ
আইএনও
প্রস্তাবিত:
আমরা একটি টিউটোরিয়াল 6 UQD10801 (Robocon1) ইউনিভার্সিটি তুন হুসেন অন মালয়েশিয়া (UTHM) এর শিক্ষার্থীদের একটি গ্রুপ: কীপ্যাড 4x4 এবং LCD Arduino: 3 ধাপ
![আমরা একটি টিউটোরিয়াল 6 UQD10801 (Robocon1) ইউনিভার্সিটি তুন হুসেন অন মালয়েশিয়া (UTHM) এর শিক্ষার্থীদের একটি গ্রুপ: কীপ্যাড 4x4 এবং LCD Arduino: 3 ধাপ আমরা একটি টিউটোরিয়াল 6 UQD10801 (Robocon1) ইউনিভার্সিটি তুন হুসেন অন মালয়েশিয়া (UTHM) এর শিক্ষার্থীদের একটি গ্রুপ: কীপ্যাড 4x4 এবং LCD Arduino: 3 ধাপ](https://i.howwhatproduce.com/images/008/image-21052-j.webp)
আমরা টিউটোরিয়াল 6 UQD10801 (Robocon1) ইউনিভার্সিটি তুন হুসেইন অন মালয়েশিয়া (UTHM) এর শিক্ষার্থীদের একটি গ্রুপ: কীপ্যাড 4x4 এবং এলসিডি Arduino: কীপ্যাড ব্যবহারকারীদের আপনার প্রকল্পের সাথে যোগাযোগ করার একটি দুর্দান্ত উপায়। আপনি তাদের ব্যবহার করতে পারেন মেনু নেভিগেট করতে, পাসওয়ার্ড লিখতে এবং গেম এবং রোবট নিয়ন্ত্রণ করতে। এই টিউটোরিয়ালে, আমি আপনাকে দেখাব কিভাবে Arduino এ একটি কীপ্যাড সেটআপ করতে হয়। প্রথমে আমি ব্যাখ্যা করব কিভাবে Ardu
লাইব্রেরি ছাড়া RC5 রিমোট কন্ট্রোল প্রোটোকল ডিকোডার: 4 টি ধাপ
![লাইব্রেরি ছাড়া RC5 রিমোট কন্ট্রোল প্রোটোকল ডিকোডার: 4 টি ধাপ লাইব্রেরি ছাড়া RC5 রিমোট কন্ট্রোল প্রোটোকল ডিকোডার: 4 টি ধাপ](https://i.howwhatproduce.com/images/008/image-23667-j.webp)
RC5 রিমোট কন্ট্রোল প্রোটোকল ডিকোডার লাইব্রেরি ছাড়াই: rc5 ডিকোড করার আগে প্রথমে আলোচনা করি rc5 কমান্ড কি এবং এর গঠন কি। তাই মূলত rc5 কমান্ডটি রিমোট কন্ট্রোলে ব্যবহৃত হয় যা টেলিভিশন, সিডি প্লেয়ার, d2h, হোম থিয়েটার সিস্টেম ইত্যাদিতে ব্যবহৃত হয়।
ইন্টারনেট ঘড়ি: NTP প্রোটোকল সহ ESP8266 NodeMCU ব্যবহার করে একটি OLED দিয়ে তারিখ এবং সময় প্রদর্শন করুন: 6 টি ধাপ
![ইন্টারনেট ঘড়ি: NTP প্রোটোকল সহ ESP8266 NodeMCU ব্যবহার করে একটি OLED দিয়ে তারিখ এবং সময় প্রদর্শন করুন: 6 টি ধাপ ইন্টারনেট ঘড়ি: NTP প্রোটোকল সহ ESP8266 NodeMCU ব্যবহার করে একটি OLED দিয়ে তারিখ এবং সময় প্রদর্শন করুন: 6 টি ধাপ](https://i.howwhatproduce.com/images/010/image-27318-j.webp)
ইন্টারনেট ঘড়ি: NTP প্রোটোকল সহ ESP8266 NodeMCU ব্যবহার করে একটি OLED দিয়ে তারিখ এবং সময় প্রদর্শন করুন: হাই বন্ধুরা এই নির্দেশাবলীতে আমরা একটি ইন্টারনেট ঘড়ি তৈরি করব যা ইন্টারনেট থেকে সময় পাবে তাই এই প্রকল্পটি চালানোর জন্য আরটিসির প্রয়োজন হবে না, এটি কেবল একটি প্রয়োজন কাজ করছে ইন্টারনেট সংযোগ এবং এই প্রকল্পের জন্য আপনার একটি esp8266 প্রয়োজন হবে যা একটি
রাস্পবেরি পাই এবং এমকিউটিটি প্রোটোকল ব্যবহার করে ডিজিটাল নোটিশ বোর্ড: 8 টি ধাপ
![রাস্পবেরি পাই এবং এমকিউটিটি প্রোটোকল ব্যবহার করে ডিজিটাল নোটিশ বোর্ড: 8 টি ধাপ রাস্পবেরি পাই এবং এমকিউটিটি প্রোটোকল ব্যবহার করে ডিজিটাল নোটিশ বোর্ড: 8 টি ধাপ](https://i.howwhatproduce.com/images/005/image-13035-30-j.webp)
রাস্পবেরি পাই এবং এমকিউটিটি প্রোটোকল ব্যবহার করে ডিজিটাল নোটিশ বোর্ড: অফিস, স্কুল, হাসপাতাল এবং হোটেলের মতো প্রায় সব জায়গায় নোটিশ বোর্ড ব্যবহার করা হয়। এগুলি বারবার ব্যবহার করা যেতে পারে গুরুত্বপূর্ণ বিজ্ঞপ্তি প্রদর্শন করতে বা আসন্ন ইভেন্ট বা মিটিংয়ের বিজ্ঞাপন দিতে। কিন্তু বিজ্ঞপ্তি বা বিজ্ঞাপন প্রিন হতে হবে
আমি কি TinyLiDAR ব্যবহার করতে পারি স্ক্র্যাচ ?: 3 ধাপ
![আমি কি TinyLiDAR ব্যবহার করতে পারি স্ক্র্যাচ ?: 3 ধাপ আমি কি TinyLiDAR ব্যবহার করতে পারি স্ক্র্যাচ ?: 3 ধাপ](https://i.howwhatproduce.com/images/003/image-7633-8-j.webp)
আমি কি TinyLiDAR ব্যবহার করতে পারি? যদিও TinyLiDAR কে Arduino UNO- এর জন্য LiDAR সেন্সর ব্যবহার করা সহজ হিসাবে ডিজাইন করা হয়েছিল, অন্য প্ল্যাটফে এটি ব্যবহার করা থেকে বিরত থাকার কিছু নেই