ทดสอบ Arduino GPS บนถนนจริง

Posted by | March 13, 2009 | MyProject | 4 Comments

หลังจากหายไปนาน ทิ้งโปรเจคเอาไว้มากมายไม่ได้เอามาขึ้นเวป หรือที่ขึ้นไว้ก้อยังไม่เสร็จสมบูรณ์สักอัน?ผมรู้สึกว่าได้ทดลองโปรเจค กับไอเดียเยอะขึ้นนะครับ แต่ไม่รู้สึกว่างานที่ดองไว้ มันจะลดลงเลยกลับเป็นว่าเพิ่มขึ้นไปอีก(จะได้อะไรเป็นชิ้นเป็นอันไหมนิ)

หลังจากบ่นไปแล้ว ตามประสาทคนยังหนุ่มยังแน่น ดูกันต่อ จากรอบที่แล้ว ดึงข้อมูลจาก GPS แล้วตอนนี้เป็นขั้นตอนทดสอบกันบ้างครับ?ผมก้อได้ปรับปรุง Arduino GPS จากรอบที่แล้ว ให้มีขนาดเล็กลง เปลี่ยนแบต กับ จัดการเส้นไฟ ให้ดูรก น้อยลงครับ?มันอาจจะหล่อสู้ เครื่องติดรถไม่ได้นะ แต่สาวเห็นกริ๊ดแน่นอนครับ 😀 (กริ๊ด อะไร เห็นก้อคงรู้นะ)

หน้าตาดูเหมือนจะเปลี่ยนไปทางที่ดูดีขึ้น (จริงป่าวนิ) ส่วนของโปรแกรมเลยต้องปรับปรุงนิดหน่อย โดยรอบนี้ผมเพิ่มวันที่กับเวลาเข้าไปอีก ตอนนี้ เราก้อได้ นาฬิกาอะตอม จอสี เวลาเที่ยงตรงสูง ?สามารถจูนเวลาเองได้จากดาวเทียม ว่ากันไปนั้นเลย เรียกได้ว่า จะทำอะไรก้อว่าดีไปสักหมด เข้าขั้นหลงตัวเองมากๆ

วันที่ กับ เวลาที่เพิ่มเข้าไป จริง ผมอยากรู้ว่ามันตรงกับเวลาไทย แค่ไหน เผื่อโปรเจคหน้าจะทำนาฬิกา ให้มันจูนเอง จาก GPS สักเลย ซึ่งจากหน้าจอ LCD เห็นจะเป็นเวลาไทย บวกไปอีก 7 ชั่วโมงครับ

สำหรับ source code ก้อเข้าไป โหลดที่นี้เลยครับ tinygps-src

ตอนนี้ทุกคนได้เห็นแล้วว่า GPS ตัวนี้ นอกจากจะบอกตำแหน่งได้แล้ว ยังบอกเวลาได้อีกด้วย แล้วฟังก์ชั่นบอกตำแหน่งมันทำงานได้จริงหรือป่าวนิ เดี่ยวจะเหมือนมือถือจากจีน ดูทีวี ก้อได้ ฟังเพลงก้อได้ แต่โทร ไม่ค่อยได้ยิน กรรมจริงๆ

ความจริง gps อันนี้จะทำงานดี ไม่ดี ไม่เกียวกับโปรแกรมที่ผมทำแล้ว มันอยู่ที่ โมดูล GPS ผมเลยทดลองเอาข้อมูลดิบๆ ตอนนี้ใช้วิธีโบราณนิดหน่อย จดลงสมุดเอง ยังไม่ได้ให้มันทดลอง เก็บค่าบน sd-card แบบว่า ถ้าค่ามันห่วยมากๆจะได้ เลิกไปเลยโปรเจคนี้ ยิ่งดองไว้หลายงานอยู่

การเดินทางครั้งนี้ ผมเริ่มต้นจด บริเวณสนามหลวงนะครับ นั่งรถเมล์สาย ปอ 60 กลับบ้าน จดไปเรื่อยถึง พันธ์ทิพย์ เลิกจด กลัวสาวๆ กับ คนผ่านไ ป ผ่านมา ซ๊อคกับ GPS รุ่นนี้ ทั้งสายไฟเอย มีจด มีวางแผนอีก มันช่างดูน่ากลัวจริงๆ

ข้อมูลเลยจดมาแค่นี้ คลิกที่นี้ เรียกดูเส้นทางจาก google map

จุดที่เห็นบนแผนที่ จะเป็นเส้นทางที่รถเมล์วิ่งผ่านครับ สังเกตว่ามันวิ่งข้ามเลนด้วย เป็นข้อมูลผิคพลาดจาก GPS ครับ ซึ่งก้อน่าจะยอมรับได้
View Larger Map

เอาล่ะครับ ไหนก้อนานจะมา สักที่ เสริมสร้างความรู้นิดๆ หน่อยๆจะเล่น GPS กันทั้งที่ มาเข้าใจกันต่อว่า ใช้งานกันได้อย่างไง สำหรับอุปกรณ์พวก GPS Module จะส่งข้อมูลผ่าน พอร์ท อนุกรม (Serial port) มันจะส่งมาเป็นข้อความๆๆ ดังรูปแบบข้างล่าง ซึ่งเราต้องไปเขียนโปรแกรม ตีความ เองว่า แต่ล่ะ คอมม่า มันคืออะไรบ้าง

โดยรูปแบบค่าที่ส่งมา เริ่มต้น $GP……

$GPGSA,A,1,22,18,09,,,,,,,,,,,,*1E

$GPGSV,3,1,12,18,45,016,23,09,44,043,30,22,27,330,28,21,77,179,21*7B
$GPGSV,3,2,12,24,38,149,25,14,36,83,17,06,21,215,25,30,20,154,21*74

$GPGGA,114008.804,1339.7094,N,10028.2090,E,0,03,,27.4,M,-27.4,M,,0000*6F

จะเห็นคำสั่งหลักมีสามอันได้แก่

$GPGSA – GPS DOP and Active Satellites

$GPGSV – GPS Satellites in View ค่าส่วนนี้จะบอก ระดับความแรงของสัญญาณ ดาวเทียม กับตำแหน่งดาวเทียมที่เจอตอนนี้

$GPGGA – Global Positioning System Fix Data หรือ?ค่าตำแหน่งพิกัดที่อ่านได้ ซึ่งในส่วนนี้จะระบุ ตำแหน่ง lat กับ long ?และ เวลา UTC

บรรทัดที่น่าจะเข้าง่ายสุดน่าจะเป็น $GPGGA มันเป็นข้อมูลที่เข้าจะเอาไปใช้งานได้เลย อีกสองอัน ข้อมูลเกี่ยวกับสัญญาณของดาวเทียมที่ GPS ใช้งานอยู่ น่าจะใช้ตรวจสอบสัญญาณที่ได้มาน่าเชื่อถือแค่ไหนครับ

เอาล่ะครับ สำหรับตอนนี้คงจบแค่นี้ก่อน เดี่ยวจะรีบทำให้มี บันทึกข้อมูลได้ จะได้ เอาไปติดตัวกันได้สักที่

ลิงค์ข้อมูลอ้างอิง สำหรับ NMBA
http://home.mira.net/~gnb/gps/nmea.html

About chang

ชื่อ “ช้าง” ส่วนมากเขาจะเรียกว่า “พี่ช้าง” แล้ว มีความสนใจทางเทคโนโลยีทางคอมพิวเตอร์ อิเล็กทรอนิกส์ และ หุ่นยนต์ เป็นทั้งนักคิด นักประดิษฐ์ ชอบทดลองเล่น จนเดี่ยวนี้รู้สึกว่าจะเล่นมากกว่ามืออาชีพไปสักแล้ว

  • Punya

    เก่งจังครับ ผมว่าเป็นงานอดิเรกที่น่าสนใจในระดับนึงเลย

  • Chanuknan

    เก่งครับ ^^

    ถ้าไม่ดูหัวข้อคงนึกว่าทำ C4 ซะอีก : )

    ผมสนใจเอาไปทำโปรเจ็คไม่รุ้ว่าจะเริ่มยังไงครับ
    ช่วยแนะนำทีครับ รบกวนหน่วยนะครับ ^^”

    • ขอบคุณครับ ที่เข้ามาติชม

      ถ้าจะเริ่ม คงเริ่มจากรวบรวมข้อมูลก่อนนะครับ เกี่ยวกับการ interface gps อ่านจากใน blog คงพอทราบว่า ผมทำอย่างไงนะครับ

      ตอนนี้ GPS ไม่น่าจะมีอะไรยากแล้ว ที่น่าจะยาก มีคนมาเยอะแล้ว ตัวอย่างเยอะด้วยครับ ตอนนี้น่าจะอยู่จะเอาไปทำอะไรมากกว่านะครับ

  • ข่า

    น่าสนใจครับ
    ขอบคุณสำหรับข้อมูลครับ