Thông báo

Collapse
No announcement yet.

Kết nối AVR với GPS

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Kết nối AVR với GPS

    Em đang cần kết nối con Atmega 8515 với GPS. Con VĐK sẽ nhận bản tin (RMC) từ GPS, sau đó lọc lấy các thông tin cần thiết (kinh độ, vĩ độ, thời gian...) để hiển thị ra LCD.
    Hiện tại em ko biết lập trình cho VĐK thế nào.
    Bác nào đã từng biết hoặc từng làm qua xin chỉ giáo!
    Hì, nếu có mạch rùi thì share em xin. Có hậu tạ tử tế!
    quangthanhnt86@yahoo.com (0987323470)

  • #2
    Tớ chưa làm với con 8515, nhưng đã thực hiện với avr atmel16. Sơ đồ kết nối thì tùy vào cấu tạo của module GPS bạn sử dụng, nhưng cơ bản là nối chân Rx, Tx của module với chân Rx, Tx của AVR theo chuẩn kết nối nối tiếp UART. Lập trình thì bạn lập trình để AVR nhận lần lượt từng ký tự của bản tin NMEA, đọc và hiển thị. Cái này dùng UART ( bạn xem chi tiết trong mục help của các phần mềm lập trình ).

    Comment


    • #3
      Các bác cho em hỏi có thể mua module GPS ở đâu?
      Giá cả thế nào nhỉ!
      ----------------------
      Bể học là mênh mông!

      Comment


      • #4
        Nguyên văn bởi kaka24 Xem bài viết
        Tớ chưa làm với con 8515, nhưng đã thực hiện với avr atmel16. Sơ đồ kết nối thì tùy vào cấu tạo của module GPS bạn sử dụng, nhưng cơ bản là nối chân Rx, Tx của module với chân Rx, Tx của AVR theo chuẩn kết nối nối tiếp UART. Lập trình thì bạn lập trình để AVR nhận lần lượt từng ký tự của bản tin NMEA, đọc và hiển thị. Cái này dùng UART ( bạn xem chi tiết trong mục help của các phần mềm lập trình ).
        Thanks bạn. Mình có thể xin đt hoặc mail để hỏi một số vấn đề được chứ? mail mình là tranvanhoan206@yahoo.com.
        Nếu cậu có tài liệu nói rõ về vấn đề này có thể gửi cho mình được không( TA hoặc TV). thanks nhiều nhiều. Sắp đến hạn nộp bài tập lớn rồi. Nguy quá

        Comment


        • #5
          Nguyên văn bởi kaka24 Xem bài viết
          Tớ chưa làm với con 8515, nhưng đã thực hiện với avr atmel16. Sơ đồ kết nối thì tùy vào cấu tạo của module GPS bạn sử dụng, nhưng cơ bản là nối chân Rx, Tx của module với chân Rx, Tx của AVR theo chuẩn kết nối nối tiếp UART. Lập trình thì bạn lập trình để AVR nhận lần lượt từng ký tự của bản tin NMEA, đọc và hiển thị. Cái này dùng UART ( bạn xem chi tiết trong mục help của các phần mềm lập trình ).
          Hi bạn. Minh vừa mới mua được con GPS SKG25B, đang làm về đồ án với Atmega16. Không biết có giống module của bạn không. Nếu giống bạn có thể chỉ cho mình cách ghép nối cụ thể hai con này như thế nào không? Bạn có thể cho mình biết mail để mình hỏi cụ thể được không. Còn 1 tuần nữa phải nộp đồ án rồi. Hiện vẫn bế tắc ở chỗ này. mail của mình là tranvanhoan206@yahoo.com.
          Nếu bạn có mạch có thể share cho mình. Mình sẽ hậu tạ

          Comment


          • #6
            Kết nối với các hầu hết các bộ GPS là rất đơn giản ko cần thêm linh kiện gì. Chỉ cần 3 dây Tx,Rx, GND (thậm chí chỉ cần dây Tx của bộ GPS và dây GND) - Nối trực tiếp Tx của bộ GPS vào Rx của AVR, rồi dây GND nữa. Xong config UART rồi đọc dữ liệu thôi. Theo tớ nhớ thì bộ SKG25B của bạn có thông số kết nối là 4800 baud, 8bit data, 1stopbit, 0

            Comment


            • #7
              Tớ đang làm đồ án về GPS!
              Kết nối Module GPS với Pic hoặc PC, đang trong giai đoạn test xem độ ổn định thế nào. Sắp báo cáo mất rùi, khi nào bcao xong mình sẽ up toàn bộ để ai cần thì tham khảo. tuy ko tốt nhưng cũng khá cần cho người mới bắt đầu!
              OK!

              Comment


              • #8
                Chào các sư huynh đệ, Mình cũng đang muốn tìm hiểu về GPS với AVR. Các huynh có tài liệu nào dễ hiểu các thiết lập phần cứng lẫn phần mềm thì share cho mình với, càng dễ hiểu càng tốt vì mình cũng là gà mờ thôi
                Thanhks
                mail của mình là nhaduy@gmail.com
                Tự động hóa hôm nay cho một thế hệ robot mai sau

                Comment


                • #9
                  Module GPS thương đưa về theo 2 chuẩn, chuẩn rs232 và usb, nếu các bạn giao tiếp với vi điều khiển và muốn lập trình dễ dàng thì chọn loại rs232. module GPS sẽ đưa về bản tin NMEA, dựa vào bảo tin đó chúng ta có thể dễ dàng đọc được thông số kinh độ, vĩ độ, rtc .v.v... Các bạn nên kết nối với PC cho hiển thị lên terminal để test module trước, sau đó lập trình cho vi điều khiển sẽ dễ dàng hơn. Goodluck!

                  Comment


                  • #10
                    Module GPS này có bán chỗ nào bạn nhỉ? Giá là bao nhiêu? Thank you!
                    n
                    ĐT: 0986 492 489

                    Tham khảo:

                    Comment


                    • #11
                      Em đang cần kết nối PIC với GPS EM-408 anh có thể share sơ đồ mạch cho em với được không? Thanks anh nhiều! mail của em là: htlongbkdn@gmail.com

                      Comment


                      • #12
                        tại hạ cũng đang máu GPS lắm.mong các huynh đệ chỉ hộ chỗ bán modum này với
                        xin đa tạ

                        Comment


                        • #13
                          chào bạn, mình mới làm quen với avr và GPS, mình có làm đề tài thiết kế GPS swr dụng atmega16 , khi lập trình cho vdk mình có đoạn code sau nhung mình ko hiểu chỗ nhận lần lượt từng ký tự của bản tin NMEA, đọc và hiển thị. đây là đoạn code của mình, bạn nào hiểu có thể giải thích giúp mình đựoc không. tks all

                          #include <mega16.h>

                          // Alphanumeric LCD Module functions
                          #asm
                          .equ __lcd_port=0x18 ;PORTB
                          #endasm
                          #include <lcd.h>


                          #include <stdio.h>
                          #include <delay.h>

                          #include <stdlib.h>
                          // Declare your global variables here
                          unsigned char message[70];
                          //char message_check[6]="";//char data_test[16]="";
                          //char gps_date[6]="",gps_time[6]="";
                          //char latitude[10]="",longitude[10]="";
                          int i=0;

                          void put_hour(char c1,char c2)
                          {
                          char num1,num2;
                          int hour;
                          num1=c1-48;
                          num2=c2-48;
                          hour=num1*10+num2+7;
                          //ghi 1 ki tu len lcd
                          lcd_putchar(hour/10+48);
                          lcd_putchar((hour-(hour/10)*10)+48);
                          }

                          //lay du lieu tu ban tin RMC
                          void check_message_rmc()
                          {
                          char j=0;
                          while(getchar()!='R'){};
                          for(j=0;j<70;j++){
                          message[j]=getchar();
                          }

                          }

                          void main(void)
                          {

                          UCSRA=0x00;
                          UCSRB=0x18;
                          UCSRC=0x86;
                          UBRRH=0x00;
                          UBRRL=0x4D;

                          ACSR=0x80;
                          SFIOR=0x00;

                          // Alphanumeric LCD initialization
                          // Characters/line: 16
                          lcd_init(16);

                          while (1)
                          {
                          //Place your code here
                          check_message_rmc();
                          lcd_clear(); //xoa LCD
                          put_hour(message[3],message[4]);
                          for(i=5;i<9;i++){
                          if((i==5)|(i==7)) lcd_putsf(":");
                          lcd_putchar(message[i]);
                          }
                          delay_ms(3000);
                          if((message[14]==',')&&(message[15]==',')){
                          lcd_clear();
                          lcd_gotoxy(0,0);
                          lcd_putsf("LAT :NO SIGNAL!");
                          lcd_gotoxy(0,1);
                          lcd_putsf("LONG:NO SIGNAL!");
                          }
                          else{
                          lcd_gotoxy(0,0);
                          lcd_putsf("LAT :");
                          for(i=15;i<25;i++)
                          {
                          lcd_putchar(message[i]);
                          }
                          lcd_gotoxy(0,1);
                          lcd_putsf("LONG:");
                          for(i=28;i<39;i++)
                          {
                          lcd_putchar(message[i]);
                          }
                          }
                          delay_ms(5000);
                          lcd_clear();
                          }
                          }

                          Comment

                          Về tác giả

                          Collapse

                          quangthanhnt Tìm hiểu thêm về quangthanhnt

                          Bài viết mới nhất

                          Collapse

                          Đang tải...
                          X