کنترل نور با PWM
PWM OUTPUT.
آردوینو برق را خیلی سریع روشن و خاموش میکند. چشم ما میانگین این پالسها را میبیند و LED کمنور یا پرنور به نظر میرسد.
کد را زنده امتحان کن ↓نور LED را کم و زیاد کن؛ بدون تغییر منبع تغذیه.
مثل باز و بستهکردن خیلی سریع شیر آب است؛ هرچه زمان بازبودن بیشتر باشد، آب متوسط بیشتری عبور میکند.
UNO LAB
حالا کدش را بخوان.
عدد صفر یعنی خروجی همیشه خاموش و ۲۵۵ یعنی همیشه روشن. مقادیر بین این دو Duty Cycle را تغییر میدهند، اما ولتاژ آنالوگ واقعی تولید نمیکنند.
01const int ledPin = 9;02 03void setup() {04 pinMode(ledPin, OUTPUT);05}06 07void loop() {08 analogWrite(ledPin, 128);09}کجا به کار میآید؟
همین مفهوم ساده، پایهی رفتارهای بزرگتر در ربات و دستگاه واقعی است.
نورپردازی
تنظیم شدت LED و افکتهای نوری.
سرعت موتور
فرمان سرعت با کمک درایور موتور.
بازر
تولید پالس برای صداهای ساده.
فقط کار نکند؛
قابلفهم هم باشد.
در هر قطعه، مکانیزم و خط کد، علاوه بر عملکرد فنی به تجربه انسانی فکر میکنیم: کاربر باید وضعیت را ببیند، رفتار را پیشبینی کند و بدون پیچیدگی اضافه با سیستم ارتباط بگیرد.
تغییر خروجی باید نرم باشد تا نور یا حرکت ناگهانی کاربر را آزار ندهد.
شدت واقعی را با یک نشانگر ساده و هماهنگ با خروجی نشان بده.
درصد قابلفهم نمایش بده، نه عدد خام ۰ تا ۲۵۵.
نور ربات را هنگام شروع و پایان با گذار نرم کنترل کن.
HRI × VISUAL × SIMPLEاگر کار نکرد، اینها را ببین.
- 01
هر پایهای PWM ندارد؛ علامت ~ کنار شماره پایه را ببین.
- 02
موتور را مستقیم به پایه آردوینو وصل نکن.
- 03
PWM با خروجی آنالوگ واقعی تفاوت دارد.
حالا نوبت ساختن است.
نور ربات را هنگام شروع و پایان با گذار نرم کنترل کن.