อาร์เรย์เปรียบเสมือนช่องสีเหลี่ยมมาเรียงต่อๆกันเป็นแถวยาว โดยแต่ละช่องจะเป็นที่สําหรับเก็บข้อมูล จํานวนของช่องที่มาเรียงต่อกันก็คือขนาดของอาร์เรย์ ในแต่ละช่องจะเป็นที่ข้อมูลได้ 1 ตัวตามชนิดของอาร์เรย์ที่ประกาศไว้

การประกาศอาร์เรย์ควรประกาศให้พอดีกับความต้องการ ถ้าประกาศมากเกินความจําเป็น จะทําให้สิ้นเปลืองหน่วยความจําของเครื่อง ตัวอย่างการประกาศอาร์เรย์ 1 มิติ คือ
ชนิดของข้อมูล ชื่อตัวแปร[ขนาดของอาร์เรย์]
เช่น
int a[10];
ประกาศ a เป็นตัวแปรอาร์เรย์ชนิดจํานวนเต็ม ที่มีขนาด 10 ช่อง ซึ่งในแต่ละช่องจะเก็บข้อมูลเป็นจํานวนเต็ม int ขนาด 2 byte อาร์เรย์มีขนาด 10 ช่อง ดังนั้นอาร์เรย์นี้จะใช้หน่วยความจําเท่ากับ 10*2 = 20 byte ดังรูป

เราสามารถกําหนดค่าเริ่มต้นให้ตัวแปรอาร์เรย์ที่สร้างขึ้นมาได้ ดังนี้
char ch[3] = { 'a', 'b' };
หรือ
char ch[] = { 'a', 'b' };
จะได้ดังนี้

เราสามารถเข้าภึงตัวแปรแต่ละตัวได้โดยการกําหนด index ซึ่งจะเริ่มจาก 0 ดังตัวอย่างนี้
int a[] = {100, 400, 900};
printf("%d", a[1]);
จาก Code ด้านบนโปรแกรมจะแสดง 400 ออกมาทางหน้าจอ
สามารถนําอาร์เรย์ ไปใช้เก็บข้อมูลที่มีลักษณะเป็นชุดๆได้ เช่นเก็บคะแนนของนักเรียนในชั้นเรียน เพื่อมาคํานวนเกรด ซึ่งเราจะสามารถเขียนโปรแกรมได้สะดวก และยืดหยุ่นมากขึ้น
ก่อนที่จะรู้จัก Arduino เรามาทําความรู้จักกับ Microcontroller และ Open source กันก่อน ซึ่งผมจะอธิบายไปทีละตัวดังนี้
Serial เป็นรูปแบบการสื่อสารแบบ Asynchronous ชนิดหนึ่งที่ Arduino นํามาใช้ในการสื่อสารกับ Device อื่นๆ เช่น Computer, Arduino, Module Sensor ต่างๆ หรืออุปกรณ์อะไรก็ตามที่รองรับการส่งข้อมูลแบบ Serial สําหรับข้อมูลเพิ่มเติมของการสือสารแบบ Serial อ่านรายละเอียดเพิ่มเติมได้จากบนความนี้ครับ TTL UART RS232 คืออะไร
โดยปกติแล้วเราจะไม่สามารถเรียกใช้งาน docker-compose ได้ตรงๆใน crontab แต่ถ้าต้องการใช้ ให้ใช้วิธีนี้ครับ