- CAN کا تعارف
- SPI اور I2C پر CAN کا موازنہ
- پروٹوکول درخواستیں کر سکتے ہیں
- ارڈینو میں CAN پروٹوکول کا استعمال کیسے کریں
- ضروری اجزاء
- سرکٹ ڈایاگرام
- دو ایم سی پی 2515 کین ماڈیولز کے مابین رابطہ
- CAN مواصلات کے لئے پروگرامنگ اردوینو
- ٹرانسمیٹر سائیڈ کوڈ کی وضاحت (ارڈینو نینو)
- حاصل کرنے والے سائیڈ کوڈ کی وضاحت (ارڈینو یو این او) کر سکتے ہیں
- ارڈینو میں CAN مواصلات کا کام کرنا
آج کسی بھی اوسط کار میں 60 سے 100 سینسر اکائیوں پر مشتمل ہوتا ہے جس میں معلومات کو سینسنگ اور تبادلہ کیا جاتا ہے۔ کار تیار کرتے ہوئے اپنی کار کو خود مختار ڈرائیونگ ، ایئربگ سسٹم ، ٹائر پریشر مانیٹرنگ ، کروز کنٹرول سسٹم جیسی خصوصیات کے ساتھ مستقل مزاجی سے تیز تر بناتے ہیں۔ اس تعداد میں صرف اس کی زیادہ توقع کی جاتی ہے۔ دوسرے سینسروں کے برعکس ، یہ سینسر اہم معلومات پر کارروائی کرتے ہیں لہذا ان سینسرز سے حاصل کردہ ڈیٹا کو معیاری آٹوموٹو مواصلات پروٹوکول کا استعمال کرتے ہوئے بتایا جانا چاہئے ۔ مثال کے طور پر ، کروز کنٹرول سسٹم کا ڈیٹا جیسے اسپیڈ ، تھروٹل پوزیشن وغیرہ اہم اقدار ہیں جو الیکٹرانک کنٹرول یونٹ (ECU) کو بھیجی جاتی ہیں ۔کار کی سرعت کی سطح کے بارے میں فیصلہ کرنے کے لئے ، یہاں غلط تصنیف یا اعداد و شمار کی کمی کی وجہ سے اہم ناکامی ہوسکتی ہے۔ لہذا UART ، SPI یا I2C جیسے معیاری مواصلات کے پروٹوکول کے برعکس ، ڈیزائنرز زیادہ قابل اعتماد آٹوموبائل مواصلات پروٹوکول جیسے لن ، CAN ، FlexRay وغیرہ کا استعمال کرتے ہیں۔
دستیاب تمام پروٹوکولز میں سے CAN زیادہ تر استعمال اور مقبول ہے۔ ہم پہلے ہی بحث کرچکے ہیں کہ کین کیا ہے اور کس طرح کام کرسکتا ہے۔ لہذا ، اس آرٹیکل میں ہم پھر بنیادی باتوں پر غور کریں گے اور پھر آخر کار ہم CAN مواصلات کا استعمال کرتے ہوئے دو اردوینو کے درمیان ڈیٹا کا تبادلہ بھی کریں گے ۔ دلچسپ حق ہے! تو ، آئیے شروع کریں۔
CAN کا تعارف
CAN عرف کنٹرولر ایریا نیٹ ورک ایک سیریل مواصلاتی بس ہے جو صنعتی اور آٹوموٹو ایپلی کیشنز کے لئے ڈیزائن کی گئی ہے۔ یہ ایک پیغام پر مبنی پروٹوکول ہے جو متعدد آلات کے مابین مواصلت کے لئے استعمال ہوتا ہے۔ جب متعدد CAN آلات ایک دوسرے کے ساتھ جڑے ہوئے ہیں جیسا کہ ذیل میں دکھایا گیا ہے ، تو یہ کنیکشن ایک ایسا نیٹ ورک بناتا ہے جو ہمارے مرکزی اعصابی نظام کی طرح کام کرتا ہے جس سے کسی بھی ڈیوائس کو نوڈ میں موجود کسی دوسرے ڈیوائس کے ساتھ بات کرنے کی اجازت ہوتی ہے۔
جیسا کہ اوپر دکھایا گیا ہے ، دو طرفہ ڈیٹا منتقل کرنے کے ل A ایک کین نیٹ ورک صرف دو تاروں پر مشتمل ہوسکتا ہے جس میں اعلی اور کین کم ہوسکتی ہے۔ عام طور پر سی اے این کے لئے مواصلات کی رفتار 50 کے بی پی ایس سے 1 ایم بی پی ایس تک ہوتی ہے اور فاصلہ 40 میٹر سے 1 ایم بی پی ایس سے 1000 کلومیٹر تک 1000 میٹر تک ہوسکتا ہے۔
CAN پیغام کی شکل:
CAN مواصلات میں ڈیٹا کو کسی خاص پیغام کی شکل کے بطور نیٹ ورک میں منتقل کیا جاتا ہے۔ اس پیغام کی شکل میں بہت سارے حصوں پر مشتمل ہے لیکن دو اہم طبقات شناخت کنندہ اور اعداد و شمار ہیں جو CAN بس میں پیغامات بھیجنے اور اس کا جواب دینے میں معاون ہیں۔
شناخت کنندہ یا CAN ID: شناخت کنندہ CAN ID کے نام سے بھی جانا جاتا ہے یا اسے PGN (پیرامیٹر گروپ نمبر) بھی کہا جاتا ہے۔ یہ ایک کین نیٹ ورک میں موجود CAN آلات کی شناخت کے لئے استعمال ہوتا ہے۔ شناخت کنندہ کی لمبائی 11 یا 29 بٹس ہے جو CAN پروٹوکول کی قسم پر مبنی ہے۔
معیاری CAN: 0-2047 (11 بٹ)
توسیعی CAN: 0-2 29 -1 (29 بٹ)
ڈیٹا: یہ اصل سینسر / کنٹرول ڈیٹا ہے جس کو ایک آلہ کو دوسرے آلے پر بھیجنا ہوتا ہے۔ جس کا سائز ڈیٹا 0 سے 8 بائٹ لمبائی میں کہیں بھی ہوسکتا ہے۔
ڈیٹا لمبائی کوڈ (DLC): موجود ڈیٹا بائٹس کی تعداد کے لئے 0 سے 8
CAN میں استعمال ہونے والی تاروں:
CAN پروٹوکول میں معلومات بھیجنے اور وصول کرنے کیلئے دو تاروں پر مشتمل CAN_H اور CAN_L شامل ہیں۔ دونوں تاروں ایک امتیازی لائن کی حیثیت سے کام کرتی ہیں ، جس کا مطلب ہے CAN سگنل (0 یا 1) CAN_L اور CAN_H کے درمیان ممکنہ فرق کی نمائندگی کرتا ہے۔ اگر فرق کسی خاص کم سے کم وولٹیج سے مثبت اور بڑا ہو تو یہ 1 ہے اور اگر فرق منفی ہے تو یہ 0 ہے۔
CAN مواصلات کے لئے عام طور پر ایک بٹی ہوئی جوڑی کیبل استعمال کی جاتی ہے۔ جیسا کہ تصویر میں دکھایا گیا ہے CAN نیٹ ورک کے دونوں سروں پر عام طور پر ایک 120 اوہم ریزسٹر استعمال کیا جاتا ہے ، اس کی وجہ یہ ہے کہ لائن کو متوازن کرنے اور اسی صلاحیت سے جوڑنے کی ضرورت ہے۔
SPI اور I2C پر CAN کا موازنہ
چونکہ ہم نے پہلے ہی ارڈینو کے ساتھ SPI اور IIC کے ساتھ IIC استعمال کرنے کا طریقہ سیکھ لیا ہے ، لہذا ہم SPI اور I2C کی خصوصیات CAN سے موازنہ کریں
پیرامیٹر | ایس پی آئی | I2C | کر سکتے ہیں |
سپیڈ | 3 ایم بی پی ایس سے 10 ایم بی پی ایس | معیاری: 100KBS | 10MBps to 1MBps بھی استعمال کیا جاتا تار کی لمبائی پر انحصار کرتا ہے |
تیز: 400 کے بی پی ایس | |||
ہائی سپیڈ: 3.4 ایم بی پی ایس | |||
ٹائپ کریں | ہم وقت ساز | ہم وقت ساز | غیر متشدد |
تاروں کی تعداد | 3+ (MISO، MOSI، SCK، SS1، SS2… SS (n)) | 2 تاروں (ایس ڈی اے ، ایس سی ایل) | 2 تاروں (CAN_H، CAN_L) |
ڈوپلیکس | فل ڈوپلیکس | آدھا ڈوپلیکس | آدھا ڈوپلیکس |
پروٹوکول درخواستیں کر سکتے ہیں
- کین پروٹوکول کی مضبوطی اور وشوسنییتا کی وجہ سے ، وہ صنعتوں جیسے آٹوموٹو ، صنعتی مشینیں ، زراعت ، طبی سامان وغیرہ میں استعمال ہوتے ہیں۔
- چونکہ CAN میں وائرنگ کی پیچیدگی کم ہوتی ہے وہ بنیادی طور پر کار جیسے آٹوموٹو ایپلی کیشنز میں استعمال ہوتے ہیں۔
- لاگو کرنے کے لئے کم لاگت اور ہارڈ ویئر کے اجزاء کی قیمت بھی کم ہے۔
- CAN بس ڈیوائسز کو شامل کرنے اور ہٹانے میں آسان ہے۔
ارڈینو میں CAN پروٹوکول کا استعمال کیسے کریں
چونکہ آرڈینو میں کوئی انبیلٹ کین بندرگاہ نہیں ہوتی ہے ، لہذا MCP2515 نامی CAN ماڈیول استعمال ہوتا ہے۔ اس CAN ماڈیول کو SPI مواصلات کا استعمال کرتے ہوئے Ardino کے ساتھ انٹرفیس کیا گیا ہے۔ آئیے ایم سی پی 2515 کے بارے میں مزید تفصیل کے ساتھ ملاحظہ کریں اور یہ کہ ارودوو سے انٹرفیس کیسے ہوتا ہے۔
MCP2515 کین ماڈیول:
MCP2515 ماڈیول میں CAN کنٹرولر MCP2515 ہے جو تیز رفتار CAN ٹرانسیور ہے ۔ ایم سی پی 2515 اور ایم سی یو کے درمیان رابطہ ایس پی آئی کے ذریعہ ہے۔ لہذا ، ایس پی آئی انٹرفیس رکھنے والے کسی بھی مائکرو قابو پانے والے کے ساتھ انٹرفیس کرنا آسان ہے۔
ابتدائی طور پر جو CAN بس سیکھنا چاہتے ہیں ، ان کے لئے یہ ماڈیول ایک اچھی شروعات کا کام کرے گا۔ یہ کین SPI بورڈ صنعتی آٹومیشن ، ہوم آٹومیشن اور دیگر آٹوموٹو ایمبیڈڈ پروجیکٹس کے لئے مثالی ہے۔
MCP2515 کی خصوصیات اور تفصیلات:
- تیز رفتار CAN ٹرانسیور TJA1050 کا استعمال کریں
- طول و عرض: 40 × 28 ملی میٹر
- ملٹی کین بس انٹرفیس کو بڑھانے کے لئے ایس پی آئی کنٹرول
- 8 میگاہرٹز کرسٹل آسکیلیٹر
- ٹرمینل مزاحمت 120Ω
- آزاد کلید ، ایل ای ڈی اشارے ، پاور اشارے ہیں
- 1 Mb / s کین آپریشن کی حمایت کرتا ہے
- کم موجودہ اسٹینڈ بائی آپریشن
- 112 نوڈس تک منسلک کیا جاسکتا ہے
ایم سی پی 2515 کین ماڈیول کا پن آؤٹ:
پن کا نام |
استعمال کریں |
وی سی سی |
5V پاور ان پٹ پن |
GND |
گراؤنڈ پن |
CS |
اسپی سلائی سلیکٹ پن (ایکٹو کم) |
ایس او |
ایس پی آئی ماسٹر ان پٹ غلام آؤٹ پٹ لیڈ |
ایس آئی |
ایس پی آئی ماسٹر آؤٹ پٹ غلام ان پٹ لیڈ |
ایس سی ایل کے |
ایس پی آئی گھڑی پن |
INT |
MCP2515 مداخلت پن |
اس ٹیوٹوریل میں آئیے دیکھتے ہیں کہ کس طرح نمی اور درجہ حرارت (DHT11) سینسر کا ڈیٹا ارڈینو نینو سے ارڈینو اونو میں CAN بس ماڈیول MCP2515 کے ذریعہ بھیجنا ہے۔
ضروری اجزاء
- اردوینو یو این او
- اردوینو نانو
- ڈی ایچ ٹی 11
- 16x2 LCD ڈسپلے
- MCP2515 CAN ماڈیول - 2
- 10 ک پوٹینومیٹر
- بریڈ بورڈ
- مربوط تاروں
سرکٹ ڈایاگرام
ٹرانسمیٹر کی طرف سے کنکشن:
اجزاء - پن |
اردوینو نینو |
MPC2515 - VCC |
+ 5 وی |
MPC2515 - GND |
GND |
MPC2515 - CS |
D10 (SPI_SS) |
MPC2515 - SO |
D12 (SPI_MISO) |
MPC2515 - SI |
D11 (SPI_MOSI) |
MPC2515 - SCK |
D13 (SPI_SCK) |
MPC2515 - INT |
ڈی 2 |
ڈی ایچ ٹی 11 - وی سی سی |
+ 5 وی |
DHT11 - GND |
GND |
DHT11 - آؤٹ |
A0 |
وصول کنندہ کی طرف سے سرکٹ رابطے:
اجزاء - پن |
اردوینو یو این او |
MPC2515 - VCC |
+ 5 وی |
MPC2515 - GND |
GND |
MPC2515 - CS |
10 (SPI_SS) |
MPC2515 - SO |
12 (SPI_MISO) |
MPC2515 - SI |
11 (SPI_MOSI) |
MPC2515 - SCK |
13 (SPI_SCK) |
MPC2515 - INT |
2 |
LCD - VSS |
GND |
LCD - VDD |
+ 5 وی |
LCD - V0 |
10K پوٹینومیٹر سینٹر کا PIN |
LCD - RS |
3 |
LCD - RW |
GND |
LCD - E |
4 |
LCD - D4 |
5 |
LCD - D5 |
6 |
LCD - D6 |
7 |
LCD - D7 |
8 |
LCD - A |
+ 5 وی |
LCD - K |
GND |
دو ایم سی پی 2515 کین ماڈیولز کے مابین رابطہ
H - اعلی کر سکتے ہیں
L - کم کر سکتے ہیں
ایم سی پی 2515 (ارڈینو نینو) |
ایم سی پی 2515 (ارڈینو یو این او) |
H |
H |
ایل |
ایل |
ایک بار جب سبھی رابطے ہوجائیں تو ، میرا ہارڈویئر نیچے کی طرح دکھائی دے رہا تھا
CAN مواصلات کے لئے پروگرامنگ اردوینو
پہلے ہمیں ارڈینو IDE میں CAN کیلئے لائبریری نصب کرنا ہے۔ مندرجہ ذیل لائبریری کا استعمال کرتے ہوئے ACPino کے ساتھ MCP2515 ماڈیول انٹرفیس کرنا آسان ہوجاتا ہے۔
- ارڈینوو کین MCP2515 لائبریری کی زپ فائل ڈاؤن لوڈ کریں۔
- ایردوینو IDE سے: خاکہ -> لائبریری شامل کریں -> ZIP لائبریری شامل کریں
اس ٹیوٹوریل میں کوڈنگ کو دو حصوں میں تقسیم کیا گیا ہے ایک CAN ٹرانسمیٹر کوڈ (Ardino Nano) اور دوسرا CAN وصول کنندہ کوڈ (Ardino UNO) کے طور پر جن میں سے دونوں کو اس صفحے کے نیچے پایا جاسکتا ہے۔ اس کی وضاحت مندرجہ ذیل ہے۔
ڈیٹا بھیجنے اور وصول کرنے کے لئے پروگرام لکھنے سے پہلے یہ یقینی بنائیں کہ آپ نے مندرجہ بالا مراحل کے بعد لائبریری کو انسٹال کیا ہے اور CAN ماڈیول MCP2515 کو آپ کے پروگرام میں ابتدائی طور پر شروع کیا گیا ہے۔
ایم سی پی 2515 کین ماڈیول شروع کریں:
ایم سی پی 2515 کے ساتھ رابطہ قائم کرنے کے لئے درج ذیل اقدامات پر عمل کریں:
1. پن نمبر مقرر کریں جہاں SPI CS منسلک ہے (بطور 10)
ایم سی پی 2515 ایم سی پی 2515 (10)؛
2. بوڈ کی شرح اور oscillator تعدد مقرر کریں
mcp2515.setBitrate (CAN_125KBPS، MCP_8MHZ)؛
دستیاب باب کی قیمتیں:
CAN_5KBPS ، CAN_10KBPS ، CAN_20KBPS ، CAN_31K25BPS ، CAN_33KBPS ، CAN_40KBPS ، CAN_50KBPS ، CAN_80KBPS ، CAN_83K3BPS ، CAN_95KBPS ، CAN_100KB500 ، CAN_125KB ، CAN_125KB ، CAN_125KB ، CAN_125KB ، CAN_25KB00 ، CAN_25KB00 ، CAN_25KB00 ، CAN_25KB00 ، CAN_25KB00 ، CAN_25KB00 ، CAN_25KB00 ، CAN_25KB00 ، CAN_25KB00 ، CAN_25KB00 ،
دستیاب گھڑی کی رفتار:
MCP_20MHZ ، MCP_16MHZ ، MCP_8MHZ
3. وضع وضع کریں۔
mcp2515.setNormalMode ()؛ mcp2515.setLoopbackMode ()؛ mcp2515.setListenOnlyMode ()؛
ٹرانسمیٹر سائیڈ کوڈ کی وضاحت (ارڈینو نینو)
ٹرانسمیٹر سیکشن میں ، ارڈینو نینو نے ایس پی آئی پنوں کے ذریعے ایم سی پی 2515 کین ماڈیول کے ساتھ انٹرفیس کیا اور ڈی ایچ ٹی 11 درجہ حرارت اور نمی کا ڈیٹا CAN بس کو بھیجتا ہے ۔
پہلے مطلوبہ لائبریریاں شامل کی گئیں ، ایس پی آئی مواصلات استعمال کرنے کے لئے ایس پی آئی لائبریری ، سی آر مواصلات استعمال کرنے کے لئے ایم سی پی 2515 لائبریری اور ارڈوینو کے ساتھ ڈی ایچ ٹی سینسر استعمال کرنے کیلئے ڈی ایچ ٹی لائبریری ۔ اس سے قبل ہم نے DDT11 کو Ardino کے ساتھ انٹرفیس کیا۔
# شامل کریں
اب DHT11 (آؤٹ پن) کا پن نام جو Arduino نینو کے A0 سے جڑا ہوا ہے اس کی وضاحت کی گئی ہے
# DHTPIN A0 کی وضاحت کریں
اور یہ بھی ، DHTTYPE DHT11 کے طور پر بیان کیا گیا ہے۔
# ڈی ایچ ٹی ٹی ٹائپ ڈی ایچ ٹی 11 کی وضاحت کریں
مینی پیغام فارمیٹ کو اسٹور کرنے کے لئے ایک کینس سٹرک ڈیٹا کی قسم
سٹر کینٹ_ فریم canMsg؛
پن نمبر سیٹ کریں جہاں SPI CS منسلک ہے (بطور 10)
ایم سی پی 2515 ایم سی پی 2515 (10)؛
اور یہ بھی ، DDT کی کلاس DHT کے لئے DHT پن کے ساتھ Ardino Nano اور DHT قسم کے طور پر DHT11 شروع کیا گیا ہے۔
DHT dht (DHTPIN، DHTTYPE)؛
باطل سیٹ اپ میں اگلا ():
مندرجہ ذیل بیان کا استعمال کرکے ایس پی آئی مواصلات کا آغاز کریں
SPI.begin ()؛
اور پھر ڈی ایچ ٹی 11 سینسر سے درجہ حرارت اور نمی کی اقدار حاصل کرنا شروع کرنے کے لئے نیچے دیئے گئے بیان کا استعمال کریں۔
dht.begin ()؛
اگلی ایم سی پی 2515 کو مندرجہ ذیل کمانڈ کا استعمال کرکے دوبارہ سیٹ کیا جارہا ہے
mcp2515.reset ()؛
اب ایم سی پی 2515 500KBPS کی رفتار اور 8MHZ گھڑی کے طور پر متعین ہے
mcp2515.setBitrate (CAN_500KBPS، MCP_8MHZ)؛
اور MCP2525 نارمل حالت میں سیٹ کیا گیا ہے
mcp2515.setNormalMode ()؛
باطل لوپ میں ():
مندرجہ ذیل بیان کو نمی اور درجہ حرارت کی قیمت مل جاتی ہے اور اعداد و شمار کے متغیر ایچ اور ٹی میں اسٹور ہوتا ہے۔
int h = dht.readHumidity ()؛ int t = dht.readTemperature ()؛
اگلا CAN ID 0x036 (پسند کے مطابق) اور DLC 8 کے طور پر دیا جاتا ہے اور ہم اعداد و شمار اور اعداد و شمار کو ایچ اور ٹی ڈیٹا دیتے ہیں اور 0 کے ساتھ تمام ڈیٹا کو آرام دیتے ہیں۔
canMsg.can_id = 0x036؛ canMsg.can_dlc = 8؛ canMsg.data = h؛ // canMsg.data = t میں نمی کی قیمت کو اپ ڈیٹ کریں ؛ // canMsg.data = 0x00 میں درجہ حرارت کی قیمت کو اپ ڈیٹ کریں ؛ // سب کو 0 canMsg.data = 0x00 کے ساتھ باقی رکھیں۔ canMsg.data = 0x00؛ canMsg.data = 0x00؛ canMsg.data = 0x00؛ canMsg.data = 0x00؛
بہرحال ، بس کو پیغام بھیجنے کے لئے ہم مندرجہ ذیل بیان کا استعمال کرتے ہیں۔
mcp2515.sendMessage (& canMsg)؛
لہذا اب درجہ حرارت اور نمی کا ڈیٹا CAN بس کو بطور پیغام بھیج دیا جاتا ہے۔
حاصل کرنے والے سائیڈ کوڈ کی وضاحت (ارڈینو یو این او) کر سکتے ہیں
وصول کنندہ حصے میں ، اردوینو یو این او نے ایم سی پی 2515 اور 16 ایکس 2 ایل سی ڈی ڈسپلے کے ساتھ انٹرفیس کیا۔ یہاں آردوینو یو این او CAN بس سے درجہ حرارت اور نمی حاصل کرتا ہے اور LCD میں موصولہ ڈیٹا کو ظاہر کرتا ہے۔
پہلے مطلوبہ لائبریریاں شامل کی گئیں ، ایس پی آئی مواصلات کو استعمال کرنے کے لئے ایس پی آئی لائبریری ، ایم اے سی 2515 لائبریری سی اے ای کمیونی کیشن استعمال کرنے کے ل and اور آرڈوینو کے ساتھ 16 ایکس 2 ایل سی ڈی استعمال کرنے کے لئے مائع کرسٹل لائبریری شامل کریں۔
# شامل کریں
اگروڈینو یو این او کے ساتھ رابطہ قائم کرنے میں استعمال ہونے والے ایل سی ڈی پنوں کی وضاحت کی گئی ہے۔
کونٹ انٹ رو ایس = 3 ، این = 4 ، ڈی 4 = 5 ، ڈی 5 = 6 ، ڈی 6 = 7 ، ڈی 7 = 8؛ لیکویڈ کرسٹل ایل سی ڈی (آر ایس ، این ، ڈی 4 ، ڈی 5 ، ڈی 6 ، ڈی 7)؛
CAN پیغام کی شکل کو اسٹور کرنے کے لئے ایک اسٹاک ڈیٹا کی قسم کا اعلان کیا گیا ہے ۔
سٹر کینٹ_ فریم canMsg؛
پن نمبر سیٹ کریں جہاں SPI CS منسلک ہے (بطور 10)
ایم سی پی 2515 ایم سی پی 2515 (10)؛
باطل سیٹ اپ میں ():
پہلے ایل سی ڈی 16x2 موڈ پر سیٹ کیا گیا ہے اور ایک خوش آئند پیغام آویزاں ہے۔
lcd.begin (16،2)؛ lcd.setCursor (0،0)؛ lcd.print ("سرکٹ ڈائجسٹ")؛ lcd.setCursor (0،1)؛ lcd.print ("کر سکتے ہیں آرڈینو")؛ تاخیر (3000)؛ lcd.clear ()؛
مندرجہ ذیل بیان کا استعمال کرکے ایس پی آئی مواصلات کا آغاز کریں۔
SPI.begin ()؛
اگلی ایم سی پی 2515 کو مندرجہ ذیل کمانڈ کا استعمال کرکے دوبارہ سیٹ کیا جارہا ہے۔
mcp2515.reset ()؛
اب ایم سی پی 2515 500KBPS کی رفتار اور 8MHZ گھڑی کے طور پر متعین ہے۔
mcp2515.setBitrate (CAN_500KBPS، MCP_8MHZ)؛
اور MCP2525 نارمل حالت میں سیٹ کیا گیا ہے۔
mcp2515.setNormalMode ()؛
باطل لوپ میں اگلا ():
درج ذیل بیان CAN بس سے پیغام وصول کرنے کے لئے استعمال ہوتا ہے۔ اگر میسج موصول ہوتا ہے تو وہ اگر حالت میں آجاتا ہے۔
if (mcp2515.readMessage (& canMsg) == MCP2515:: ERROR_OK)
میں تو اس کی حالت کے اعداد و شمار حاصل کی اور سی میں محفوظ کیا جاتا ہے anMsg ، ڈیٹا نمی قدر اور درجہ حرارت قدر ہے کہ اعداد و شمار ہے. دونوں اقدار ایک عددی x اور y میں محفوظ ہیں۔
int x = canMsg.data؛ int y = canMsg.data؛
اقدار کو حاصل کرنے کے بعد ، درجہ حرارت اور نمی کی اقدار مندرجہ ذیل بیانات کا استعمال کرتے ہوئے 16x2 LCD ڈسپلے میں ظاہر ہوتی ہیں۔
lcd.setCursor (0،0)؛ lcd.print ("نمی:")؛ lcd.print (x)؛ lcd.setCursor (0،1)؛ lcd.print ("عارضی:")؛ lcd.print (y)؛ تاخیر (1000)؛ lcd.clear ()؛
ارڈینو میں CAN مواصلات کا کام کرنا
ایک بار جب ہارڈ ویئر تیار ہوجائے تو متعلقہ اردوینو بورڈ میں ٹرانسمیٹر اور CAN وصول کرنے والے (مکمل پروگرام ذیل میں دیئے گئے ہیں) کے لئے پروگرام اپ لوڈ کریں۔ طاقت جب آپ کر سکتے ہیں مواصلات کے ذریعے ایک اور Arduino کے کرنے کے لئے بھیجا ہے اور ظاہر کیا جائے گا 2 کے LCD پر درجہ حرارت کی قیمت DHT11 طرف سے پڑھا محسوس کرنا چاہئے ND آپ ذیل کی تصویر میں دیکھ سکتے ہیں کے طور Arduino کے. میں نے یہ چیک کرنے کے لئے اپنے AC ریموٹ کا استعمال بھی کیا ہے کہ آیا LCD پر ظاہر درجہ حرارت اصل کمرے کے درجہ حرارت کے قریب ہے یا نہیں۔
ذیل میں منسلک ویڈیو پر مکمل کام کیا جاسکتا ہے۔ اگر آپ کے کوئی سوالات ہیں تو ان کو کمنٹ سیکشن میں چھوڑ دیں یا دیگر تکنیکی سوالات کے لئے ہمارے فورمز کا استعمال کریں۔