[TH] Arduino : repetition

การเขียนโปรแกรมเป็นการสั่งงานให้หน่วยประมวลผลกระทำตามคำสั่งที่ได้รับ โดย ณ​ เวลาหนึ่งจะมีคำสั่งเข้าประมวลผล 1 ชุด (กรณีที่ไม่ใช่การประมวลผลแบบคู่ขนาน) และเมื่อคำสั่งประมวลผลเสร็จสิ้นจะบันทึกผลการดำเนินคำสั่งเก็บในเรจิสเตอร์สถานะการทำงานแล้วเตรียมประมวลผคำสั่งถัดไป ทำให้การทำงานเป็นการทำทีละคำสั่งจากคำสั่งแรกไปยังคำสั่งถัด ๆ ไป และผู้เขียนโปรแกรมสามารถวางการทำงานให้กระทำตามเงื่อนไขเพื่อแยกการประมวลผล เช่น เมื่อเงื่อนไขใดเป็นจริงให้กระทำ หรือเงินไขใดไม่เป็นจริงไม่ต้องกระทำหรือกระทำสิ่งใด เป็นต้น และสุดท้ายการทำงานของโปรแกรมสามารถให้ทำซ้ำได้โดยอาศัยเงื่อนไขของการกระทำซ้ำ ด้วยเหตุนี้ หลักการเขียนโปรแกรมเบื้องต้นจึงประกอบไปด้วยการทำงาน 3 ลักษณะ คือ

  • กระทำครั้งละคำสั่งจากบนลงล่าง
  • สามารถเพิ่มเติมให้เกิดเงื่อนไขของการประมวลผลคำสั่ง
  • สามารถให้เกิดการทำซ้ำคำสั่งที่ต้องการ

[TH] Arduino : condition

บทความนี้อธิบายรูปแบบของการใช้ชุดคำสั่งสำหรับการตรวจสอบเงื่อนไขเพื่อสร้างทางเลือกในการเขียนโปรแกรม ทั้งนี้การเขียนโปรแกรมภาษา C++ ใช้เครื่องหมาย { และ } เป็นเครื่องหมายบ่งบอกบล็อกของการทำงานแต่ละบล็อก นั่นหมายความว่า ชุดคำสั่งในแต่ละบล็อกมีขั้นตอนการทำงานเรียงจากบนลงล่างเสมอ โดยกระทำทีละ 1 และสามารถเลือกทำคำสั่งด้วยการสร้างเงื่อนไข นอกจากนี้สามารถให้ทำซ้ำในส่วนของคำสั่งที่ต้องการได้ด้วยการทำซ้ำซึ่งจะกล่าวถึงในบทความตอนถัดไป

[TH] Arduino: Expression

นิพจน์ (Expression) คือ การนำตัวดำเนินการและเครื่องหมายดำเนินการมากระทำร่วมกัน โดยสามารถซ้อนนิพจน์ในนิพจน์ได้ แต่ด้วยหลักการเขียนโปรแกรมมีความแตกต่างกับคณิตศาสตร์ ด้วยเหตุนี้ การแปลงนิพจน์จากสมการคณิตศาสตร์มาเป็นนิพจน์ในภาษาเขียนโปรแกรมจะต้องมีขั้นตอนการแปลลำดับของการคำนวณที่ถูกต้องเพื่อป้องกันไม่ให้เกิดความผิดพลาดในการคำนวณ เช่น

[TH] Arduino: Operators

บทความนี้รวบรวมเนื้อหาเกี่ยวกับเครื่องหมายดำเนินการ (Operators) ที่ใช้ใน C++ เพื่อใช้เขียนนิพจน์ (Expression) ของคำสั่ง โดยเครื่องหมายดำเนินการแบ่งเป็น 5 กลุ่ม คือ เครื่องหมายดำเนินการทางคณิตศาสตร์ (Arithmetic) เครื่องหมายดำเนินการทางบูล (Boolean) เครื่องหมายดำเนินการเปรียบเทียบ (Comparison) เครื่องหมายดำเนินการทางบิต (bitwise) และเครื่องหมายดำเนินการแบบประกอบกัน (Compound)

[TH] Arduino: data types

ในบทความนี้กล่าวถึงตัวแปร ประเภทของข้อมูลและค่าคงที่สำหรับใช้กับ Arduino ซึ่งเป็นพื้นฐานของการเขียนโปรแกรม ทั้งนี้เนื่องจากการเขียนโปรแกรมมีหลักการ ดังที่ Niklaus Wirth  ได้กล่าวไว้ตั้งแต่ ค.ศ. 1976 ในหนังสือ ว่า

Algorithms + Data Structures = Programs

หรือ

โปรแกรม = ข้อมูล + ขั้นตอนวิธี

ทั้งนี้ เนื่องจากโปรแกรมคือขั้นตอนวิธีการแก้ปัญหาที่นำข้อมูลมาประมวลผล ซึ่งเป็นสาเหตุสำคัญของความแตกต่างระหว่างการคำนวณกับโปรแกรม

[TH] Arduino: Serial Class

บทความนี้อธิบายการใช้งานคลาส Serial ในเฟรมเวิร์กของ Arduino เพื่อใช้เป็นคำสั่งสำหรับรายงานผลจากบอร์ดไมโครคอนโทรลเลอร์กลับมายังโปรแกรม Arduino IDE ทำให้สะดวกต่อการตรวจสอบการทำงานและการเรียนรู้พื้นฐานภาษา C++

[TH] Arduino: ESP32/ESP8266

บทความนี้อธิบายการติดตั้งเฟรมเวิร์ก Arduino สำหรับบอร์ด ESP32 และ ESP8266 เพื่อใช้งานกับ Arduino IDE ทำให้สามารถใช้ C++ กับบอร์ดทั้ง 2 ได้ โดยบทความจะบอกขั้นตอนการติดตั้งเพื่อเป็นแนวทางสำหรับผู้ที่สนใจ

[TH] Arduino: Arduino Uno

บทความนี้แนะนำบอร์ด Arduino รุ่น Uno ซึ่งเป็นบอร์ดที่นิยมใช้ในการศึกษาการเขียนโปรแกรมเพื่อควบคุมอุปกรณ์ โดยกล่าวถึงคุณสมบัติของบอร์ด และการใช้ Arduino IDE รุ่น 2 (beta 7) เป็นพื้นฐานสำหรับการเขียนโปรแกรมต่อไป

[TH] Arduino: Ohm’s Law

ในบทความนี้เป็นเนื้อหาเกี่ยวกับกฎของโอห์ม (Ohm’s Law) ซึ่งเป็นเรื่องพื้นฐานที่เกี่ยวข้องกับวงจรไฟฟ้าที่เกิดจากความสัมพันธ์ระหว่างกระแสไฟฟ้าที่มีหน่วยเป็นแอมป์ (Amp) ความต่างศักย์ไฟฟ้าหรือแรงดันไฟฟ้าที่่มีหน่วยเป็นโวลต์ (Volt) และความต้านทานของตัวนำหรือโหลด (Load) ที่มีหน่วยเป็นโอห์ม (Ohm) หรือสมการ V=IR โดย V เป็นแรงดัน I คือกระแสไฟฟ้า และ R คือค่าความต้านทานของตัวนำ

[EN] ESP8266 and 3-Axis Digital Accelerometer

This article introduces the use of motion sensors or digital 3-axis shifting using MMA7660FC IC, which lets us know if this module shifts left/right or forward/backward or up/down, or rotates left/right or front/back and up/down. A library has been created to enable the sensor, set the sampling rate (sample rate), and display the converted value obtained from the module.

(Figure. 1)