อัตราการสุ่มตัวอย่าง/คำสั่งนามแฝง: 8 ขั้นตอน (พร้อมรูปภาพ)
อัตราการสุ่มตัวอย่าง/คำสั่งนามแฝง: 8 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: อัตราการสุ่มตัวอย่าง/คำสั่งนามแฝง: 8 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: อัตราการสุ่มตัวอย่าง/คำสั่งนามแฝง: 8 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: คลิปวิดีโอปริศนา!! ที่กำลังโด่งดังไปทั่วโลก #shorts 2025, มกราคม
Anonim

ฉันต้องการสร้างโครงการการศึกษาที่แสดงนามแฝง (และอัตราตัวอย่าง) และตั้งใจที่จะวางบนเว็บไซต์เพื่อเป็นแหล่งข้อมูลสำหรับนักเรียนที่กำลังเรียนรู้เกี่ยวกับนามแฝง

ขั้นตอนที่ 1: เค้าโครง Ciruit

Arduino

Arduino เป็นฐานของวงจร รองรับเซอร์โวมอเตอร์ (พร้อมล้อเข้ารหัส) และเซ็นเซอร์เอฟเฟกต์ฮอลล์ที่อยู่ในตำแหน่ง

-Encoder wheel: จุดประสงค์ของ Encoder wheel คือเพื่อระงับแม่เหล็กที่หมุนเป็นวงกลม โดยเลื่อนไปเหนือเซ็นเซอร์เอฟเฟกต์ฮอลล์ที่อยู่ในตำแหน่ง

-การตั้งค่าเซนเซอร์: เซนเซอร์เอฟเฟกต์ฮอลล์วางอยู่ใต้เส้นทางการหมุนของแม่เหล็ก โดยมีวัตถุประสงค์เพื่อติดตามการผ่านของแม่เหล็กด้วยความเร็วการหมุนต่างๆ และอัตราการรวบรวมข้อมูล

----------------------------------------------------------------------------------------------------------

ขั้นตอนย่อย:

  1. รับวัสดุ:

    Arduino (+ บอร์ดขนมปัง), สายไฟ, ล้อเข้ารหัส, แม่เหล็ก, เซ็นเซอร์เอฟเฟกต์ฮอลล์, เซอร์โวมอเตอร์, แอปพลิเคชัน Matlab, แอปพลิเคชัน Arduino

  2. ตัดล้อเอ็นโค้ดเดอร์ออก ติดตั้งบนเซอร์โว ดันแม่เหล็กเข้าในช่อง
  3. ติดเซ็นเซอร์เอฟเฟกต์ฮอลล์ไว้ใต้เส้นทางของแม่เหล็ก (อาจต้องใช้สายต่อของเซ็นเซอร์)
  4. สร้างวงจร.

ขั้นตอนที่ 2: รหัส Arduino

วิธีการรวบรวมข้อมูล

รหัส Arduino ใช้ [บรรทัดที่ 41] เพื่อรวบรวมข้อมูลผ่านพอร์ต 'Analog In' A0 จากเซ็นเซอร์เอฟเฟกต์ฮอลล์

วิธีการส่งข้อมูลแบบอนุกรม

  • [บรรทัดที่ 43] แสดงตัวแปร 'ตัวจับเวลา' ที่ใช้ฟังก์ชัน 'millis()' ในมอนิเตอร์แบบอนุกรม เพื่อจับเวลาการทำงานเป็นมิลลิวินาทีตลอดระยะเวลาของโปรแกรม
  • [บรรทัดที่ 45] แสดงตัวแปร 'hallsensor' ในมอนิเตอร์อนุกรมที่ใช้ 'analogRead' เพื่อรับข้อมูลจาก Hall Effect Senor ขณะที่โปรแกรมกำลังรัน

วัตถุประสงค์ของพารามิเตอร์ล่าช้า ()

วัตถุประสงค์ของพารามิเตอร์ delay() คือเพื่อเปลี่ยนเวลาตอบสนองของการรวบรวมข้อมูลที่ได้รับจากเซ็นเซอร์เอฟเฟกต์ฮอลล์

----------------------------------------------------------------------------------------------------------

ขั้นตอนย่อย:

ป้อนรหัส Arduino ในแอปพลิเคชัน Arduino

ขั้นตอนที่ 3: รหัส Matlab (ไฟล์ HallRT)

- วิธีการรับข้อมูล - [ภาพที่ 3: บรรทัดที่ 77]

การรับข้อมูลจาก ArduinoStep

----------------------------------------------------------------------------------------------------------

ขั้นตอนย่อย:

ใส่รหัส Matlab อยู่เหนือตัวเลข บันทึกในไฟล์ HallRT

ขั้นตอนที่ 4: รหัส Matlab (thresh_analyze)

วิธีการนับยอด[ภาพที่ 2: เส้น 45-53]

  • การใช้แฟล็กในโค้ด Matlab นี้เพื่อที่ว่าเมื่อลูป for สะดุดกับ 'aRval' ที่มากกว่าจำนวนค่า 'thresh' ที่ตั้งไว้ล่วงหน้าจะเพิ่มขึ้นหนึ่งค่า พีคจะถูกทำเครื่องหมายด้วยเครื่องหมายดอกจัน และ if-statement [บรรทัดที่ 45-50] จะแตกเพราะ flag = 1 if-statement ที่สองที่มีแฟล็ก [Line 51-53] ระบุว่าเมื่อถึงจุดพีคและค่าเริ่มลดลงรอบพีคแล้วแฟล็ก = 0 และ for loop ยังคงค้นหาพีคเพิ่มเติมต่อไป
  • พารามิเตอร์/ค่าที่จำเป็น:

    • 'aRval': ข้อมูลที่รวบรวมจากการทดลองใช้
    • 'thresh': ค่าที่เลือกเพื่อระบุสิ่งที่อยู่เหนือค่าดังกล่าวใน aRval เป็นค่าสูงสุด

----------------------------------------------------------------------------------------------------------

ขั้นตอนย่อย:

สร้างไฟล์ Matlab ไฟล์ที่สอง "thresh_analyze"

ขั้นตอนที่ 5: การทดลองที่ 1: ไม่มีนามแฝง

รูปที่ 1: Data Trial @ Delay 200 รูปที่ 2: Thresh วิเคราะห์ข้อมูล

- พารามิเตอร์ล่าช้า: 200

พีค:

นับ = 45

- จำนวนรอบต่อนาที:

45 รอบ/นาที

----------------------------------------------------------------------------------------------------------

ขั้นตอนย่อย:

  1. เชื่อมต่อ Arduino กับแล็ปท็อปของคุณ

    ตั้งค่าการหน่วงเวลาในโค้ด Arduino เป็น "200" กดอัปโหลด (ที่มุมบนซ้ายของแอปพลิเคชัน)

  2. ไปที่ไฟล์ Matlab ของคุณ HallRT [บรรทัดที่ 37] และเปลี่ยนตัวแปร 'delayTime' เป็น 200
  3. เรียกใช้โปรแกรม HallRT
  4. บันทึกไฟล์ Matlab ภายใต้ "delay_200" (บันทึกรูป)
  5. โหลดไฟล์ delay_200.mat
  6. เรียกใช้โปรแกรม thresh_analyze (บันทึกรูป)

ขั้นตอนที่ 6: การทดลองที่ 2: นามแฝงของเซ็นเซอร์ (i)

รูปที่ 1: การทดลองใช้ข้อมูล @ ความล่าช้า 50

รูปที่ 2: Thresh วิเคราะห์ข้อมูล

พารามิเตอร์ล่าช้า: 50-Peaks:

นับ = 52

จำนวนรอบต่อนาที:

52 รอบ/นาที

----------------------------------------------------------------------------------------------------------

ขั้นตอนย่อย:

  1. เชื่อมต่อ Arduino กับแล็ปท็อปของคุณ

    ตั้งค่าการหน่วงเวลาในโค้ด Arduino เป็น "50" กดอัปโหลด (ที่มุมบนซ้ายของแอปพลิเคชัน)

  2. ไปที่ไฟล์ Matlab ของคุณ HallRT [บรรทัดที่ 37] และเปลี่ยนตัวแปร 'delayTime' เป็น 50
  3. เรียกใช้โปรแกรม HallRT
  4. บันทึกไฟล์ Matlab ภายใต้ "delay_50" (บันทึกรูป)
  5. โหลดไฟล์ delay_50.mat
  6. เรียกใช้โปรแกรม thresh_analyze (บันทึกรูป)

ขั้นตอนที่ 7: การทดลอง 3: นามแฝงของเซนเซอร์ (ii)

รูปที่ 1: Data Trial @ Delay 100 รูปที่ 2: Thresh วิเคราะห์ข้อมูล

พารามิเตอร์ล่าช้า: 100-ยอด:

นับ = 54

จำนวนรอบต่อนาที:

54 รอบ/นาที

------------------------------------------------- -------------------------------------------------- --------ขั้นตอนย่อย:

  1. เชื่อมต่อ Arduino กับแล็ปท็อปของคุณ

    ตั้งค่าการหน่วงเวลาในโค้ด Arduino เป็น "100" กดอัปโหลด (ที่มุมบนซ้ายของแอปพลิเคชัน)'

  2. ไปที่ไฟล์ Matlab ของคุณ HallRT [บรรทัดที่ 37] และเปลี่ยนตัวแปร 'delayTime' เป็น 100
  3. เรียกใช้โปรแกรม HallRT
  4. บันทึกไฟล์ Matlab ภายใต้ "delay_100" (บันทึกรูป)
  5. โหลดไฟล์ delay_100.mat
  6. เรียกใช้โปรแกรม thresh_analyze (บันทึกรูป)

ขั้นตอนที่ 8: การทดลองที่ 4: นามแฝงของเซนเซอร์ (iii)

รูปที่ 1: Data Trial @ Delay 300 รูปที่ 2: Thresh วิเคราะห์ข้อมูล

- พารามิเตอร์ล่าช้า: 300

พีค:

นับ = 32

จำนวนรอบต่อนาที:

32 รอบ/นาที

-------------------------------------------------- -------------------------------------------------- --------ขั้นตอนย่อย:

  1. เชื่อมต่อ Arduino กับแล็ปท็อปของคุณ

    ตั้งค่าการหน่วงเวลาในโค้ด Arduino เป็น "300" กดอัปโหลด (ที่มุมบนซ้ายของแอปพลิเคชัน)

  2. ไปที่ไฟล์ Matlab ของคุณ HallRT [บรรทัดที่ 37] และเปลี่ยนตัวแปร 'delayTime' เป็น 300
  3. เรียกใช้โปรแกรม HallRT
  4. บันทึกไฟล์ Matlab ภายใต้ "delay_300" (บันทึกรูป)
  5. โหลดไฟล์ delay_300.mat
  6. เรียกใช้โปรแกรม thresh_analyze (บันทึกรูป)