โปรแกรมแรก ภาษาปาสคาล กับ Arduino

ตัวอย่างง่ายๆซึ่งจะใช้ช่องทางติดต่อการสื่อสารผ่านพอร์ทอนุกรม (Serial Port) จากคอมพิวเตอร์ไปที่ Arduino UNO R3 เพื่อทำการควบคุมการทำงาน เปิด/ปิด หลอดไฟ LED ที่เชื่อมต่อกับขา 13 ซึ่งมาพร้อมกับบอร์ดอยู่แล้ว โดยใช้ แอปพลิเคชั่นลาซารัส (Lazarus IDE) เขียนโปรแกรมด้วยภาษาปาสคาล (Pascal) และสามารถนำไปใช้งานกับคอมพิวเตอร์ เครื่องอื่นๆได้

หลักการทำงานของการติดต่อนี้ จะเป็นการติดต่อด้วย สตริง (String) หรือ Character sequence เป็นประเภทข้อมูลแบบข้อความที่ประกอบไปด้วยหลายตัวอักษร เป็นการส่งข้อมูลเป็นแบบข้อความ โดยสื่อสารผ่านพอร์ทอนุกรม (Serial Port) ระหว่าง Application กับ Arduino UNO R3


1 : โปรแกรมแรก กับ Arduino UNO R3


โดยศึกษา ขั้นตอนการทำงาน จากลิงค์บทความ ด้านล่าง


2 : อัพโหลดโค้ดให้บอร์ด Arduino


การทำงานของโค้ดนี้คือ รอรับคำสั่งจาก Application ภาษาปาสคาล (Pascal) โดย ถ้ารับค่า เป็น A ให้ LED ติด และ ถ้ารับค่ามาเป็นอื่นๆ ให้ LED ดับ

เปิดโปรแกรม Arduino IDE เขียนโปรแกรม หรือ Sketch และอัพโหลดโค้ด ด้วยโค้ดด้านล่างนี้

 char data;

 void setup()
 {
   pinMode(13, OUTPUT);
   Serial.begin(9600);
 }
 void loop()
 {
   if (Serial.available())
   {
     data = Serial.read();
     if (data == 'A')
     {      
       digitalWrite(13, HIGH);
     }
     else digitalWrite(13, LOW);
   }
 }



เปิดหน้าต่าง Serial Monitor  โดยไปที่ Tools -> Serial Monitor



ที่มุมขวาล่าง ของ Serial Monitor เลือกเป็น 9600 baud  คือ ตั้งค่าความเร็วในการรับ-ส่งข้อมูล  คือ 9600 ตามที่เราเขียนโค้ดไว้ และ ด้านซ้ายหน้า 9600 baud  ให้เลือกเป็น No line ending


พิมพ์ A แล้วคลิก Send



ผลลัพธ์ : หลอดไฟ LED ที่เชื่อมต่อกับขา 13 แสดงผล “ติด” แสดงว่า โปรแกรมเปิดปิดไฟ LED ของ Arduino สําเร็จแล้ว



3 : ติดตั้ง Lazarus IDE


โดย Download ตัวติดตั้ง Lazarus IDE ได้จาก https://www.lazarus-ide.org/

คลิกที่ Download Now


การติดตั้งเหมือนกับโปรแกรมทั่วๆไป


4 : โปรแกรมแรก กับ ภาษาปาสคาล


ไปที่ File -> New …


เลือก Program -> OK



เขียนโค้ด ระหว่าง begin กับ end

เขียนโค้ดดังนี้

writeln ('Hello, world.');
readln;



คลิกที่ Run หรือกด F9 เพื่อทดสอบการทำงานของโปรแกรม


โปรแกรมแสดงข้อความ Hello, world. แสดงว่า โปรแกรมแรกของคุณ กับ ภาษาปาสคาล สําเร็จแล้ว



5 : เปิดปิดไฟ LED ของ Arduino ภาษาปาสคาล


ที่ Source Editor ลบโค้ดเดิม ออกทั้งหมด


เขียนโค้ดภาษาปาสคาล (Pascal) ดังนี้

program arduino;
 var f:file of char;
     a:integer;
 begin
      assign(f,'COM3') ;
      reset(f);
      while(true) do
      begin
           read(a);
           if (a = 1) then write(f,'A') else write (f,'s');
      end;
  readln;
 end.   



**** โค้ด assign(f,’COM3′) ; ****


ให้ตรวจสอบที่ Ports (COM & LPT) จะพบ Arduino Uno ในตัวอย่างเป็น (COM3)  ถ้าคอมของผู้ใช้เป็น COM อะไรให้แก้ไขให้ถูกต้อง


คลิกที่ Run หรือกด F9 เพื่อทดสอบการทำงานของโปรแกรม


พิมพ์ 1 แล้วกด Enter


ผลลัพธ์ : หลอดไฟ LED ที่เชื่อมต่อกับขา 13 แสดงผล “ติด”

This image has an empty alt attribute; its file name is 34.jpg


พิมพ์ 0 หรือเลขอื่นๆ แล้วกด Enter


ผลลัพธ์ : หลอดไฟ LED ที่เชื่อมต่อกับขา 13 แสดงผล “ดับ” แสดงว่า โปรแกรมแรก ภาษาปาสคาล กับ Arduino สําเร็จแล้ว

This image has an empty alt attribute; its file name is 34.jpg