جستجو برای:
سبد خرید 0
  • خانه
  • فروشگاه
    • دوره های آموزشی
    • پروژه
    • بسته های آموزشی
      • رباتیک
      • آردوینو
  • هوافضا
    • آموزش هوافضا
      • فیلم های آموزش هوافضا
      • PDF های آموزش هوافضا
    • محصولات هوافضایی
    • نرم افزار های هوافضا
    • تازه های هوافضا
  • رباتیک
    • آموزش رباتیک
      • فیلم های آموزش رباتیک
        • PDF های آموزش رباتیک
    • دیتاشیت فارسی
    • نرم افزار های رباتیک
    • تازه های رباتیک
    • تاریخ مسابقات
  • پروژه
    • پروژه های رایگان
    • پروژه های آماده
    • پروژه های آردوینو
    • پروژه های رزبری پای
    • پروژه های بدون میکروکنترلر
    • پردازش تصویر
    • سفارش پروژه
  • دوره های آموزشی
    • کلاس های آموزشی
    • فیلم های آموزشی
    • جلسه های آموزشی
      • آموزش آردوینو
      • آموزش رسپبری پای
      • آموزش STM32
      • ربات پرنده
      • رباتیک مقدماتی
  • تماس با ما
  • درباره ما
  • مقالات
شروع ثبت نام دوره تابستانی آوات روبو
فرصت تکرار نشدنی ثبت نام در دوره های حضوری با 20% تخفیف!
ساعت
دقیقه
ثانیه
مشاهده دوره های آموزشی
رباتیک و هوافضا
ورود
با ایمیل با شماره موبایل
گذرواژه خود را فراموش کرده اید؟
عضویت
با ایمیل با شماره موبایل
  • 09152556924
  • sup@avatrobo.ir
رباتیک و هوافضا
  • خانه
  • فروشگاه
    • دوره های آموزشی
    • پروژه
    • بسته های آموزشی
      • رباتیک
      • آردوینو
  • هوافضا
    • آموزش هوافضا
      • فیلم های آموزش هوافضا
      • PDF های آموزش هوافضا
    • محصولات هوافضایی
    • نرم افزار های هوافضا
    • تازه های هوافضا
  • رباتیک
    • آموزش رباتیک
      • فیلم های آموزش رباتیک
        • PDF های آموزش رباتیک
    • دیتاشیت فارسی
    • نرم افزار های رباتیک
    • تازه های رباتیک
    • تاریخ مسابقات
  • پروژه
    • پروژه های رایگان
    • پروژه های آماده
    • پروژه های آردوینو
    • پروژه های رزبری پای
    • پروژه های بدون میکروکنترلر
    • پردازش تصویر
    • سفارش پروژه
  • دوره های آموزشی
    • کلاس های آموزشی
    • فیلم های آموزشی
    • جلسه های آموزشی
      • آموزش آردوینو
      • آموزش رسپبری پای
      • آموزش STM32
      • ربات پرنده
      • رباتیک مقدماتی
  • تماس با ما
  • درباره ما
  • مقالات
شروع کنید
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
0

وبلاگ

رباتیک و هوافضا > مقالات > پروژه > راه اندازی ماژول جی پی اس با رزبری پای

راه اندازی ماژول جی پی اس با رزبری پای

اسفند 18, 1396
ارسال شده توسط mjavad
پروژه، پروژه های رایگان، پروژه های رزبری پای
راه اندازی ماژول جی پی اس با رزبری پای

به نام خدا

راه اندازی ماژول جی پی اس با رزبری پای

راه اندازی ماژول جی پی اس با رزبری پای

 

در این پروژه راه اندازی ماژول جی پی اس به وسیله رزبری پای 3 را یاد خواهیم گرفت. هدف اصلی این پروژه دریافت مختصات از ماژول جی پی اس از طریق UART و نمایش آن روی نمایشگر 16×2 می باشد.

 

قطعات مورد نیاز:

  • رزبری پای 3
  • ماژول GPS
  • نمایشگر LCD 16×2
  • منبع تغذیه برای رزبری پای
  • کابل LAN
  • برد بورد و سیم برد بورد
  • مقاومت یا پتانسیومتر برای LCD
  • کارت حافظه 8 گیگ یا 16 گیگ با Raspbian Jessie

علاوه بر این ما باید کتابخانه  (GPS Daemon (GPSD و 16×2  LCD Adafruit را نصب کنیم. در اینجا از رزبری پای 3 با سیستم عامل Raspbian Jessie استفاده شده.

ماژول GPS و طرز کار ان:

GPS مخفف سیستم موقعیت یابی جهانی (Global Positioning System) و برای پیدا کردن طول و عرض جغرافیایی به صورت دقیق است. GPS قطعه اصلی در سیستم ردیاب ماشین ها است. این ماژول در هر ثانیه مختصات را همراه با زمان و روز دریافت می کند.

ماژول GPS اطلاعات مربوط به مختصات را در هر لحظه دریافت می کند. این اطلاعات در فرمت NMEA فرستاده می شود(مانند عکس زیر) .فرمت NMEA از چندین جمله تشکیل شده که ما فقط یکی از ان ها را لازم داریم.جمله مورد نیاز ما با $GPGGA شروع می شود و شامل مختصات ، زمان و اطلاعات لازم دیگری است. GPGGA مخفف سیستم موقعیت یابی جهانی ثابت اطلاعات (Global Positioning System Fix Data) است.

بعد از پیدا کردن  $GPGGA و ذخیره آن در یک آرایه، میتوانیم عرض جغرافیایی را بعد از دو کاما و طول جغرافیایی را بعد چهار  کاما پیدا کنیم. با کپی کردن این اطلاعات در آرایه دیگر می توانیم در هر جایی از انها استفاده کنیم.

راه اندازی ماژول جی پی اس با رزبری پای

در زیر یک رشته $GPGGA را می بینیم:

$GPGGA,104534.000,7791.0381,N,06727.4434,E,1,08,0.9,510.4,M,43.9,M,,*47

$GPGGA,HHMMSS.SSS,latitude,N,longitude,E,FQ,NOS,HDP,altitude,M,height,M,,checksum data

Identifier

Description

$GPGGA

Global Positioning system fix data

HHMMSS.SSS

Time in hour minute seconds and milliseconds format.

Latitude

(Latitude (Coordinate

N

Direction N=North, S=South

Longitude

(Longitude(Coordinate

E

Direction E= East, W=West

FQ

Fix Quality Data

NOS

No. of Satellites being Used

HPD

Horizontal Dilution of Precision

Altitude

Altitude from sea level

M

Meter

Height

Height

Checksum

Checksum Data

آماده سازی ارتباط بین GPS و رزبری پای:

ابتدا باید UART را برای ارتباط GPS  و رزبری پای اماده کنیم. این اماده سازی سخت ترین قسمت این آموزش است ممکن است چند بار دستورات گفته شده را تکرار کنید تا نتیجه دلخواه بگیرید.

راه اندازی ماژول جی پی اس با رزبری پای

رزبری پای دو واحد UART دارد یکی PL011 و دیگری mini UART.آنها با استفاده از بلوک های سخت افزای مختلف اجرا می شوند و ویژگی هایشان کمی متفاوت است. ماژول های بی سیم و بلوتوث به PLO11 UART وصل می شوند و از mini UART برای ارتباط با کنسول لینوکس استفاده می شود. در این جا ما ماژول بلوتوث را PLO11 UART جدا کرده(به وسیله کد) و از این UART برای GPS استفاده می کنیم.

مر حله 1 : بروزرسانی رزبری پای

قبل از هر کاری رزبری پای را بروزرسانی می کنیم. دستورات زیر را اجرا کنید

sudo apt-get update
sudo apt-get upgrade

سپس سیستم را به وسیله کد زیر ریبوت می کنیم:

sudo reboot

مرحله 2:تنظیم UART

برای تنظیم UART باید در فایل /boot/config.txt تغییراتی ایجاد کنیم.دستور زیر را اجرا کنید.

sudo nano /boot/config.txt

در اخر فایل config.txt کد های زیر را اضافه کنید.

dtparam=spi=on
dtoverlay=pi3-disable-bt
core_freq=250
enable_uart=1
force_turbo=1

از ctrl+x برای خارج شدن و Y برای ذخیره استفاده کنید.

راه اندازی ماژول جی پی اس با رزبری پای

 مطمئن شوید که هیچ اروری دریافت نکردید.

force_turbo برای فعال سازی UART در بالاترین فرکانس هسته می باشد که در اینجا 250 است.برای این که اطلاعات دریافت شده از ماژول اشتباه نشود از این فرکانس استفاده می  شود. در نظر داشته باشید که با وارد کردن force_turbo=1  ضمانت نامه رزبری پای از بین می رود اما در عوض این کار مطمئن تر است.

 دستور dtoverlay=pi3-disable-bt بلوتوث را قطع می کند و به ما اجازه می دهد که از تمام قدرت UART استفاده کنیم.

سپس باید boot/cmdline.txt را تغییر دهیم، پیشنهاد می شود قبل از تغییر این فایل یک کپی از ان گرفته شود تا در آینده اگر لازم شد به حالت اولش باز گردانیم.دستورات زیر برای کپی گرفتن از فایل است.

sudo cp boot/cmdline.txt boot/cmdline_backup.txt
sudo nano /boot.cmdline.txt

 خطوط زیر را جایگزین خطوط فایل cmdline.txt کنید

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles

 فایل را ذخیره کنید و خارج شوید. سپس ریستارت کنید (sudo reboot)

مرحله 3 : غیر فعال کردن سریال Getty رزبری پای

دستورات زیر را برای غیر فعال کردن سریال Getty رزبری پای اجرا کنید و سپس ریستارت کنید.
sudo systemctl stop serial-getty@ttyS0.service
sudo systemctl disable serial-getty@ttyS0.service

 دستورات زیر برای فعال سازی مجدد این سرویس در صورت نیاز است

sudo systemctl enable serial-getty@ttyS0.service
sudo systemctl start serial-getty@ttyS0.service

مرحله 4: فعال سازی ttyAMAO

این کد ttyAMAO را فعال می کند

sudo systemctl enable serial-getty@ttyAMA0.service

مرحله5: نصب Minicom و pynmea2

ما به وسیله Minicom به ماژول GPS وصل می شویم. همچنین GPS را با Minicom تست می کنیم.

sudo apt-get install minicom

برای جدا سازی اطلاعات از کتابخانه pynmea2 استفاده می کنیم دستورات زیر برای نصب pynmea2 است.

sudo pip install pynmea2

 لینک pynmea2 کتابخانه

[maxbutton id=”217″ url=”https://github.com/Knio/pynmea2/archive/master.zip” ]

مرحله 6: نصب کتابخانه LCD

در این اموزش از کتابخانه AdaFruit برای LCD استفاده شده است،دستور زیر را اجرا کنید.

git clone https://github.com/adafruit/Adafruit_Python_CharLCD.git

سپس دستورات زیر را اجرا کنید.

cd ./Adafruit_Python_CharLCD
sudo python setup.py install

در اخر پیشنهاد می شود سیستم را ریبوت کنید سپس قطعات را به یکدیگر متصل کنید.

اتصالات بین رزبری پای و GPS:

اتصالات بین رزبری پای و GPS را در زیر می بینید.

راه اندازی ماژول جی پی اس با رزبری پای

تست مدار:

قبل از اجرای دستورات python بهتر است تا ماژول GPS را با minicom تست کنیم.

sudo minicom -D/dev/ttyAMA0 -b9600
این تست را می توانیم به وسیله cat هم انجام دهیم.
sudo cat /dev/ttyAMA0

راه اندازی ماژول جی پی اس با رزبری پای

 در بالا جملات NMEA را که قبلا در باره شان صحبت شد دیده می شود.

 کد های پایتون را در  اخر پست می بینید.

بعد از انجام تمام کارهای گفته شده، وقت آن رسیده که همه سیستم را تست کنیم.

دانلود کد  راه اندازی ماژول جی پی اس با رزبری پای:

[maxbutton id=”202″ url=”http://avatrobo.ir/wp-content/uploads/2018/03/Raspberry-Pi-GPS-Module-Interfacing-Tutorial.txt” ]

import time
import serial
import string
import pynmea2
import RPi GPIO as gpio
#to add the LCD library
import Adafruit_CharLCD as LCD
 
gpio.setmode(gpio.BCM)
 
#declaring LCD pins
lcd_rs = 17
lcd_en = 18
lcd_d4 = 27
lcd_d5 = 22
lcd_d6 = 23
lcd_d7 = 10
 
lcd_backlight = 2
 
lcd_columns = 16 #Lcd column
lcd_rows = 2 #number of LCD rows
 
lcd = LCD.Adafruit_CharLCD(lcd = LCD.Adafruit_CharLCD(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7, lcd_columns, lcd_rows, lcd_backlight)
 
port = "/dev/ttyAMA0" # the serial port to which the pi is connected.
 
#create a serial object
ser = serial.Serial(port, baudrate = 9600, timeout = 0.5)
 
while 1:
    try:
        data = ser.readline()
    except:
print("loading") 
#wait for the serial port to churn out data
 
    if data[0:6] == '$GPGGA': # the long and lat data are always contained in the GPGGA string of the NMEA data
 
        msg = pynmea2.parse(data)
 
#parse the latitude and print
        latval = msg.lat
concatlat = "lat:" + str(latval)
        print concatlat
lcd.set_cursor(0,0)
lcd.message(concatlat)
 
#parse the longitude and print
longval = msg.lon
concatlong = "long:"+ str(longval)
print concatlong
lcd.set_cursor(0,1)
lcd.message(concatlong)
           
    time.sleep(0.5)#wait a little before picking the next data.

 

 

برچسب ها: آموزش راه اندازی ماژول جی پی اس با رزبری پایپروژه ی راه اندازی ماژول جی پی اس با رزبری پایپروژههای رزبری پایدانلود راه اندازی ماژول جی پی اس با رزبری پایراه اندازی ماژول جی پی اس با رزبری پایرزبری پایشیوهی راه اندازی ماژول جی پی اس با رزبری پای
قبلی اندازه گیری فاصله با رزبری پای و سنسور آلتراسونیک HCSR04
بعدی آشنایی با شتاب سنج دیجیتال ADXL345 و کالیبره کردن آن

پست های مرتبط

اردیبهشت 9, 1398

برنامه نویسی به زبان پایتون برای رزبری پای

mjavad
ادامه مطلب

اسفند 5, 1397

تشخیص رنگ با استفاده از رزبری پای

mjavad
ادامه مطلب

بهمن 10, 1397

راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت دوم

mjavad
ادامه مطلب

بهمن 10, 1397

راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت اول

mjavad
ادامه مطلب

بهمن 2, 1397

ساخت اسپیدکنترلر موتور براشلس 3 ( با سنسور )

Author Avatar
Admin
ادامه مطلب

دیدگاهتان را بنویسید لغو پاسخ

دسته های محصولات
آخرین دیدگاه‌ها
  • Admin در پروژه ی ساخت یک ریموت کنترل 2.4 گیگا هرتز برای 10 کانال
  • Admin در درباره ما
  • Admin در پروژه ی ساخت یک ریموت کنترل 2.4 گیگا هرتز برای 10 کانال
  • Admin در رادیوکنترل 4 کاناله با قابلیت افزایش تا 10 کانال
  • امیر در رادیوکنترل 4 کاناله با قابلیت افزایش تا 10 کانال
ژوئن 2026
ش ی د س چ پ ج
 12345
6789101112
13141516171819
20212223242526
27282930  
« آوریل    
فهرست 1
  • عضویت
  • ویرایش حساب کاربری
  • ورود
  • خانه
فهرست 2
  • حمایت مالی
  • تبلیغات
  • فروشنده
  • داشبورد فروشندگان
  • سفارش پروژه
  • تماس با ما
  • درباره ما
فهرست 3
  • ویرایش حساب کاربری
  • فراموشی رمز عبور
  • ثبت نام
  • ویرایش حساب کاربری
محل کد نماد...
جستجو برای:
محصولات
  • دوره کوادکوپتر سرعتی FPV دوره آموزش ساخت کوادکوپتر مسابقاتی FPV
    نمره 4.00 از 5

    4,830,000 
  • دوره هواپیما مقدماتی تا پیشرفته دوره آموزش ساخت پهپاد بال ثابت ( هواپیما ) - مقدماتی تا پیشرفته
    10,480,000 
  • دوره کوادکوپتر مقدماتی دوره آموزش مقدماتی ساخت مولتی کوپتر (کوادکوپتر، هگزاکوپتر و ...)
    2,490,000 
  • دوره کوادکوپتر فیلم بردار دوره آموزش ساخت پهپاد فیلم بردار ( مولتی کوپتر )
    8,970,000 
  • دوره هواپیمای مدل موتور کشی دوره آموزش ساخت هواپیمای موتور کشی
    2,030,000 
نوشته‌های تازه
  • برنامه نویسی به زبان پایتون برای رزبری پای
  • تشخیص رنگ با استفاده از رزبری پای
  • راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت دوم
  • راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت اول
  • کنترل PID با آردوینو و دو موتور براشلس

درباره آوات روبو

 

آرمان آوات روبو نه تنها تغییر اکنون و تعریف آینده آموزش عملی و کاربردی در ایران، بلکه توسعه همین تغییر به کل دنیا است. نسخه بین المللی آوات روبو، هم اکنون در حال برنامه ریزی است و کارهای اولیه آن برای فعالیت در یوتیوب و یک سایت انگلیسی در حال انجام است.

دسترسی سریع

  • دوره های آموزشی
  • کیت
  • کلاس های حضوری
  • پروژه

کاوش

  • درباره ما
  • تماس با ما
  • مقالات

شبکه های اجتماعی

  • اینیستاگرام
  • یوتیوب
  • تلگرام

استفاده از مطالب سایت برای مقاصد غیر تجاری و با ذکر منبع بلامانع است. تمامی حقوق برای آوات روبو محفوظ است.