โปรแกรมแรก ภาษาปาสคาล กับ 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 แสดงผล “ติด”
พิมพ์ 0 หรือเลขอื่นๆ แล้วกด Enter
ผลลัพธ์ : หลอดไฟ LED ที่เชื่อมต่อกับขา 13 แสดงผล “ดับ” แสดงว่า โปรแกรมแรก ภาษาปาสคาล กับ Arduino สําเร็จแล้ว