- استعمال شدہ مواد
- NEO6M GPS ماڈیول
- 1.3 انچ I2C OLED ڈسپلے
- سرکٹ ڈایاگرام
- پروگرامنگ اردوینو برائے اریڈوینو او ایل ای ڈی اسپیڈومیٹر
اسپیڈومیٹر کسی گاڑی کی سفر کی رفتار کی پیمائش کے لئے استعمال ہوتے ہیں۔ ہم پہلے بھی ینالاگ اسپیڈومیٹر اور ڈیجیٹل اسپیڈومیٹر بنانے کے لئے بالترتیب IR سینسر اور ہال سینسر کا استعمال کرتے ہیں۔ آج ہم چلتی گاڑی کی رفتار کی پیمائش کے لئے GPS کا استعمال کریں گے۔ جی پی ایس اسپیڈومیٹر معیاری اسپیڈومیٹر سے زیادہ درست ہیں کیونکہ یہ مسلسل گاڑی کو تلاش کرسکتا ہے اور اس کی رفتار کا حساب لگا سکتا ہے۔ نیویگیشن اور ٹریفک الرٹس کے لئے اسمارٹ فونز اورگاڑیوں میں جی پی ایس ٹکنالوجی بڑے پیمانے پر استعمال ہوتی ہے۔
اس منصوبے میں، ہم نے ایک کی تعمیر کریں گے سپیڈومیٹر Arduino کے GPS ایک OLED ڈسپلے کے ساتھ ایک NEO6M GPS ماڈیول کا استعمال کرتے ہوئے.
استعمال شدہ مواد
- اردوینو نینو
- NEO6M GPS ماڈیول
- 1.3 انچ I2C OLED ڈسپلے
- بریڈ بورڈ
- جڑنے والے کو جوڑ رہا ہے
NEO6M GPS ماڈیول
یہاں ہم NEO6M GPS ماڈیول استعمال کر رہے ہیں۔ NEO-6M GPS ماڈیول ایک مقبول GPS ریسیور ہے جس میں بلٹ میں سیرامک اینٹینا موجود ہے ، جو سیٹلائٹ تلاش کرنے کی ایک مضبوط صلاحیت فراہم کرتا ہے۔ یہ وصول کنندہ مقامات کو سمجھنے اور دنیا میں کہیں بھی 22 سیٹلائٹ کو تلاش کرنے اور اس کی شناخت کرنے کی صلاحیت رکھتا ہے۔ آن بورڈ سگنل اشارے کی مدد سے ، ہم ماڈیول کے نیٹ ورک کی حیثیت کی نگرانی کرسکتے ہیں۔ اس میں ڈیٹا بیک اپ بیٹری ہے تاکہ جب مرکزی طاقت حادثاتی طور پر بند ہوجائے تو ماڈیول ڈیٹا کو بچاسکتا ہے۔
GPS وصول کنندہ ماڈیول کے اندر کا بنیادی دل U-blox سے NEO-6M GPS چپ ہے۔ یہ 50 چینلز پر 22 سیٹلائٹ کو ٹریک کرسکتا ہے اور اس میں انتہائی متاثر کن حساسیت کی سطح ہے جو -161 ڈی بی ایم ہے۔ یہ 50 چینل کے U-blox 6 پوزیشننگ انجن میں 1 سیکنڈ سے کم کے ٹائم ٹو فرسٹ فکس (TTFF) کی فخر ہے۔ یہ ماڈیول 4800-230400 بی پی ایس سے باؤڈ ریٹ کی حمایت کرتا ہے اور اس میں ڈیفالٹ باؤڈ 9600 ہے۔
خصوصیات:
- آپریٹنگ وولٹیج: (2.7-3.6) V DC
- آپریٹنگ موجودہ: 67 ایم اے
- بوڈ کی شرح: 4800-230400 بی پی ایس (9600 ڈیفالٹ)
- مواصلات پروٹوکول: NEMA
- انٹرفیس: یو آر ٹی
- بیرونی اینٹینا اور بلٹ میں EEPROM۔
GPS ماڈیول کی پن آؤٹ:
- وی سی سی: ماڈیول کا ان پٹ وولٹیج پن
- GND: گراؤنڈ پن
- آر ایکس ، ٹی ایکس: مائکروکانٹرولر کے ساتھ یو آر ٹی مواصلاتی پن
ہم نے اس سے قبل GPS کو آرڈوینو کے ساتھ انٹرفیس کیا ہے اور گاڑیوں سے باخبر رہنے سمیت جی پی ایس ماڈیول استعمال کرکے بہت سارے پروجیکٹس بنائے ہیں۔
1.3 انچ I2C OLED ڈسپلے
او ایل ای ڈی کی اصطلاح " آرگینک لائٹ ایمٹنگنگ ڈایڈڈ" ہے ، وہی وہی ٹکنالوجی استعمال کرتی ہے جو ہمارے بیشتر ٹیلی ویژن میں استعمال ہوتی ہے لیکن ان کے مقابلے میں پکسلز کم ہیں۔ یہ مزے کی بات ہے کہ ان ٹھنڈی لگنے والے ڈسپلے ماڈیولوں کو اردوینو کے ساتھ انٹرفیس کیا جائے کیونکہ اس سے ہمارے منصوبے ٹھنڈی نظر آسکیں گے۔ ہم نے OLED ڈسپلے اور اس کی اقسام کے بارے میں ایک مکمل مضمون کا احاطہ کیا ہے۔ یہاں ، ہم ایک مونوکروم 4 پن SH1106 OLED 1.28 "OLED ڈسپلے استعمال کررہے ہیں ۔ یہ ڈسپلے صرف I2C وضع کے ساتھ کام کرسکتا ہے۔
تکنیکی خصوصیات:
- ڈرائیور آئی سی: SH1106
- ان پٹ وولٹیج: 3.3V-5V ڈی سی
- قرارداد: 128x64
- انٹرفیس: I2C
- موجودہ کھپت: 8 ایم اے
- پکسل کا رنگ: نیلا
- دیکھنے کا زاویہ:> 160 ڈگری
پن کی تفصیل:
وی سی سی: ان پٹ بجلی کی فراہمی 3.3-5V ڈی سی
GND: زمینی حوالہ پن
ایس سی ایل: I2C انٹرفیس کا گھڑی پن
ایس ڈی اے: I2C انٹرفیس کا سیریل ڈیٹا پن
ارڈینو کمیونٹی نے پہلے ہی ہمیں بہت سی لائبریرییں دے رکھی ہیں جن کو براہ راست استعمال کرکے اسے بہت آسان بنایا جاسکتا ہے۔ میں نے کچھ لائبریریوں کو آزمایا اور پتہ چلا کہ اڈفروٹ_س 11106۔چ لائبریری کا استعمال کرنا بہت آسان تھا اور اس میں مٹھی بھر گرافیکل آپشنز تھے ، لہذا ہم اس ٹیوٹوریل میں بھی یہی استعمال کریں گے۔
OLED بہت عمدہ نظر آتا ہے اور آسانی سے دوسرے مائکروکنٹرولروں کے ساتھ کچھ دلچسپ منصوبوں کی تشکیل کے ل interface انٹرفیس کیا جاسکتا ہے:
- راسبیری پائی کے ساتھ انٹرفیسنگ SSD1306 OLED ڈسپلے
- ایردوینو کے ساتھ انٹرفیسنگ SSD1306 OLED ڈسپلے
- ESP32 اور OLED ڈسپلے کا استعمال کرتے ہوئے انٹرنیٹ گھڑی
- ارڈینو ، ڈی ایچ ٹی 11 اور آئی آر بلاسٹر کا استعمال کرتے ہوئے خودکار AC درجہ حرارت کنٹرولر
سرکٹ ڈایاگرام
OLED استعمال کرنے والے اس اردوینو GPS اسپیڈومیٹر کے لئے سرکٹ ڈایاگرام ذیل میں دیا گیا ہے۔
مکمل سیٹ اپ نیچے کی طرح نظر آئے گا:
پروگرامنگ اردوینو برائے اریڈوینو او ایل ای ڈی اسپیڈومیٹر
اس منصوبے کا مکمل کوڈ سبق کے نیچے دیا گیا ہے۔ یہاں ہم لائن کے ذریعہ مکمل کوڈ لائن کی وضاحت کررہے ہیں۔
سب سے پہلے ، تمام لائبریریاں شامل کریں۔ یہاں TinyGPS ++. ح لائبریری جیپیایس رسیور ماڈیول اور استعمال کرتے ہوئے GPS کے نقاط حاصل کرنے کے لئے استعمال کیا جاتا ہے Adafruit_SH1106.h OLED کے لئے استعمال کیا جاتا ہے.
# شامل کریں
پھر ، OLED I2C ایڈریس کی وضاحت کی گئی ہے ، جو OX3C یا OX3D ہوسکتا ہے ، یہاں یہ میرے معاملے میں OX3C ہے۔ نیز ، ڈسپلے کے ری سیٹ پن کو بھی بیان کرنا ہوگا۔ میرے معاملے میں ، اس کی وضاحت -1 کے طور پر کی گئی ہے ، کیونکہ ڈسپلے ارڈینوو کے ری سیٹ پن کو شیئر کررہا ہے۔
# ڈیفائن OLED_ADDRESS 0x3C # وضاحت OLED_RESET -1 اڈفروٹ_س 11106 ڈسپلے (OLED_RESET)؛
اگلا ، ٹنی جی پی ایس پی ایل ایس اور سوفٹ ویئر سیریل کلاس کے ل the اشیاء کی وضاحت ذیل میں کی گئی ہے۔ سافٹ ویئر سیریل کلاس کو ارڈینو پن نمبر کی ضرورت ہے۔ سیریل مواصلات کے لئے ، جس کی وضاحت یہاں 2 اور 3 ہے۔
انٹ RX = 2 ، TX = 3؛ ٹنی جی جی پی ایس پی ایس جی پی ایس؛ سافٹ ویئرشیل gpssoft (RX، TX)؛
سیٹ اپ () کے اندر ، سیریل مواصلات اور OLED کیلئے ابتدا کی جاتی ہے۔ سافٹ ویئر سیریل مواصلات کے لئے پہلے سے طے شدہ باب کی شرح 9600 کے طور پر بیان کی گئی ہے۔ یہاں SH1106_SWITCHCAPVCC کو اندرونی طور پر 3.3V سے ڈسپلے وولٹیج پیدا کرنے کے لئے استعمال کیا جاتا ہے اور ڈسپلے کو شروع کرنے کے لئے ڈسپلے.بین فنکشن استعمال ہوتا ہے۔
باطل سیٹ اپ () { سیریل.بیگین (9600)؛ gpssoft.begin (9600)؛ display.begin (SH1106_SWITCHCAPVCC، OLED_ADDRESS)؛ display.clearDisplay ()؛ }
اندر جبکہ سچ لوپ، موصول سیریل ڈیٹا توثیق کر رہے ہیں، درست GPS سگنل موصول ہوئی ہیں، تو پھر displayspeed () OLED پر رفتار قدر ظاہر کرنے کے لئے کہا جاتا ہے.
جبکہ (gpssoft.available ()> 0) اگر (gps.encode (gpssoft.read ())) ڈسپلے اسپیڈ ()؛
ڈسپلے اسپیڈ () فنکشن کے اندر ، GPS ماڈیول سے آنے والے سپیڈ ڈیٹا کو فنکشن gps.speed.isValid () کا استعمال کرتے ہوئے چیک کیا جاتا ہے اور اگر یہ ایک صحیح قدر واپس کرتا ہے ، تو پھر اسپیڈ ویلیو OLED ڈسپلے پر ظاہر ہوگی۔ یہاں OLED پر ٹیکسٹ سائز کا استعمال کرتے ہوئے وضاحت کی گئی ہے display.setTextSize کا استعمال کرتے ہوئے وضاحت کی گئی ہے تقریب اور کرسر پوزیشن display.setCursor تقریب. GPS ماڈیول سے آنے والا اسپیڈ ڈیٹا gps.speed.kmph () فنکشن کا استعمال کرتے ہوئے ضابطہ کشائی کیا جاتا ہے اور آخر کار اسے ڈسپلے ڈس پلے () کا استعمال کرتے ہوئے ظاہر کیا جاتا ہے ۔
اگر (gps.speed.isValid ()) { display.setTextSize (2)؛ ڈسپلے.سیٹ کرسر (40 ، 40)؛ ڈسپلے.پرنٹ (gps.speed.kmph ())؛ display.display ()؛ }
آخر میں ، ارڈینو اونو میں کوڈ اپ لوڈ کریں اور سسٹم کو چلتی گاڑی میں رکھیں ، اور آپ OLED ڈسپلے پر جس رفتار کو نیچے کی تصویر میں دکھایا گیا ہے اس کو دیکھ سکتے ہیں۔
ڈیمو ویڈیو کے ساتھ مکمل کوڈ ذیل میں دیا گیا ہے۔