นอกจากการเก็บค่าที่อ่านได้จาก Force Sensor ไว้ในตัวแปรแล้ว คุณยังสามารถสร้างฟังก์ชันเพื่อส่งค่าดังกล่าวกลับมา (Return) ได้อีกด้วย การแยกส่วนการทำงานของโปรแกรมด้วยวิธีนี้ ช่วยให้สามารถจัดระเบียบโค้ดได้ง่ายขึ้น รวมถึงสะดวกต่อการตรวจสอบ และแก้ไขข้อผิดพลาดที่อาจเกิดขึ้น
ตัวอย่างโปรแกรมถัดไปจะใช้ฟังก์ชัน motor_velocity() เพื่อคำนวณ
และส่งค่าความเร็วที่ต้องการของมอเตอร์กลับมา โดยอ้างอิงจากค่าที่อ่านได้จาก Force Sensor
แทนการใช้ตัวแปรในการจัดเก็บค่า
import force_sensor
import motor
from hub import port
# This function returns the desired motor velocity.
def motor_velocity():
# The velocity is five times the force of the Force Sensor.
return force_sensor.force(port.B) * 5
while True:
# Run the motor like before.
# Use the `motor_velocity()` function return value for velocity.
motor.run(port.A, motor_velocity())
ลองกด Force Sensor ขณะที่โปรแกรมกำลังทำงาน คุณจะสังเกตเห็นว่ามอเตอร์หมุนเร็วขึ้นหรือช้าลงตามแรงที่กระทำต่อ Force
Sensor โดยฟังก์ชัน motor_velocity() จะนำค่าแรงกดที่วัดได้มาคูณด้วย 5
เพื่อกำหนดความเร็วในการหมุนของมอเตอร์ ส่งผลให้มอเตอร์สามารถหมุนด้วยความเร็วตั้งแต่ 0 ถึง 500 องศาต่อวินาที
฿ 34,500