[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] How to make “ESP8266” read and write to “Arduino UNO Maker” via the I2C bus?

ESP8266 is a device that nicely supports IoT functionality. But one of the downsides of the ESP8266 is the inadequate number of GPIOs or pins for input and output signals that can be used without a problem with the board’s functionality, so expanding ports for the ESP8266 is quite a thing that developers must be faced which can be performed in a several ways such as using PCF8574 as an expansion port via the I2C bus or connecting to Arduino via Serial Port to allow Arduino to work and send the results back via the serial communication port, etc. This article chose to use an Arduino Uno as a board for I / O to the ESP8266 by using the I2C bus operation.

[TH] How to make “ESP8266” read and write to “Arduino UNO Maker” via the I2C bus?

(วิธีการทำให้ “ESP8266” อ่านและเขียนไปยัง “Arduino UNO Maker” ผ่านบัส I2C.)

ESP8266 เป็นอุปกรณ์ที่รองรับการทำงานแบบ IoT ได้เป็นอย่างดี แต่ข้อเสียประการหนึ่งของ ESP8266 คือ จำนวน GPIO หรือขาสำหรับนำเข้าสัญญาณและนำออกสัญญาณที่สามารถใช้งานได้โดยไม่เป็นปัญหากับการทำงานของบอร์ดมีไม่มากนัก ดังนั้น การขยายพอร์ตให้กับ ESP8266 จึงเป็นสิ่งที่นักพัฒนาต้องประสบพบเจอ ซึ่งสามารถเลือกดำเนินการได้หลายวิธี เช่น ใช้ PCF8574 เป็นพอร์ตขยายผ่านทางบัส I2C หรือเชื่อมต่อกับ Arduino ผ่านทางพอร์ตสื่อสารอนุกรม (Serial Port) เพื่อให้ Arduino เป็นผู้ทำงานและส่งผลลัพธ์กลับมาทางพอร์ตสื่อสารอนุกรม เป็นต้น โดยในบทความนี้เลือกการใช้ Arduino Uno เป็นบอร์ดสำหรับเป็น I/O ให้กับ ESP8266 โดยอาศัยการสั่งงานผ่านทางบัส I2C