PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > PIC - Thiết kế và Ứng dụng

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

PIC - Thiết kế và Ứng dụng Ý tưởng cho các sản phẩm sử dụng PIC/dsPIC và các sản phẩm của Microchip

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 21-03-2012, 11:19 AM   #16
lambaotrung
Đệ tử 5 túi
 
Tham gia ngày: Jan 2010
Bài gửi: 96
:
ah. sorry cac bac.
lambaotrung vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-03-2012, 09:33 AM   #17
lambaotrung
Đệ tử 5 túi
 
Tham gia ngày: Jan 2010
Bài gửi: 96
:
Trích:
Nguyên văn bởi tienchuan View Post
@ Trung : vì làm code minh họa ví dụ nên chắc a longtu ghi nhầm đó, bạn cộng thêm 1 để lấy các giá trị đó, tức vĩ độ sau dấu phẩy thứ 3, kinh độ sau dấu phẩy thứ 5,... còn chữ A sau chuỗi thời gian báo hiệu cho biết thời gian thu được có hợp lệ hay chưa (A: có,V:ko),còn các chữ cái N - Bắc; W - Tây; E - Đông; S - Nam để chỉ hướng.
Bạn coi thêm định dạng chuỗi GPRMC trong chuẩn NMEA quy định để biết thông tin của chuỗi.
Còn về vấn đề tọa độ của Module gởi về , ở đây mih nói module sim 548C vì đang dùng, nếu dùng module khác, bạn coi datasheet module gởi về chuẩn gì, tra chuẩn, để biết thông tin của chuỗi.
Ở đây mih lấy cái chuỗi ở trên làm lun, chuỗi GPRMC.
$GPRMC,220516,A,5133.82,N,00042.24,W,173.8,231.8,1 30694,004.2,W*70
Trong đó:
+ kinh độ(ddmm.mmmm) : 5133.82=51 độ+33.82 phút=51,5637độ
+vĩ độ(dddmm.mmmm):00042.24=0 độ+ 42.24 phút=0,704độ
Sau lên gg sợt cái là qua tới bên London lun, chắc nhà a longtu ở gần đó
p/s:mọi người coi giúp e đổi đúng chưa mà sao đi xa quá

bác ơi bác giải thích rõ hơn về tính toán tọa độ dc ko bác.. em ko hiểu máy về tọa độ đó
lambaotrung vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-03-2012, 10:13 AM   #18
longtu
Đệ tử 6 túi
 
longtu's Avatar
 
Tham gia ngày: Jul 2007
Bài gửi: 146
:
Send a message via Yahoo to longtu
Trích:
Nguyên văn bởi lambaotrung View Post
bác ơi bác giải thích rõ hơn về tính toán tọa độ dc ko bác.. em ko hiểu máy về tọa độ đó
- Step 1: Từ chuỗi data $GPRMC...bạn sẽ có được dữ liệu về kinh độ và vĩ độ.
Ví dụ:
$GPRMC,220516,A,5133.82,N,00042.24,W,173.8,231.8,1 30694,004.2,W*70
Trong đó:
+ Kinh độ(ddmm.mmmm) : 5133.82=51 độ+33.82 phút=(51 + 33.82/60) phut= 51.563666
+ Vĩ độ(dddmm.mmmm):00042.24=0 độ+ 42.24 phút=(00 + 42.24/60) phút= 0.704
Chú ý: Dấu ngăn cách thập phân là dấu ".".
Step 2: Vào: http://www.google.com/maps
Step 3: Nhập Kinh độ và vĩ độ: (51.563666,0.704)
Hình Kèm Theo
File Type: png Google Map.png (160.0 KB, 44 lần tải)
__________________
--------------------------------------------------------------------------------------
Phùng Minh Tuân
Email: tuan.phmt@gmail.com
"Cuộc đời sóng gió nuôi ta lớn
Bao lần thất bại dạy ta khôn".
longtu vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-03-2012, 11:31 AM   #19
jamaicatrang
Nhập môn đệ tử
 
Tham gia ngày: Mar 2012
Bài gửi: 4
:
em đang làm về module thu tín hiệu gps hiển thị trên lcd.
em sử dụng avr atmega16, lcd16*2, module thu holux m_9129.
Anh longtu cho em hỏi: để hiển thị tín hiệu thu đc lên máy tính em có sử dụng thêm MAX232, em không biết cách kết nối giữa 4 linh kiện trên với nhau, em phải làm tn?
a giúp e vs nhé! thank
jamaicatrang vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-03-2012, 11:46 AM   #20
longtu
Đệ tử 6 túi
 
longtu's Avatar
 
Tham gia ngày: Jul 2007
Bài gửi: 146
:
Send a message via Yahoo to longtu
Trích:
Nguyên văn bởi jamaicatrang View Post
em đang làm về module thu tín hiệu gps hiển thị trên lcd.
em sử dụng avr atmega16, lcd16*2, module thu holux m_9129.
Anh longtu cho em hỏi: để hiển thị tín hiệu thu đc lên máy tính em có sử dụng thêm MAX232, em không biết cách kết nối giữa 4 linh kiện trên với nhau, em phải làm tn?
a giúp e vs nhé! thank
Tôi gợi ý bạn như sau, bạn sẽ tự mình tìm hiểu tiếp để hoàn thành sản phẩm của mình:
- Microcontroller AVR + GSP module: Giao tiếp với nhau qua các chân TX và RX. Tuy nhiên, ban chỉ cần xử dụng chân GPS_TX + MCU_RX để nhận dữ liệu từ GSP module. (Chân GPS_RX: dành cho việc upload firmware, thông thường việc này dành cho nhà sãn xuất...).
Chú ý: Microcontrller AVR có VCC là bao nhiêu Voltage? Và GPS_TX có mức điện áp ở mức 1 và o là bao nhiêu? Có đủ để MCU hiểu không?
- Microcontroller + LCD: Bạn sử dụng Text LCD cho việc hiểu thị nội dung data GPS. Hãy tìm hiểu cách sử dụng Text LCD và các kết nối với MCU, firmware điều khiển...

Bạn không cần sử dụng Max232 nếu như không cần giao tiếp giửa MCU và PC.

Thân,
__________________
--------------------------------------------------------------------------------------
Phùng Minh Tuân
Email: tuan.phmt@gmail.com
"Cuộc đời sóng gió nuôi ta lớn
Bao lần thất bại dạy ta khôn".
longtu vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-03-2012, 03:08 PM   #21
jamaicatrang
Nhập môn đệ tử
 
Tham gia ngày: Mar 2012
Bài gửi: 4
:
cảm ơn a!
anh ơi! để kết nối với max232 với MCU, thì làm tn ạ?
giúp em với!
jamaicatrang vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-03-2012, 04:23 PM   #22
longtu
Đệ tử 6 túi
 
longtu's Avatar
 
Tham gia ngày: Jul 2007
Bài gửi: 146
:
Send a message via Yahoo to longtu
Trích:
Nguyên văn bởi jamaicatrang View Post
cảm ơn a!
anh ơi! để kết nối với max232 với MCU, thì làm tn ạ?
giúp em với!
Bạn là sinh viên ngành gì vậy? Tôi đoán bạn không phải sinh viên ngành điện tử. Hơn nữa, trong luồng này, chúng ta đang tập trung nói về các sử dụng GPS module mà thôi. Các câu hỏi như bạn(về max232 và MCU) bạn nên tìm kiếm trên diễn dàn picvietnam, internet... hay mở 1 luồng khác với mục đích này nhé.

PS: Bạn tham khảo ở đây: http://www.mikroe.com/eng/chapters/v...xamples/#c4v13

Thân,
__________________
--------------------------------------------------------------------------------------
Phùng Minh Tuân
Email: tuan.phmt@gmail.com
"Cuộc đời sóng gió nuôi ta lớn
Bao lần thất bại dạy ta khôn".
longtu vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 26-03-2012, 04:44 PM   #23
jamaicatrang
Nhập môn đệ tử
 
Tham gia ngày: Mar 2012
Bài gửi: 4
:
uki!
sorry nhé! thank
jamaicatrang vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-03-2012, 09:06 AM   #24
jamaicatrang
Nhập môn đệ tử
 
Tham gia ngày: Mar 2012
Bài gửi: 4
:
anh longtu ơi! cho e hỏi là: em dung module holuxm_9129 thì có giống vz con Ub-93 ko ah?
do điện áp vào của MCU là 5v ko tương thích vs module GPS , em có phải mắc thêm tranzitor ko?
jamaicatrang vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-03-2012, 09:55 AM   #25
longtu
Đệ tử 6 túi
 
longtu's Avatar
 
Tham gia ngày: Jul 2007
Bài gửi: 146
:
Send a message via Yahoo to longtu
Trích:
Nguyên văn bởi jamaicatrang View Post
anh longtu ơi! cho e hỏi là: em dung module holuxm_9129 thì có giống vz con Ub-93 ko ah?
do điện áp vào của MCU là 5v ko tương thích vs module GPS , em có phải mắc thêm tranzitor ko?
Bạn cần phải đọc kỹ những bài viết ở luồng này từ đầu đến bài của bạn, đừng bỏ xót bạn nhé. Nó sẽ có ích cho bạn, với lại chỉ nên hỏi những gì mà chưa có bài viết trả lời thôi. Dừng lặp lại câu hỏi đã có trả lời bạn nhé.

PS: Xem lai:
#3: http://www.picvietnam.com/forum/show...73&postcount=3
#20: http://www.picvietnam.com/forum/show...9&postcount=20
__________________
--------------------------------------------------------------------------------------
Phùng Minh Tuân
Email: tuan.phmt@gmail.com
"Cuộc đời sóng gió nuôi ta lớn
Bao lần thất bại dạy ta khôn".
longtu vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-03-2012, 06:15 PM   #26
lambaotrung
Đệ tử 5 túi
 
Tham gia ngày: Jan 2010
Bài gửi: 96
:
bác longtu cho em hỏi cái này.

trong chuổi GPRMC của GPS gởi về.
$GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4 ,230394,003.1,W*6A

vậy làm sao mình biết chuổi đó kết thúc.

với lại trong hàm RDA có đoạn này em khổi hiểu
if(check<7)
{
if((GPSbuffer[check-1]) != (GPRMC[check-1]))
check= 0;
}
bác long tứ giải thích giúp em nhá.
lambaotrung vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-03-2012, 09:27 PM   #27
longtu
Đệ tử 6 túi
 
longtu's Avatar
 
Tham gia ngày: Jul 2007
Bài gửi: 146
:
Send a message via Yahoo to longtu
Trích:
Nguyên văn bởi lambaotrung View Post
trong chuổi GPRMC của GPS gởi về.
$GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4 ,230394,003.1,W*6A
vậy làm sao mình biết chuổi đó kết thúc.
Data nhận được từ vệ tinh luôn bắt đầu bởi ký tự "$". Bạn dựa vào đây để biết bắt đầu 1 chuỗi data mới hay là kết thúc chuỗi data trước.

Trích:
Nguyên văn bởi lambaotrung View Post
với lại trong hàm RDA có đoạn này em khổi hiểu
if(check<7)
{
if((GPSbuffer[check-1]) != (GPRMC[check-1]))
check= 0;
}
Đoạn code ngắt RDA này của tôi nhằm mục đích chỉ xét chuỗi $GPRMC(từ $ đến C có 6 ký tự). Vì vậy, ngay khi xét 1 chuỗi data mới, tôi cần lấy dủ 6 ký tự đầu tiên của chuỗi này rồi mới kiểm tra xem có phải là chuỗi $GPRMC hay không. Vì vậy mới có đoạn code if(check<7)...

Bạn thấy đó, chỉ cần tập trung suy nghỉ là bạn có thể tự trả lời câu hỏi của bạn được rồi. Cố gắng suy nghĩ thêm nhé.

Thân.
__________________
--------------------------------------------------------------------------------------
Phùng Minh Tuân
Email: tuan.phmt@gmail.com
"Cuộc đời sóng gió nuôi ta lớn
Bao lần thất bại dạy ta khôn".
longtu vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 28-03-2012, 12:46 AM   #28
lambaotrung
Đệ tử 5 túi
 
Tham gia ngày: Jan 2010
Bài gửi: 96
:
Đã giải quyết dc vấn đề bất đầu 1 chuổi và biết khi nó kết thúc một chuỗi là mình tra xét " $ " nếu có dấu $ thì bất đầu ghi các giá trị đó vào 1 mãng thứ 2 và kết thúc ghi khi gấp dấu $ tiếp theo và các giử liệu đó sẽ nạp chòng và Mãng thứ 2 . em đả làm dc sao 1 buổi chiều mày mò viết cách tính... cảm ơn bác longtu nhiều.

dc cải tiếng lại từ code của bác longtu

ở đây thì em tìm dấu ','. mình có thề tìm dấu gì tùy ý mình như: $ ,*,# ...
VOID saudau_1()
{
CHAR I;
char trunglap[7];
i=comma_position[0]; //
int a;
for (a=0;a<comma_position[0];a++) // nó sẽ tăng mãng trunglap[] lên đến khi gập
// dấu ',' kế tiếp và gáng vào 1 mãng có tên
//là mãng : và gang cac gia tri
//
trunglap[a]=mang[i++]; // nếu trong chuổi có 1 dấu ',' hay 1 "$" thì có
//thể thay như thế này " tringlap[a]=mang[a];
//
/// "mang[]" <=> GPSbuffer[] cua bác longtu vi em viết theo ý của em
}
lcd_putcmd(0x80);
printf(lcd_putchar,trunglap); // xuat chuoi ra man hinh LCD.
// chung ta ko the dung printf de ep keu mang ky tu vao lcd_putchar.
}

với cách này em đã tách 1 chuổi lớn thành nhiều chuổi nhỏ hơn.
vị du: $abcd $cdft $1234
các bác xem có cách nào đơn giản hơn chi giúp em.

thay đổi nội dung bởi: lambaotrung, 28-03-2012 lúc 12:54 AM.
lambaotrung vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 28-03-2012, 12:58 AM   #29
lambaotrung
Đệ tử 5 túi
 
Tham gia ngày: Jan 2010
Bài gửi: 96
:
sáng ra tìm lại lai thì thấy hàm này có vấn đề.

nếu 1 chuổi gởi đi chí có 1 ký tự mình muốn tìm như " $ " thi nó ko tìm dc chuổi đó.

thay đổi nội dung bởi: lambaotrung, 28-03-2012 lúc 04:22 PM.
lambaotrung vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 28-03-2012, 11:58 PM   #30
bui ngoc vu
Nhập môn đệ tử
 
Tham gia ngày: Apr 2011
Bài gửi: 1
:
Xin chào cả nhà!Mình đang làm đề tài về điều chế FSK dùng vi điều khiển PIC,phát đi ở tần số 8MHZ.Bác nào có kinh nghiệm thì chia sẻ cho mình một chút.Cám ơn rất nhiều!
bui ngoc vu vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 10:20 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam