การใช้งาน 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
introduction
|
Readme
#โปรแกรม c/c++ robot simulator จัดทำขึ้นเพื่อมุ่งหวังให้นักเรียนของผมเองได้เรียนรู้ การเขียนโปรแกรมภาษาซีเพื่อควบคุมหุ่นยนต์ ซึ่งสามารถพัฒนาทักษะด้านการเขียนโปรแกรมภาษาซีได้เป็นอย่างดี (เท่าที่ได้ทดลองใช้)
#นักเรียนได้มีส่วนช่วยในการออกแบบ,แนวคิดการทำงาน,ช่วยในการทดสอบโปรแกรม #RoboMind + Scratch + Logo = c/c++ robot simulator #การออกแบบเน้นโครงสร้างภาษาซีแบบ Arduino ซึ่งนิยมใช้กับไมโครคอนโทรลเลอร์ที่ใช้กับหุ่นยนต์ #Library&Function ต่าง ๆ อ้างอิงจากหุ่นยนต์ของบริษัท iNex (ไม่ได้มีส่วนได้ส่วนเสียกับเขานะครับ เพียงแต่มีหุ่นของเขาเลยต้องออกแบบให้เหมือนกัน เพื่อง่ายต่อการเขียนกับหุ่นยนต์จริงๆ ) ซึ่ง Source Code ที่เขียนจากโปรแกรมนี้ สามารถนำไปประยุกต์ใช้กับหุ่นยนต์ของ iNex (pop-bot,pop-xt) ได้ #โปรแกรมนี้เป็นเวอร์ชันแรก อาจจะมีข้อผิดพลาดหรือบกพร่องบางประการ ต้องขออภัยด้วยครับ ถ้าพอเจอข้อผิดพลาดสามารถแนะนำ เพิ่มเติม รายงานข้อผิดพลาดที่เกิดขึ้นดังกล่าวจากการทำงานของโปรแกรมจะขอขอบคุณเป็นอย่างสูง และจะนำเอาข้อบกพร่อง ข้อผิดพลาดต่าง ๆ ไปปรับปรุงแก้ไขพัฒนาให้สมบูรณ์ยิ่งขึ้นไปครับ #ส่วนบทเรียนจะทยอยอัพข้อมูลเพิ่มเติม ต่อไปครับ #สำหรับบทเรียนและตัวอย่าง การใช้งาน ยังไม่ได้จัดหมวด สามารถหาข้อมูลเพิ่มเติมจาก เมนูรายการบทความด้านซ้ายมือนะครับ #เหตุผลที่ออกเวอร์ชั่น DEMO เพราะต้องการทราบผลการทำงานของโปรแกรมในสภาพแวดล้อมอื่น ๆ (ทรัพยากรใน รร.มีจำกัด) และเก็บรวบรวมข้อมูลจากปัญหา Error ต่าง ๆ , ความต้องการของผู้ใช้งาน ฯลฯ เมื่อได้ข้อมูลจนเป็นที่หน้าพอใจแล้ว จึงจะปล่อยฉบับเต็ม Full version ต่อไปครับ #สำหรับข้อคอมเมนท์หรือการสอบถามต่าง ๆ อาจจะตอบช้าบ้างนะครับ เพราะอาชีพครูของผม สอนทั้งวัน ดูแลนักเรียนแต่เช้ายันเย็น งานนอกเหนือจากการสอน,คำสั่งนั่นนี่ อีกมากมาย อาจจะใช้เวลานานซักหน่อยต้องขออภัยด้วยนะครับ
บันทึกเพิ่มเติม -เป็นโปรแกรมที่จำลองการเขียนโปรแกรมควบคุมหุ่นยนต์ -เป็นโปรแกรมช่วยฝึกการเขียนโปรแกรมแบบง่าย - ยาก -เหมาะสำหรับเด็กที่เริ่มต้นฝึกเขียนโปรแกรม ในระดับชั้นประถมศึกษา,มัธยมศึกษาตอนต้น-ปลาย -โปรแกรมมีลักษณะคล้ายเกมที่ให้ผู้เรียนได้ลองเขียนคำสั่งควบคุมหุ่นยนต์ โดยใช้ภาษาซีในการสั่งงาน -สามารถสร้างสถานการณ์ต่างๆได้โดยการสร้างแผนที่และวางสิ่งกีดขวาง ต่างๆให้ผู้เรียนได้แก้ปัญหาต่างๆ โดยใช้ภาษาคอมพิวเตอร์ (ภาษาซี) ในการแก้ปัญหา -สามารถเขียนโค๊ดภาษาซีมาตรฐาน GCC และมาตรฐาน Arduino ได้ -เรียนรู้ภาษาซีได้อย่างสนุกและเข้าใจง่าย -ไม่จำเป็นต้องมีหุ่นยนต์จริง ๆ ก็สามารถเรียนรู้เรื่องหุ่นยนต์ได้ - |
||||||||
news
|
วันจันทร์ที่ 16 กันยายน พ.ศ. 2556
วันอังคารที่ 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
รูปตัวอย่างโครงสร้างภาษาเปรียบเทียบ มาตรฐานภาษา 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
สมัครสมาชิก:
บทความ (Atom)