ماژول GYGPSV3 - NEO M8N Ublox
ماژول GYGPSV3 - NEO M8N Ublox
ماژول GYGPSV3 - NEO M8N Ublox یک ماژول موقعیتیابی جهانی (GPS) است که بر اساس تکنولوژی مبتنی بر سیستم GPS نسل سه Ublox NEO-M8N طراحی شده است. ماژول M8N Ublox از پروتکل NMEA 0183 پشتیبانی و از رابط سریال (UART) استفاده می کند. ماژول M8N Ublox به عنوان یک ماژول GPS موثر و دقیق با عملکرد فوق العاده قابل استفاده در سیستم های مختلف است که به یک ماژول GPS با کیفیت بالا نیاز دارند. با توجه به دقت و سرعت بالای این ماژول، می توان از آن در انواع پروژه های الکترونیکی مختلف مانند رباتیک، پرنده های بدون سرنشین، خودروهای خودران و غیره استفاده کرد.
مشخصات فنی ماژول GYGPSV3 - NEO M8N Ublox
- دقت بالا- این ماژول دارای دقت بسیار بالایی در موقعیت یابی GPS است که بهترین دقت در محیط باز و آسمان صاف را به دست می آورد.
- سرعت بالا:-ماژول M8N Ublox بسیار سریع در دریافت اطلاعات GPS است و در عرض چند ثانیه موقعیت دقیق را به دست می آورد.
- پشتیبانی از پروتکل NMEA 0183 - این ماژول از پروتکل NMEA 0183 پشتیبانی می کند که به راحتی با میکروکنترلرها و بردهای الکترونیکی دیگر ارتباط برقرار می کند.
- قابلیت اتصال به آنتن خارجی - این ماژول دارای پورت SMA برای اتصال به آنتن خارجی است که در محیط های با سطح سیگنال GPS ضعیف، کارایی بهتری را به دست می آورد.
- قابلیت برنامه ریزی - ماژول M8N Ublox قابلیت برنامه ریزی برای تنظیم پارامترهای GPS را دارد و به کاربر این امکان را می دهد تا با تنظیم آن، به دقت و کارایی مطلوبی دست یابد.
بررسی پایه های ماژول GYGPSV3 - NEO M8N Ublox
- VCC: این پایه به منبع تغذیه ولتاژ DC 2.7V-5.0V وصل می شود.
- GND: این پایه به مرجع منبع تغذیه یعنی زمین وصل می شود.
- TXD: این پایه برای ارسال داده های GPS از طریق رابط سریال UART به میکروکنترلر یا برد الکترونیکی دیگر متصل می شود.
- RXD: این پایه برای دریافت داده های GPS از طریق رابط سریال UART از میکروکنترلر یا برد الکترونیکی دیگر متصل می شود.
راه اندازی ماژول GPS NEO-M8 با آردوینو
در ادامه یک کد برنامه نویسی برای ماژول جی پی اس مخابراتی NEO-M8 نوشته شده است.
#include <SoftwareSerial.h>
SoftwareSerial gpsSerial(10, 11); // RX, TX pins of the GPS module
void setup() {
Serial.begin(9600); // Serial monitor for display
gpsSerial.begin(9600); // GPS module communication speed
}
void loop() {
while (gpsSerial.available() > 0) {
if (gpsSerial.find("$GPGGA")) {
// Parse GPS data
String dataString = gpsSerial.readStringUntil('\r');
// Display GPS data on serial monitor
Serial.println(dataString);
}
}
}
راه اندازی ماژول GPS NEO-M8 با میکروپایتون و ESP32
در زیر، مثالی از کد Micropython برای خواندن و نمایش دادن داده های GPS از ماژول NEO-8M نوشته شده است.در این کد، ما ماژول های لازم برای ارتباط با ماژول GPS را وارد کرده و یک شی UART برای ارتباط سریال ایجاد میکنیم. سپس یک شی UBlox ایجاد میکنیم و داده های GPS را با استفاده از روش recv_raw() دریافت میکنیم. در صورت وجود داده های GPS، داده ها را برای استخراج مقادیر طول جغرافیایی، عرض جغرافیایی و ارتفاع تجزیه می کنیم. در نهایت، با استفاده از روش print() داده های GPS را در کنسول نمایش میدهیم. کد به طور پیوسته با استفاده از عبارت while True: در یک حلقه بی نهایت display_gps_data() را فراخوانی می کند و با استفاده از روش time.sleep(1) با تأخیر 1 ثانیه بین هر فراخوانی عمل می کند.
import machine
import time
import ublox
uart = machine.UART(1, tx=17, rx=16) # UART object
gps = ublox.UBlox(uart) # Create a UBlox object
def display_gps_data():
gps_data = gps.recv_raw() # Receive GPS data
if gps_data is not None:
# Parse GPS data
lat, lon, alt = gps_data['position']
# Display GPS data
print("Latitude: {}, Longitude: {}, Altitude: {} meters".format(lat, lon, alt))
while True:
display_gps_data()
time.sleep(1)
راه اندازی ماژول GPS NEO-M8 با میکروپایتون و RP2040
در ادامه یک کد Micropython برای خواندن دادههای GPS از ماژول NEO-8M و نمایش آن روی RP2040 نوشته شده است. در این کد، با استفاده از روش machine.UART() یک شی UART برای ارتباط سریال با ماژول GPS ایجاد میکنیم. سپس یک شی UBlox ایجاد کرده و با استفاده از روش recv_raw() دادههای GPS را دریافت میکنیم. اگر دادههای GPS در دسترس باشند، آنگاه دادهها را برای استخراج مقادیر عرض جغرافیایی، طول جغرافیایی و ارتفاع تجزیه میکنیم. با استفاده از روش print() دادههای GPS را در کنسول نمایش داده و با فلش کردن LED بر روی برد RP2040 نشان میدهیم که دادههای GPS دریافت شدهاند. این کد به صورت بیپایان، با استفاده از دستور while True تابع display_gps_data() را به طور مداوم فراخوانی میکند و با استفاده از روش time.sleep(1) با تأخیر 1 ثانیه بین هر فراخوانی، این کار را انجام میدهد.
import machine
import time
import ublox
uart = machine.UART(1, baudrate=9600, tx=machine.Pin(4), rx=machine.Pin(5)) # یک شیء UART ایجاد کنید
gps = ublox.UBlox(uart) # یک شیء UBlox ایجاد کنید
led = machine.Pin(25, machine.Pin.OUT) # LED بر روی برد RP2040
def display_gps_data():
gps_data = gps.recv_raw() # دادههای GPS را دریافت کنید
if gps_data is not None:
# دادههای GPS را تجزیه کنید
lat، lon، alt = gps_data['position']
# دادههای GPS را در کنسول نمایش دهید
print("Latitude: {}, Longitude: {}, Altitude: {} meters".format(lat, lon, alt))
# LED را برای نشان دادن دریافت دادههای GPS فلش کنید
led.value(1)
time.sleep_ms(100)
led.value(0)
while True:
display_gps_data()
time.sleep(1)
مشخصات
- کاربری
- مناسب برای استفاده صنعتی
- نوع ماژول
- GPS - GSM
- تعداد قطعات
- 17 عدد
- ابعاد فیبر
- 2.5 * 3.6 سانتی متر
- سطح تجربه مورد نیاز
- فوق حرفه ای
- ولتاژ ورودی
- 2.7 تا 3.6 ولت DC
- فیبر مدار چاپی
- فایبرگلاس دورو متالیزه
- دمای کاری
- 40- تا 80+ درجه سانتی گراد
- جریان
- 23 میلی آمپر
- چاپ مس
- دارای چاپ آبی
- تعداد پایه ها
- 4 عدد
- ترتیب پایه ها
- VCC - RX - TX - GND
- آموزش ساخت
- به بخش پروژه ها در سایت دیجی اسپارک مراجعه شود
- سازنده
- Ublox
- کشور سازنده
- چین
- باتری
- دارای باتری پشتیبان
- فرکانس
- 10 - 18 Hz
- نوع کانکتور
- پین هدر
- پروتکل ارتباطی
- UART
- دقت اندازه گیری
- 2 متر
- منبع تامین انرژی
- برق و باتری
ماژول GPS زمانی که بتواند به ماهوارهها متصل شود. از طریق ال ای دی روی برد وضعیت را مشخص میکند. به طور کلی دو وضعیت برای ال ای دی مازول جی پی اس مدل Neo6M وجود دارد.
1- ال ای دی هیچ واکنشی ندارد: ماژول در حال جستجو برای اتصال به ماهواره است.
2- ال ای دی هر یک ثانیه چشمک میزند: ماژول به ماهواره متصل شده و موقعیت یابی در حال ثبات است.
تراشههای جی پی اس ساخت uBlox تنوع زیادی دارند. هر کدام براساس فرکانس کاری، سرعت تبادل اطلاعات، بادریت و جریان مصرفی و تعداد اتصال همزمانی ماهوارهای متفاوت هستند. این سه نسخه از تراشههای جی پی اس uBlox در بازار ایران بسیار پر مصرف هستند. در ادامه تفاوت هر کدام را توضیح خواهیم داد.
ماژول جی پی اس Neo-6M
دارای قابلیت اتصال فقط به ماهوارههای GPS است. تا 22 ماهواره را از طریق 50 کانال میتواند پشتیبانی کند. همچنین در -161 dB بالاترین سطح دقت با گرید صنعتی را ارایه میدهد. میزان جریان مصرفی هم در حد 45mA است. ماژول GPS Neo6M دارای اینترفیسهای ارتباطی UART و USB و I2C و SPI است. انواع مختلف از این نسل شامل NEO-6G و NEO-6Q و NEO-6M هستند. برای درک تفاوت کامل هر کدام بایستی به دیتاشیت ماژولها مراجعه کنید.
ماژول جی پی اس Neo-7M
این ماژول قابلیت Multi-GNSS را داراست. به این معنی که علاوه بر اتصال به ماهوارههای GPS به دیگر ماهوارهها هم متصل میشود. به صورت عمومی قابلیت اتصال به ماهوارههای آمریکایی و روسی را دارد. ماژول GPS Neo7M دارای اینترفیسهای ارتباطی UART و USB و I2C و SPI است. انواع مختلف از این نسل شامل NEO-7N و NEO-7M است. برای درک تفاوت هر کدام بایستی به دیتاشیت ماژولها مراجعه کنید.
ماژول جی پی اس Neo-M8
این ماژول GPS قابلیت اتصال به انواع بیشتری از ماهوارههای GPS است. این موارد شامل ماهوارههای BeiDou, Galileo, GLONASS, GPS / QZSS هستند. از این جهت ماژول Neo-M8 uBlox دقت بسیار بالاتری به نسبت نسلهای قدیمیتر و سرعت تبادل اطلاعاتی بالاتری هم دارد. به صورت همزمان قابلیت دریافت اطلاعات از سه ماهواره مجزا را دارد. انواع مختلف از این نسل شامل NEO-M8J و NEO-M8M و NEO-M8N و NEO-M8Q هستند. برای درک تفاوت کامل هر کدام بایستی به دیتاشیت ماژولها مراجعه کنید. ماژول GPS NeoM8 دارای اینترفیسهای ارتباطی UART و USB و I2C و SPI است.
بله این مورد امکان پذیر است. اما بایستی دقت داشته باشید که ماژول GPS به تنهایی عمل ردیابی را انجام نمیدهد. بلکه بایستی مدارهای تکمیلی در کنار آن داشته باشید. از جمله یک برد میکروکنترلر برای ارسال و دریافت دادهها از ماژول جی پی اس، سپس یک برد ارتباطی مانند بردهای سیم کارتی برای انتقال دادهها از شی در حال ردگیری به محلی دیگر نیاز خواهید داشت. بنابراین صرفا با تهیه یک ماژول جی پی اس امکان ساخت ردیاب را نخواهید داشت.
امکان راه اندازی چند سنسور DHT با ESP8266 با استفاده از MicroPython وجود دارد. سنسورهای DHT با پروتکل دیجیتال و از طریق پایههای GPIO قابل اتصال به میکروکنترلرها هستند.
برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:
یک برد میکروکنترلر ESP32
یک سنسور دما مثل DHT DS18B20
یک المان سرد کننده
با استفاده از کتابخانه DHT.h، میتوانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، میتوانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.
در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال دادهها به پلتفرم IoT باید استفاده کنید.