สวัสดีครับ วันนี้เราจะมาเรียนรู้การใช้งาน Analog output หรือ PWM ใน Arduino กันครับ โดยปกติแล้ว Arduino จะทํางานกับข้อมูลหรือ I/O ที่เป็นแบบ Digital HIGH/LOW (0V/5V) แต่ในบางกรณีเราอาจจําเป็นต้องใช้งาน I/O ที่เป็นแบบ Analog (0v, 1V, 2V…5V) เพื่อใช้ควบคุมอุปกรณ์ที่เป็นแบบ Analog เช่น ความสว่างของหลอดไฟ, ควบคุมความเร็วของ Motor ฯลฯ
เริ่มเรียนรู้จาก Workshop ควบคุมความความสว่างของหลอด LED ด้วย Analog output (PWM) ไปทีละ Step ดังนี้
นอกจาก Arduino จะมี Analog input มาให้เราใช้งานแล้ว ก็ยังมี Analog output มาให้เราใช้งานด้วยเช่นกัน ซึ่ง Arduino ก็จะมี Pin ที่เป็น Analog output มาให้ (แต่ละรุ่นก็จะมีตําแหน่งของ Pin ที่แตกต่างกันออกไป อ่านได้จากคู่มือ) ซึ่งเราสามารถใช้งานโดยกําหนดระดับแรงดันของ Output ได้ ตั้งแต่ 0-255 (256 ระดับ)
Function ที่ใช้ควบคุม Analog output คือ analogWrite() จะอธิบายเพิ่มเติมในส่วนของ Coding ครับ
ต่อวงจร โดยเราจะใช้ Pin 9 เป็น Analog output ครับ ซึ่งตัวต้านทานจะช่วยลดระดับแรงดันให้เหมาะสมกับ LED ครับ

Coding ตามนี้ได้เลยครับ
int ledPin = 9;
int level = 0;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
delay(10);
analogWrite(ledPin, level); // สั่ง Output ให้มีค่าตาม level
level = (level + 1) % 256; // เพิ่มค่า level 0-255
}
จาก Code โปรแกรมด้านบน ทุกๆครั้งที่วน Loop เราจะทําการเพิ่ม level ทีละ 1 แล้วนํา level ไปปรับระดับของ Output ด้วยคําสั่ง “analogWrite(ledPin, level);” และถ้า level เกินกว่า 255 จะปรับ level เป็น 0 ด้วยการ mod 256 (% 256) ทําแบบนี้ไปเรื่อยๆ ทําให้ LED จะค่อยๆสว่างขึ้น เมื่อสว่างเต็มที่ก็จะดับและค่อยๆสว่างขึ้นอีกครั้ง ดังรูปครับ

เท่านี้เราก็จะสามารถนําไปควบคุมอุปกรณ์ตามที่เราต้องการได้แล้วครับ
ขอบคุณทุกทานที่อ่าน และ Share บทความนี้ แล้วเจอกันใหม่บทความหน้านะครับ :)
ในการสร้าง Chrome Extension หรือเรียกเป็นภาษาไทย "ส่วนขยาย" จะใช้ HTML/CSS/JavaScript ในการเขียน ซึ่งจะคล้ายกับการเขียนเว็บทั่วๆไป ในเมื่อมันเป็น HTML/CSS/JavaScript ก็จับมาเขียนด้วย Vuejs ซะเลย เพื่อให้ง่ายต่อการพัฒนา
Ascii คือ อะไร?ในระบบคอมพิวเตอร์ จะใช้เลขฐานสอง(0, 1) ในการทํางาน เลขฐานสอง 1 ตัว เราจะเรียกว่า 1 bit สามารถแทนสถานะได้ 2 สถานะ คือ 0 กับ 1 ถ้าเรานําเลขฐานสองมาร่วมกัน 8 ตัว(8 bit) เราจะเรียกว่า 1 Byte สามารถใช้แทนสถานะได้ถึง 256 สถานะ(2 ยกกําลัง 8) Ascii เป็นการกําหนดมาตรฐานเพื่อใช้ในระบบคอมพิวเตอร์ และอุกปรณ์ Digitall ต่างๆ โดยนําเลขฐานขนาด 1 Byte มาแทนตัว
หลังจากที่เขียนบทความเรื่อง วิธีสร้าง VM Instance ใน google developers console ผมยังไม่ได้อธิบายวิธีการใช้ PuTTy เชื่อมต่อไปยัง google instance ในบทความนี้ผมจะมาอธิบายวิธีเชื่อมต่อ PuTTy ไปยัง google instance อุปกรณ์ที่ต้องใช้มีดังนี้โปรแกรม PuTTy ถ้ายังไม่มีโหลดได้ที่นี่-->Clickโปรแกรม PuTTYgen ถ้ายังไม่มีโหลดได้ที่นี่-->Click