เริ่มต้น สอน Arduino ในแลปนี้ เราจะได้เรียนรู้ภาษา C ซึ่งเป็นภาษาที่ใช้เขียนโปรแกรมให้กับ Arduino
ภาษา C เป็นภาษาเก่าแก่ และมีใช้มานานจนถึงปัจจุบัน เป็นต้นแบบของหลาย ๆ ภาษาที่พัฒนาขึ้นใหม่ เช่น C#, C++ , Java ดังนั้นถ้าเรามีความรู้ภาษา C เราก็สามารถเรียนรู้ภาษาอื่น ๆ ได้ด้วยความรวดเร็ว
Arduino ได้เลือกภาษา C มาเป็นภาษาหลักในการเขียนโปรแกรม โดยมี Arduino IDE เป็นเครื่องมือในการพัฒนาโปรแกรม ให้เราใช้เขียนและอัพโหลดโปรแกรมลง Arduino
เริ่มต้น เรียนภาษา C ด้วย Arduino ในแลปนี้เราจะพูดถึงเรื่องตัวแปร
คำถามประกอบ : เราจะใช้ รถยนต์ หรือ รถมอเตอร์ไซต์ ขนแตงโมให้เหมาะสมและคุ้มค่าที่สุด ถ้า
1 แตงโม จำนวน 1 ลูก : เราจะเลือกใช้รถมอเตอร์ไซต์
2. แตงโม จำนวน 50 ลูก : เราจะเลือกใช้รถยนต์
ตัวแปรก็เหมือนรถขนของ ที่มีขนาดแตกต่างกันเพื่อให้เหมาะสมและคุ้มค่าที่สุด ตัวแปรที่ใช้บ่อย ๆ เช่น
- int : เอาไว้เก็บตัวเลขจำนวนเต็มไม่มีทศนิยม ใช้พื้นที่ 2 byte เก็บเลขได้ค่า 32,767 ถึง -32,768
- double: เอาไว้เก็บเลขทศนิยม ใช้พื้นที่ 4 byte เก็บเลขได้ค่า 3.4028235E+38 ถึง -3.4028235E+38
นอกจากนี้ยังมีตัวแปรอีกหลายแบบ ตามตารางนี้
ทำไมเราถึงต้องใช้ตัวแปรให้เหมาะสม : ก็เพราะว่า ตัวแปรแต่ละตัว ใช้พื้นที่และหน่วยความจำไม่เท่ากัน ถ้าเราใช้ตัวแปร double ไปเก็บเลข 5000 เราจะต้องใช้พื้นที่ 4 byte ในการเก็บ แต่ถ้าเราใช้ตัวแปร int เก็บเลข 5000 จะใช้พื้นที่เพียง 2 byte นอกจากใช้พื้นที่น้อยแล้ว ยังสามารถเพิ่มความเร็วในการทำงานให้โปรแกรมเราได้ด้วย
การใช้งานตัวแปร
เราใช้ชื่อตัวแปรแทนการอ้างอิงถึงข้อมูลต่าง ๆ เพื่อให้จำง่าย แก้ไขได้ง่าย ดังนี้
int led = 13;
ประกาศตัวแปร ประเภท int ชื่อ led มีค่าเท่ากับ 13
เราสามารถทำการคำนวนกับตัวแปรได้ด้วย เช่น
int number1 = 20; // ประกาศตัวแปรประเภท int ชื่อ number1 มีค่า 20
double number2 = 30; // ประกาศตัวแปรประเภท double ชื่อ number2 มีค่า 30
double number3 = number1+number2 ; // ประกาศตัวแปรประเภท double ชื่อ number3 มีค่าของตัวแปร number1+number2 จึงมีค่าเป็น 50.0
*** ข้อสังเกต ตัวแปร number3 ต้องประกาศเป็น double เพราะถ้าประกาศเป็น int จะมีขนาดเล็กกว่าตัวแปรที่กำหนดทำให้เก็บไม่ได้
ข้อห้ามในการตั้งชื่อตัวแปร
- ตัวแปรต้องไม่มีสัญลักษณ์พิเศษปจ เช่น ! @ #
- สามารถใช้เคื่องหมาย _ ได้
- สามารถใช้ตัวเลขได้ แต่ห้ามขึ้นต้นด้วยตัวเลข
- ห้ามมีช่องว่าง
- ตัวอักษรตัวเล็กตัวใหญ่ ถือว่าเป็นคนละตัวกัน
- ห้ามตั้งชื่อตรงกับคำสวงนหรือคำสั่งในภาษา C
ตัวอย่างโคดทดลอง : ประกาศตัวแปร int มีค่าเป็น 13 สำหรับกำหนดแทนขาอ้างอิง ทำให้เราปรับเปลี่ยนแก้ไขตำแหน่งขาของ led ได้ง่าย
1 2 3 4 5 6 7 8 9 10 |
int led = 13; void setup(){ pinMode(led,OUTPUT); } void loop(){ digitalWrite(led,HIGH); delay(1000); digitalWrite(led,LOW); delay(1000); } |
อีกตัวอย่างทดลอง : ประกาศตัวแปร led และ ms ทำให้โปรแกรมแก้ไข เปลี่ยนแปลง ได้ง่ายขึ้น
1 2 3 4 5 6 7 8 9 10 11 |
int led = 13; int ms = 500; void setup(){ pinMode(led,OUTPUT); } void loop(){ digitalWrite(led,HIGH); delay(ms); digitalWrite(led,LOW); delay(ms); } |
ลองคำนวนและแสดงผลทาง Serial Monitor บ้าง
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
int num1 = 20; double num2 = 30; double num3 = num1+num2; void setup(){ Serial.begin(9600); } void loop(){ Serial.print("Test variable :"); Serial.print(num1); Seral.print("+"); Serial.print(num2); Seral.print("="); Serial.println(num3); delay(1000); } |
ตัวอย่างสอน Arduino เรื่องตัวแปร เพิ่มเติมเพื่อความเข้าใจ
ตอนนี้เราได้รู้การประกาศตัวแปรและการใช้งานแล้ว เพื่อทดสอบความสามารถ ลองตัวอย่างต่อไปนี้
โปรแกรมหาพื้นที่วงกลม : เขียนโปรแกรม Arduino ให้แสดงพื้นที่วงกลมที่มีรัศมี 10 แล้วแสดงผลลัพธ์ออกทาง Serial Monitor
1 2 3 4 5 6 7 8 9 10 11 |
void setup() { Serial.begin(9600); double pi = 3.14; int r = 10; double area = pi*r*r; Serial.print("area is"); Serial.println(area); } void loop() { } |
บทเรียนก่อนหน้าบทเรียนถัดไป
ยังไม่มีคอมเมนต์
คุณสามารถเป็นคนแรกที่คอมเมนต์