0Pricing
Arduino & IoT Academy · บทเรียน

analogWrite 0–255

กำหนดรอบการทำงานเพื่อควบคุมความสว่างของ LED

analogWrite 0–255 เป็นบทเรียน Arduino & IoT Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Arduino & IoT Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Arduino & IoT Academy มีบทเรียนทั้งหมด 4 บทเรียน

บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ

The Command That Does PWM

To produce PWM you call one function: analogWrite. You give it a pin and a level, and the chip handles the fast pulsing for you.

analogWrite(9, 200);

The Value Range Is 0 to 255

The second argument goes from 0 to 255. That is 256 steps, because one byte holds exactly that many values.

0 Means Fully Off

Pass 0 and the duty cycle is zero. The pin stays LOW the whole time, so the LED is completely dark.

analogWrite(9, 0); // LED off

255 Means Fully On

Pass 255 and the duty cycle is 100%. The pin behaves just like digitalWrite HIGH, so the LED is at full brightness.

analogWrite(9, 255); // LED full

The Middle Gives You Dimming

A value of 128 is roughly half power, so the LED looks about half as bright. Values in between give you a smooth scale.

analogWrite(9, 128); // about half

Bigger Number, Brighter Light

The relationship is simple: a higher value means more on-time and more brightness. Lower values dim the LED down.

Pick a PWM-Capable Pin

analogWrite only does true PWM on the tilde-marked pins. On a non-PWM pin it just snaps fully on or off at the halfway point.

Set the Pin as OUTPUT First

Just like a normal LED, declare the pin as OUTPUT in setup so it can drive current before you call analogWrite.

pinMode(9, OUTPUT);

A Tiny Working Sketch

Here is the whole idea: in setup mark the pin OUTPUT, then in loop hold it at a steady mid-brightness level.

void setup() {
  pinMode(9, OUTPUT);
}
void loop() {
  analogWrite(9, 100);
}

Brightness Is Not Perfectly Linear

Doubling the value does not exactly double how bright it looks, because human eyes sense light on a curve, not a straight line.

It Works on Motors Too

analogWrite is not only for LEDs. The same 0 to 255 value can set a motor's speed through a driver. ⚙️

Quick Check

Make sure the value range is crystal clear.

Recap: analogWrite Levels

analogWrite takes a pin and a value from 0 to 255: 0 is off, 255 is full, and the middle dims smoothly on PWM pins. 🌟

คำถามที่พบบ่อย

บทเรียน “analogWrite 0–255” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “analogWrite 0–255” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Arduino & IoT Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Arduino & IoT Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “analogWrite 0–255”

กำหนดรอบการทำงานเพื่อควบคุมความสว่างของ LED คุณปฏิบัติ Arduino & IoT Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Arduino & IoT Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Arduino & IoT Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “analogWrite 0–255” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Arduino & IoT Academy นี้ได้ไหม

ได้ บทเรียน Arduino & IoT Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. PWM ทำอะไรจริง ๆ
  2. analogWrite 0–255
  3. ค่อย ๆ เพิ่มและลดแสง LED
  4. ปุ่มหมุนควบคุมความสว่าง LED
← กลับไปที่ Arduino & IoT Academy