فهرست مطالب
ساعت آنالوگ GPS با استفاده از آردوینو مبتنی بر TFT
این پروژه مبتنی بر GPS، ساعت آنالوگ و دمای اتاق را بر روی صفحه نمایش TFT نمایش میدهد. زمان GPS یک استاندارد زمان دقیق میباشد که مربوط به زمان هماهنگ جهانی (گرینویچ) است. نمایش اکثر پروژههای سرگرمی الکترونیکی بر پایه LCD ،GLCD ،OLED و یا TFT میباشد. این پروژه بر اساس صفحه نمایش TFT 8.89cm (3.5 اینچی) با وضوح 360 * 480 پیکسل ساخته شده است (شکل 1).
آخرین نمایشگرهای TFT چینی قیمت بسیار ناچیزی دارند و کاملاً با Arduino و Raspberry Pi کار می کنند. دو نوع TFT مختلف وجود دارد: یکی با 26 پین (2 13 13 IL DIL) برای Raspberry Pi و دیگری به عنوان Arduino TFT برای برد Arduino Uno.
شیلد آردوینو TFT
Arduino TFT را میتوان کاملاً روی تخته Arduino Uno سوار کرد. اما یک نقطه ضعف بزرگ آن این است که پس از نصب روی آردوینو uno، استفاده از پینهای GPIO آن برای کاربردهای دیگر دشوار میباشد.
Arduino TFT دارای یک کارت میکرو SD است که برای ارتباط با میکروکنترلر به پینهای رابط سریال آن (SPI) وصل میشود. از این کارت میکرو SD در این پروژه استفاده نمیشود.
مشکل اصلی این نمایشگر این است که رایج نیست و فقط از طریق mcufriend.com در دسترس علاقهمندان میباشد. خوشبختانه پرونده هدر mcufriend_kbd.h بصورت آزاد در دسترس قرار گرفته و برای آردوینو TFT و بسیاری از نمایشگرهای مشابه دیگر از کار میکند. فایل عنوان دیگری که برای این نمایشگر لازم است Adafruit_GFX.h میباشد. هر دو فایل هدر به همراه کد منبع اصلی در زیر آورده شده است.
این پروژه ساعت آنالوگ به همراه تاریخ دیجیتالی، زمان و دمای صفحه نمایش با استفاده از سنسور حرارتی LM۳۵ / TMP۳۶ ایجاد مینماید. سیگنال زمان از ماژول گیرنده GPS U-Blox NEO-6M نشات میگیرد. زمانی که این تکنیک قابل درک باشد، میتواند برای بسیاری از برنامههای دیگر مورد استفاده قرار گیرد.
ساخت ساعت با آردوینو
پروژه ساعت آنالوگ GPS با صفحه نمایش دما به اجزای زیر نیاز دارد:
- 8.89cm TFT shield
- Arduino Uno
- U-Blox NEO-6M GPS receiver
- LM35/TMP36 temperature sensor
- 3.3V DC regulator/power supply
ارتباطات آسان میباشد که در شکل ۲ نشان داده شده است. اتصالات پین با استفاده از لایههای TFT Arduino ساده قابل فهم میباشد. شما فقط نیاز دارید تا سپر (شیلد) بالای برد Arduino Uno را نصب نمایید. اطلاعات مربوط به اتصال پین با پین و Arduino Uno در جدول داده شده است.
از آنجا که قسمت بالای Arduino Uno توسط سپر (شیلد) TFT پوشانده شده است، اتصالات TMP36 و گیرنده GPS از قسمت پایین برد Arduino Uno گرفته میشود (به شکل 3 مراجعه کنید). در صورتی که میخواهید برخی از پینهای آردوینو را آزاد کنید، باید فایل mcufriend_shield.h را مشاهده کرده و اتصالات را مجدداً بنویسید.
این شیلد اساساً برای کار با 3.3 ولت است اما ممکن است تا 5 ولت کار کند. با این حال، کار طولانی مدت در 5 ولت توصیه نمیشود زیرا در آن ولتاژ بیش از حد گرم میشود. منبع تغذیه 3.3 ولت از یک تنظیمکننده ولتاژ LD1117V33 گرفته شده است.
نرم افزار ساعت آنالوگ
نوشتن کد / طرح آردوینو (GPS_analog_clock.ino) برای این پروژه سرگرمکننده است! شما میتوانید از طریق کد نویسی، نمایشگر TFT را به روشهای مختلفی تهیه کنید. ایجاد یک خط مرزی ضخیم، باعث میشود ساعتها و دقیقهها یکنواخت حرکت کنند، زیرا کتابخانه Adafruit_GFX چندان توسعه نیافته است.
کد GPS_analog_time.ino را از Arduino IDE باز کنید و پرونده های سربرگ را درج کنید. کد را در برد Arduino Uno کامپایل و بارگذاری نمایید. طرح دیگری (GPS_analog_lock2.ino) برای تغییر رنگ دقیقه نیز گنجانده شده است.
نحوه ساخت ساعت آنالوگ GPS با آردوینو
پس از بارگذاری کد، پینهای TMP36 و GPS ماژول را در برد آردوینو لحیم کنید. سپس سپر TFT را در بالای برد آردوینو سوار کنید. بعد از انجام کلیه اتصالات مطابق شکل 2، آن را به منبع 3.3V DC وصل نمایید. ماژول GPS برای ردیابی ماهوارهها به چند دقیقه زمان نیاز دارد.
اکثر گیرندههای GPS دارای آنتن پچ داخلی هستند که میتواند ماهوارههای GPS مدار پایین زمین (LEO) را خیلی راحت پیدا کند، حتی اگر پنجرههای اتاق شما بسته باشد.
به محض قرار گرفتن دو ماهواره از این نوع، زمان روی شمارهگیری آنالوگ شروع به ظاهر شدن میگردد. همچنین، تاریخ و دما به صورت دیجیتالی در سمت راست صفحه نمایش TFT نشان داده شده است.
توجه داشته باشید که سنسور دما TMP36 بر روی 3.3 ولت کار میکند. به جای آن میتوان از LM35 نیز استفاده کرد، اما برای این کار ما به یک ولتاژ 5 ولت نیاز خواهیم داشت.