กลับไปหน้ารวมไฟล์
push-up-counter-using-arduino-and-ultrasonic-sensor-2fe58e.md

รุ่นพี่ก็ชอบวิดพื้นเหมือนกันนะ แต่ว่าทำทีก็สัก 10 ทีเอง บางทีก็หมดแรง ทำท่าไม่ถูกต้อง ไม่ลงลึก ไม่ขึ้นสูงพอ แล้วก็ลืมนับไปว่าทำไปกี่ทีแล้ว เลยต้องสร้างตัวนับมาช่วยให้ทำตามกฎได้ รุ่นพี่เลือกใช้ Arduino เป็นวงจรควบคุม ใช้เซ็นเซอร์อัลตราโซนิค (Ultrasonic Sensor) ตรวจจับว่าตัวเราลงและขึ้นครบรอบไหม แล้วก็ใช้ 7 Segment Display แสดงผล ตัวนับนี้ก็รีเซ็ตได้ด้วยนะ จะได้เอาไปใช้อีกที

Fitness Telemetry: Ultrasonic Rep Counter

มานั่งนับเองมันเมื่อยมือว่ะ ตัวนับวิดพื้นแบบอัลตราโซนิค นี้คือเซ็นเซอร์ที่ติดตั้งกับพื้น คอยเช็คให้แน่ใจว่าน้องลงจริงขึ้นจริง ถ้าแผงอกน้องไม่ทะลุขีดจำกัดที่เราตั้งไว้ (threshold) ละก็ Arduino จะตะโกนว่า "ไม่นับ!" แล้วก็ไม่เพิ่มตัวนับให้หรอก

กลไก State-Machine (HC-SR04)

เขียนโค้ดแบบ if (distance < 10) { reps++; } เฉยๆ ไม่ได้นะน้อง!

  1. ถ้าน้องค้างท่าล่างไว้นาน 3 วินาที โค้ดแบบนั้นจะรัวนับเป็นร้อยครั้งในลูปเดียวเลย!
  2. ต้องเขียนเป็น State Machine เท่านั้น
  3. State 1 (สูง): เซ็นเซอร์จับตรงไปที่หน้าอกน้องพอดี distance = 45cm น้องอยู่ในท่าวิดพื้นขึ้นสุด (rest position)
  4. State 2 (ข้าม Threshold): น้องเริ่มลดตัวลง ระยะห่างลดเหลือ 8cm if (distance < 10cm && currentState == HIGH)...
  5. ตอนนี้ Arduino เปลี่ยนใจแล้ว: currentState = LOW; เราอยู่ในท่าล่างสุดแล้ว
  6. State 3 (นับครั้งที่สำเร็จ): น้องดันตัวขึ้น ระยะห่างกลับไปที่ 40cm อีกครั้ง if (distance > 30cm && currentState == LOW) { reps++; currentState = HIGH; } ต้องลงลึกสุด และ ขึ้นสูงสุดครบรอบ ถึงจะนับเป็น 1 ครั้ง!

การให้ผลตอบรับด้วยภาพและเสียง

ตอนวิดพื้นตาเบลอแล้ว จะให้ไปมองจอ LCD เล็กๆ ได้ยังไง!

  • ใช้ Double 7-Segment Display ขนาดใหญ่ ตัวเลข 2 นิ้ว หรือไม่ก็ใช้ริงไฟ WS2812B NeoPixel!
  • ทุกครั้งที่นับสำเร็จ ไฟจะกระพริบสีเขียวสดใส พร้อมกับเสียง Piezo Buzzer "ปี๊บ!" ดังสนั่น ให้กำลังใจนักกีฬาโดยไม่ต้องละสายตา!

อุปกรณ์ที่ต้องใช้

  • Arduino Nano (เพื่อสร้างพอดเล็กๆ แข็งแรง วางบนพื้นได้)
  • เซ็นเซอร์วัดระยะอัลตราโซนิค HC-SR04
  • 7-Segment Display ขนาดใหญ่ (โมดูล TM1637) หรือ LED array ใหญ่ๆ
  • Piezo Buzzer (แบบ Active หรือ Passive ก็ได้)
  • กล่องที่พิมพ์จากเครื่อง 3D Printer แข็งแรง กันไม่ให้แผ่นเหล็กทับเซ็นเซอร์แตก

หวังว่าน้องๆ จะชอบโปรเจคนี้กันนะ ใครสนใจก็ไปดูคลิปกันได้

ขอบคุณที่ติดตามกันครับ!!!

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

apps:
  - "1x Arduino IDE"
author: "herolivechannel"
category: "Wearables, Health & Fitness"
components:
  - "1x Arduino UNO"
  - "1x Jumper wires (generic)"
  - "1x 4-Digit LED Display Tube, 7-segments, TM1637"
  - "1x Ultrasonic Sensor - HC-SR04 (Generic)"
description: "สอนจัดเต็ม! มาสร้างตัวนับวิดพื้นเทพๆ ด้วย Arduino กับเซนเซอร์ HC-SR04 แสดงผลบน 7 Segment 4 หลัก งานง่ายแต่หล่อ วัดพลังได้แม่นยำ!"
difficulty: "Easy"
documentationLinks: []
downloadableFiles:
  - "https://github.com/HeroLive/ArduinoHeroLive/tree/master/PushUp"
  - "https://projects.arduinocontent.cc/b26b292d-bfda-455a-8a28-04c9bd3d47c2.ino"
  - "https://github.com/HeroLive/ArduinoHeroLive/tree/master/PushUp"
encryptedPayload: "U2FsdGVkX19JiZA18HrexayaixIywS/L3LPM108Zg8PkbuHKyWyJZm9w+BZuMDUntRzpegcleXjiJH0kQfKPEEEjQrD1mBuoQ+ZUqWtXc3U="
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/push-up-counter-using-arduino-and-ultrasonic-sensor-2fe58e_cover.jpg"
lang: "en"
likes: 10
passwordHash: "675bd5bd9f74a1391d442584120200dbc01f18a0dd7a387f13f8d3721fafb4a5"
price: 299
seoDescription: "Build a Push-up Counter using Arduino and Ultrasonic Sensor HC SR04 with 4 digital 7 segment display. Simple DIY fitness project."
tags:
  - "counter"
  - "ultrasonic sensor"
  - "health"
  - "hc-sr04"
  - "arduino"
title: "เคาน์เตอร์วิดพื้นสุดตึง! วัดพลังวัยรุ่นด้วย Arduino + เซนเซอร์อัลตราโซนิก"
tools: []
videoLinks:
  - "https://www.youtube.com/embed/uz97zhezQ3I"
views: 33947