เดโมนี้เหมาะกับคอมพิวเตอร์ บนมือถือใช้ได้แต่พื้นที่แคบ · This demo is best on a computer; it works on a phone but the workbench is cramped.

skillsiot

ฟังก์ชันของคุณเอง และขอบเขตของตัวแปร

เมื่อโค้ดยาวขึ้น การตั้งชื่อส่วนที่ทำงานซ้ำเป็นฟังก์ชันทำให้อ่านง่ายขึ้นมาก และตัวแปรที่ประกาศข้างในจะอยู่แค่ข้างใน

ในบทนี้คุณจะ

  • เขียนฟังก์ชันของตัวเองและเรียกใช้
  • อธิบายความต่างระหว่างตัวแปรในฟังก์ชันกับตัวแปรนอกฟังก์ชัน
  • ใช้พารามิเตอร์ส่งค่าเข้าไป

1. ตั้งชื่อให้สิ่งที่คุณทำซ้ำ

void flash(int ms) { digitalWrite(13,HIGH); delay(ms); digitalWrite(13,LOW); delay(ms); } แล้วเรียก flash(500); โค้ดใน loop() จะสั้นลงและอ่านออกทันทีว่ากำลังทำอะไร ไม่ต้องไล่อ่านทีละบรรทัด

2. ตัวแปรข้างในอยู่แค่ข้างใน

ตัวแปรที่ประกาศในฟังก์ชันเกิดตอนเข้าและหายตอนออก เรียกว่าตัวแปรเฉพาะที่ ถ้าอยากให้จำค่าข้ามการเรียก ต้องประกาศไว้นอกฟังก์ชัน หรือใส่คำว่า static ไว้ข้างหน้า

3. พารามิเตอร์ทำให้ใช้ซ้ำได้จริง

flash(500) กับ flash(120) ใช้ฟังก์ชันเดียวกันแต่ให้จังหวะต่างกัน นี่คือความต่างระหว่างการคัดลอกโค้ดไปวางกับการเขียนฟังก์ชัน เมื่อต้องแก้ คุณแก้ที่เดียว

ตรวจความเข้าใจ

ประกาศ int count = 0; ไว้ในฟังก์ชัน แล้วบวกหนึ่งทุกครั้งที่เรียก ค่าจะเป็นอย่างไร

ลงมือทำ

ลงมือทำ

ย้ายส่วนที่ทำซ้ำไปเป็นฟังก์ชันของคุณเอง แล้วให้ loop() เหลือแค่การเรียกใช้ จังหวะยังคงหนึ่งวินาทีต่อรอบ

เริ่มแล็บใน StudioStudio จะเปิดวงจรเริ่มต้นของบทนี้ พร้อมคำใบ้ เฉลย และการตรวจคำตอบจากค่าที่วัดได้