
สวัสดีครับ บทความนี้เราจะมาเรียนรู้ว่า Analog input ใน Arduino มันคืออะไร มีวิธีการใช้งานอย่างไร พร้อมทั้งตัวอย่างการใช้งานเบื้องต้น เรามาเริ่มต้นไปทีละ Step ดังนี้ครับ
Analog input คือ การอ่านค่าของระดับแรงดันไฟฟ้า (Volt) ส่วนมาก Analog input จะนําไปใช้อ่านค่าแรงดันไฟฟ้าจากอุปกรณ์ที่เป็นประเภท Analog sensor ชนิดต่างๆ เช่น LDR, Analog temperature ฯลฯ ซึ่งเราจะไม่สามารถอ่านค่าจาก Sensor ประเภทนี้ในแบบ Digital ได้
โดยปกติรุ่นทั่วๆไปของ Arduino จะมี Analog input มาให้ใช้งานประมาณ 6 Pin (A0-A6) ในรุ่นอื่นๆอาจจะมีมากกว่านี้ สามารถอ่านข้อมูลของแต่ละรุ่นได้จากทางเว็บของ Arduino ได้เลย
Analog input ของ Arduino จะสามารถอ่านค่าของแรงดันไฟฟ้าได้ที่ความละเอียด 10 bits (จะมีบางรุ่นอ่านได้ 11 bits) หมายความว่าค่าที่อ่านได้จะมีค่าตั้งแต่ 0 ถึง 1023 (1024 ระดับ) ซึ่งค่าที่อ่านได้นี้เราจะนํามาเทียบกับระดับแรงดันไฟฟ้าอ้างอิง ตัวอย่าง ถ้าเราใช้ Arduino รุ่น UNO ในรุ่นนี้จะมีระดับแรงดันไฟฟ้าอ้างอิงที่เป็น Default สําหรับ Analog input คือ 5V (เราสามารถเปลี่ยนแปลงค่านี้ได้) หมายความว่า Arduino board รุ่นนี้สามารถอ่านค่าของแรงดันไฟฟ้าที่ความละเอียด 5V / 1024 = 0.0049 volts หรือ 4.9 mV ต่อ 1 หน่วยนั่นเอง
เราจะต่อตัวต้านทานปรับค่าได้ (Volume) เข้ากับ Arduino board ตามรูปนี้ครับ

เมื่อต่อเสร็จแล้วจะได้ประมาณนี้ครับ
Coding ตามตัวอย่างนี้ใน Arduino IDE ได้เลยครับ
int analogPin = A3;
int val = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
val = analogRead(analogPin);
Serial.println(val);
}
จาก Code ด้านบน เรากําหนดให้ pin A3 เป็น pin ที่ใช้อ่านค่า Analog เมื่อทุกครั้งที่วน loop ใน function loop() จะอ่านค่าจาก pin A3 มาเก็บไว้ในตัวแปร val แล้วส่งค่านั้นไปแสดงบน Computer (Serial monitor) ผ่านทาง Serial Port
เมื่อ Coding ใน Arduino IDE เรียบร้อย ก็ Compile แล้ว Upload โปรแกรมลงบน Arduino board ได้เลย
ถ้าทุกอย่างเรียบร้อยให้ทดสอบโดยลองหมุนที่ตัวต้านทานปรับค่าได้ตัวนี้ เพื่อปรับค่าความต้านทานให้เปลี่ยนแปลง เมื่อค่าความต้านทานเปลี่ยนแปลงจะส่งผลให้แรงดันไฟฟ้าที่ส่งเข้า pin A3 เปลี่ยนแปลง ค่าที่อ่านได้ก็จะเปลี่ยนไปด้วยเช่นกัน
จะเห็นค่าที่เปลี่ยนแปลงบน Serial monitor ประมาณนี้ครับ

ขอบคุณทุกทานที่อ่าน และ Share บทความนี้ แล้วเจอกันใหม่บทความหน้านะครับ :)
ESP8266 คืออะไร?ESP8266 คือ โมดูล wifi ภายในมีเฟิร์มแวร์ทํางานในลักษณะ Serial-to-WiFi ที่ช่วยให้อุปกรณ์อื่นๆ เช่น MCU สามารถต่อเข้ากับ internet ได้โดยใช้ port serial(ขา Tx, ขา Rx) และใช้คําสั่ง AT ในการควบคุมการทํางาน ต่อมาผู้พัฒนาได้พัฒนาเฟิร์มแวร์ NodeMcu ให้เป็น platform และใช้ภาษา LUA ในการเขียนโปรแกรม ด้วยความที่เป็น platform ที่สะดวกต่อการใช้งาน ทางผู้พัฒนาจึงจับ NodeMcu(ESP8266) ใส่เป็นบอร์ดหนึ่งใน Arduino IDE ด้วยซะเลย และได้พัฒนาให้สามารถเขียนโปรแกรมด้วยภาษา C/C++ สำหรับใครที่ใช้งาน Arduino อยู่แล้วสามารถใช้งานบน Arduino IDE ได้อย่างไม่อยากครับ
sql delete เป็นคําสั่ง ที่ใช้ในการลบข้อมูลในตาราง โดยสามารถลบข้อมูลตามเงื่อนไข where ที่ผู้ใช้กําหนดDatabase supportMySQL, Microsoft Access, SQL Server, Oracleรูปแบบการใช้
ใครที่ชอบเล่นควิช หรือเกมส์ทายต่างๆในเฟสบุค คุณอาจจะมองว่าเป็นแค่เรื่องเล็กน้อย เล่นสนุกๆ แต่คุณกําลังมีความเสี่ยงที่จะเสียความเป็นส่วนตัวของคุณไป ข้อมูลส่วนตัวของคุณอาจไปตกอยู่ในมือของใครก็ไม่รู้ ที่ผมสนใจก็คือ App พวกนี้มีการร้องขอ Permission(สิทธิ์การเข้าถึงข้อมูล) ของรูปภาพที่คุณอัพโหลดขึ้นไปทั้งหมดบนเฟสบุคของคุณ ผมยํ้าว่าทั้งหมดนะครับ รวมถึงภาพที่เป็น Private และภาพที่คุณถูก Tag ด้วย นั่นหมายความว่าคุณกําลังอนุญาติให้ใครก็ไม่รู้(เจ้าของ App ควิช) มาเข้าถึง หรือ Download รูปส่วนตัวของคุณได้