กลับไปหน้ารวมไฟล์
easy-peasy-tachometer-a629a4.md

โปรเจกต์นี้คือเครื่องวัดรอบ (Tachometer) แบบทำเองที่ทั้งแม่นยำและทำตามง่ายมากๆ น้องรู้มั้ยว่าพี่อยากได้เครื่องวัดรอบสำหรับวัดความเร็วมอเตอร์ DC ตัวนึง แต่หาวิธีทำที่เชื่อถือได้ไม่เจอเลย จนต้องลองผิดลองถูกมาหลายวิธี กว่าจะสำเร็จแบบที่เห็นนี่แหละ

Speed and Spin: The Digital Tachometer

มอเตอร์ตัวนั้นมันหมุนเร็วแค่ไหนกันนะ? Easy Peasy Tachometer ตัวนี้คือเครื่องมือวัดแบบไม่สัมผัสที่ใช้คำนวณ รอบต่อนาที (Revolutions Per Minute หรือ RPM) โดยเฉพาะ เรียกได้ว่าเป็นอาวุธลับของนักสร้างหุ่นยนต์, นักแข่งรถ RC และสายโดรนตัวยงเลยทีเดียว

หลักการแบบ "ขัดจังหวะ"

  1. จุดสังเกต (Marker): แปะเทปสีขาวสะท้อนแสงแค่ 1 ชิ้นลงบนขอบล้อสีดำหรือใบพัดที่เราอยากวัด
  2. เซนเซอร์ (Sensor): ใช้ เซนเซอร์ตรวจจับสิ่งกีดขวางแบบอินฟราเรด (IR Obstacle Sensor) ตั้งจ่อไปที่วัตถุที่กำลังหมุน มันจะ "เห็น" เทปสีขาวแค่ครั้งเดียวต่อการหมุน 1 รอบพอดี ส่งผลเป็นพัลส์ดิจิทัล HIGH ออกมา
  3. การขัดจังหวะระดับฮาร์ดแวร์ (Hardware Interrupt): การวัดพัลส์ความเร็วสูงด้วย digitalRead() นั้นช้าเกินไป! เราเลยใช้ Hardware Interrupt (attachInterrupt()) ของ Arduino แทน มันจะบังคับให้โปรเซสเซอร์หยุดทุกอย่างชั่วคราวเพื่อนับพัลส์ทันทีที่มันเกิดขึ้น

คณิตศาสตร์คำนวณ RPM

โค้ดของเราจะนับว่ามีพัลส์เกิดขึ้นกี่ครั้งในเวลา 1 วินาทีพอดี จากนั้นคูณเลขนั้นด้วย 60 ก็จะได้ค่า RPM ออกมา สมมติเห็นพัลส์ 50 ครั้งใน 1 วินาที แสดงว่ามอเตอร์กำลังหมุนที่ 3,000 RPM จัดไปวัยรุ่น!

ตั้งตั๋วฮาร์ดแวร์

  • Arduino Uno/Nano: ตัวนับความเร็วสูง
  • โมดูลเซนเซอร์อินฟราเรดแบบสะท้อนกลับ (TCRT5000): เซนเซอร์ระยะใกล้ที่แม่นยำมาก
  • จอแสดงผล LCD 16x2: เอาไว้โชว์ค่า RPM แบบเป๊ะๆ
  • มอเตอร์หรือพัดลม: เอาไว้เป็นหนูทดลองนั่นเอง

โปรเจกต์นี้ถือเป็นคลาสเรียนระดับมาสเตอร์สำหรับเรื่อง Interrupts บน Arduino เลยนะน้อง เป็นคอนเซปต์สำคัญมากสำหรับโปรเจกต์ไหนก็ตามที่ต้องพึ่งพาการจับเวลาแบบแม่นยำและความเร็วสูง ห้ามช็อตนะตัวนี้! สู้งานนะน้อง

ข้อมูล Frontmatter ดั้งเดิม

apps: []
author: "PracticeMakesBetter"
category: "Sensors & Environment"
components:
  - "1x Graphic OLED, 128 x 64"
  - "1x Arduino UNO"
  - "1x 3144 Hall Sensor"
description: "วัดรอบมอเตอร์แบบง่ายๆ แต่แม่นยำ ไว้จับความเร็วเครื่องมือจักร ล้อจักรยาน หรือหุ่นยนต์วัยรุ่นของเรา ด้วยชิ้นส่วนราคาเบาๆ งานง่ายแต่หล่อ!"
difficulty: "Intermediate"
documentationLinks: []
downloadableFiles:
  - "https://projects.arduinocontent.cc/26dce74d-f8e1-42f1-b465-22e7fdb2e1ea.JPG"
  - "https://projects.arduinocontent.cc/4c07b4e8-25d5-478f-a969-55040e1f288e.JPG"
  - "https://projects.arduinocontent.cc/26dce74d-f8e1-42f1-b465-22e7fdb2e1ea.JPG"
encryptedPayload: "U2FsdGVkX18EfCKK9gIVqtkw3QceB7P/vfNL7nV8llFeOygWcdPJuy+iRKQ+UpqwzhFoo2jFJvXPLlgbDR+anknuHuNwY7VLYDikHA5TIntQTKUF49owjS3kktF59Rscn1QN0RtU0iqCcN5DfWokXex9xy8kN+nqfWdwUKEpgE0/ecmydZmlDKJuwUIhFmAkln8xC55MJyRoS1PoOpA2Cfa5HmWy/lUDZ03WH33qU3c5Xr5CqbXSx+1eIrpnErjinK8AFNfvnWtHHmdI/QjWNeFOHtLY0qzT+afFBUZOrlHaF5J07v0NhwJkEZ2k2C5WZoe34o18bqHQCXkNcy4TY+bKxhFOE3HukRbHBUdo/Q70+JX82rtDBXGq33s/7nzb"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/easy-peasy-tachometer-a629a4_cover.jpg"
lang: "en"
likes: 14
passwordHash: "5f426a2c90509cbc2a82bed7d1e2bd878f4b36963e3b98feeb57cbaadf3152ef"
price: 1499
seoDescription: "Build a simple and reliable Tachometer to measure rpm for tools, wheels, and robots using inexpensive parts."
tags:
  - "data collection"
  - "monitoring"
  - "robots"
title: "วัดรอบตึงๆ ง่ายเว่อร์! (Easy Peasy Tachometer)"
tools: []
videoLinks:
  - "https://www.youtube.com/embed/2-J4f8-RX90"
views: 94750