วันจันทร์ที่ 16 กันยายน พ.ศ. 2556

การใช้งาน LCD 2 บรรทัด

การใช้งาน LCD 2 บรรทัด
              การแสดงผลข้อมูลออกทางหน้าจอ lcd แบบ 2 บรรทัด เช่นการแสดงข้อความ ตัวเลข จะใช้ชุดคำสั่ง/ฟังก์ชัน lcd();
รูปแบบประโยคคำสั่ง คือ
              void lcd(string str , arg[] list);

                 - str คือตัวแปรประเภทข้อความ อยู่ในเครื่องหมาย " " ( double quote) หรือเครื่องหมายคำพูด รวมถึงสัญลักษณ์ต่างๆ เช่น %d สำหรับการแทรกการแสดงผลข้อมูลประเภทตัวเลขจำนวนเต็ม เป็นต้น
                - arg[] list คือ ตัวแปรประเภทต่าง ๆ (จะกล่าวต่อไป)

1.รูปแบบการแสดงผลข้อมูลประเภทข้อความ จะใช้รูปแบบประโยคคำสั่ง
              lcd("xxx");

                - xxx คือข้อความที่ต้องการจะแสดงออกทางหน้าจอ lcd

ตัวอย่างเช่น




2.รูปแบบการแสดงผลข้อมูลประเภทข้อความและตัวแปรต่าง ๆ จะใช้รูปแบบประโยคคำสั่ง

              lcd("xxx %d" , a );

                - xxx คือข้อความที่ต้องการจะแสดงออกทางหน้าจอ lcd
               - %d คือ สัญลักษณ์สำหรับแทรกการแสดงผลค่าของตัวแปรชินดตัวเลขเต็ม
a คือ ตัวแปรใด ๆ ชนิดจำนวนเต็ม

สัญลักษณ์ที่ใช้ในโปรแกรม c robot sim มีดังนี้
  %d หรือ %D  แสดงค่าตัวเลขจำนวนเต็ม

  %f หรือ %F  แสดงค่าตัวเลขทีมีจุดทศนิยม

  %.2f หรือ %.2F  แสดงค่าตัวเลขทีมีจุดทศนิยม 2 ตำแหน่ง
  %.5f หรือ %.5F  แสดงค่าตัวเลขทีมีจุดทศนิยม 5 ตำแหน่ง
ยกตัวอย่างเช่น



อีกตัวอย่างเป็นการแสดงผลข้อมูลการอ่านค่าจาก Sensor แบบ Analog Port0 - 1




วันอังคารที่ 10 กันยายน พ.ศ. 2556

โครงสร้างภาษาซีสำหรับ c robot simulator

     เนื่องจากโปรแกรม c robot sim เวอร์ชั่นล่าสุด ได้ทำการปรับปรุงโครงสร้างภาษาให้เหมือนและเข้ากันได้กับภาษาซี Arduino จึงไม่สามารถใช้โครงสร้างภาษาซีแบบเดิมได้ครับ แต่ไม่สามารถใช้การ #include <...> ได้ เพราะเป็นเพียงการจำลองสภาพแวดล้อมให้ใกล้เคียงกับหุ่นยนต์จริง ๆ โดยอ้างอิง Code และ Library ต่าง ๆ จาก หุ่นยนต์รุ่น POPbot-XT ของค่าย Inex ต่างกันในส่วนของการแสดงผลหน้าจอเป็นแบบ LCD 2 บรรทัดเท่านั้น

รูปตัวอย่างโครงสร้างภาษาเปรียบเทียบ มาตรฐานภาษา C และ C for Arduino


ยกตัวอย่างถ้าเขียนแบบมาตรฐานซี ฝั่งซ้ายมือ จะมีความหมายเดียวกัน คือ ฟังก์ชัน setup();  จะทำงานเพียงครั้งเดียวเท่านั้น เมื่อจบคำสั่งจะทำงานในฟังก์ชัน loop(); ต่อไป ซึงฟังก์ชัน loop(); จะทำงานซ้ำไปเรื่อย ๆ ไม่สิ้นสุด

   ดังนั้นในตัวอย่างบางตัวอย่างซึ่งเป็นเวอร์ชั่นเก่า จะเห็นว่ามีฟังก์ชั่น main(); อยู่  เช่นตัวอย่างนี้ ดังรูปด้านล่างแล้วทำการปรับปรุงโค๊ดให้อยู่ในลักษณะทางด้านขวามือ
   คำสั่ง lcd(" string or text " + value );  ตอนนี้สามารถใช้สัญลักษณ์และแสดงผลตัวแปร เช่น
   int a ;
   a = 50;
   lcd(" A = %d  " , a );
ดูข้อมูลเพิ่มเติมคำสั่งต่าง ๆ ที่ได้เตรียมไว้ที่ http://krumonrobot.blogspot.com/2013/01/library-function.html