กลับไปหน้ารวมไฟล์
big-brother-is-watching-you-f86de7.md

ประวัติศาสตร์ (แบบย่อๆ)

โปรเจคเก่าของพี่มันซีเรียสและซับซ้อนไปหน่อย: เป็นเทอร์โมสแตทแบบตั้งโปรแกรมได้ไร้สาย ขอบคุณน้องๆ ทุกคนที่ช่วยกันกดดูจนยอดวิวใน Project Hub พุ่งไปกว่า 3000 ครั้งแล้ว พี่ซาบซึ้งใจมากจริงๆ

เป้าหมายต่อไปของพี่คือต้องทะลุ 5000 วิวให้ได้ เลยต้องคิดโปรเจคใหม่ที่มันต้องตลกกว่า, ดั้งเดิมกว่า, ง่ายกว่า และทำตามซ้ำได้ง่ายกว่าโปรเจคเทอร์โมสแตทเดิมๆ นั่นแหละ และที่สำคัญ... ต้อง "ไร้ประโยชน์" สุดๆ ด้วย

พี่เลยตัดสินใจทำ "ตาคู่" นี้ขึ้นมา มันจะคอยจ้องตามวัตถุที่เคลื่อนที่อยู่ตรงหน้า มันตามไปทางซ้าย-ขวาได้ และตาทั้งสองข้างจะเบนเข้าหากันเมื่อวัตถุเข้ามาใกล้

และถ้าน้องกำลังอ่านข้อความนี้อยู่ แสดงว่าน้องคลิกเข้ามาแล้ว! นี่แหละคือสิ่งที่พี่ต้องการ ขอบคุณมากนะน้อง

โปรเจคนี้คืออะไร

ตาทั้งสองข้างวาดลงบนลูกปิงปองสองลูก แล้วเอาไปติดบนเซอร์โวมอเตอร์สองตัว เซ็นเซอร์อัลตราโซนิค (Ultrasonic Sensor) สองตัวใช้สำหรับวัดตำแหน่งของวัตถุ บอร์ด Arduino Nano Every จะอ่านค่าจากเซ็นเซอร์แล้วสั่งการเซอร์โวมอเตอร์ให้ขยับตาม

เซอร์โวมอเตอร์ที่ใช้คือรุ่น SG90 (ไมโครเซอร์โว) และเซ็นเซอร์อัลตราโซนิคคือรุ่น HC-SR04 ของถูกและหาง่ายมาก บอร์ด Arduino อาจจะใช้รุ่นอื่นที่ไม่ใช่ Nano Every ก็ได้ ขอแค่มีไฟ 5V สำหรับเลี้ยงมอเตอร์และเซ็นเซอร์ก็พอ

ฮาร์ดแวร์

เซอร์โวมอเตอร์และเซ็นเซอร์อัลตราโซนิคติดอยู่บนแผ่นฐาน ตามตำแหน่งที่แสดงในแผนภาพนี้:

ตำแหน่งของเซ็นเซอร์อัลตราโซนิคแกน X (แนวนอน) สามารถเปลี่ยนได้นะ เช่น ถ้าอยากให้ตามวัตถุที่ใหญ่ขึ้น ในกรณีนี้ต้องไปปรับค่าคงที่ A และ B ในซอฟต์แวร์ให้ตรงกับตำแหน่งจริงของเซ็นเซอร์ตัวนั้น ค่าสองค่านี้ต้องน้อยกว่า 200 ซม.

การต่อสายต้องทำตามนี้:

กราวด์ (GND) ของเซอร์โวมอเตอร์และเซ็นเซอร์อัลตราโซนิค ต้องต่อกับกราวด์ของบอร์ด Arduino และจ่ายไฟให้พวกมันที่ +5V

ขา Trigger ของเซ็นเซอร์อัลตราโซนิคแกน X ต่อกับดิจิตอลพิน 2 และขา Echo ต่อกับดิจิตอลพิน 3

ขา Trigger ของเซ็นเซอร์อัลตราโซนิคแกน Y ต่อกับดิจิตอลพิน 5 และขา Echo ต่อกับดิจิตอลพิน 6

ขาควบคุมเซอร์โวมอเตอร์ซ้ายและขวา ต่อกับดิจิตอลพิน 8 และ 10 ตามลำดับ ซ้าย-ขวานี่หมายถึงตาของบิ๊กบราเดอร์นะ ตาซ้ายของมันคือด้านขวาของน้องนั่นแหละ อย่าสับสน

แผนภาพการต่อสายทั้งหมดเป็นแบบนี้:

รายละเอียดเทคนิค & การปรับปรุง

โปรเจคนี้ใช้เซ็นเซอร์อัลตราโซนิก (HC-SR04) ตรวจจับระยะและตำแหน่งด้านข้างของวัตถุ จากนั้น Arduino จะคำนวณพิกัดของวัตถุและแปลงเป็นมุมให้เซอร์โวสองตัวที่ทำหน้าที่เป็นดวงตา ทำให้รู้สึกเหมือนมีอะไรจ้องมองเราอยู่

แต่ถ้าจะให้การเคลื่อนไหวดูเป็นธรรมชาติและมีชีวิตชีวามากขึ้น ห้ามสั่งให้เซอร์โวขยับไปยังมุมใหม่ทันทีเด็ดขาด! ให้ใช้ลูปค่อยๆ เพิ่มมุมทีละ 1 องศาพร้อมดีเลย์เล็กน้อยระหว่างขั้นตอนแทน ดวงตาจะได้ค่อยๆ *กวาด* ไปหาวัตถุอย่างเนียนๆ การเคลื่อนไหวแบบเนิบๆ นี่แหละที่เพิ่มความสมจริงและความหลอนให้กับโปรเจคได้เป็นกองเลย

Software

โค้ดง่ายมากกก ไม่ถึง 70 บรรทัด ไม่ต้องใช้ไลบรารี่เสริมด้วย

จัดไปวัยรุ่น สู้งานนะน้อง

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

apps:
  - "1x Arduino IDE"
author: "frenchy22"
category: "Sensors & Environment"
components:
  - "3x Breadboard 170 pins"
  - "1x Arduino Nano Every"
  - "2x Ultrasonic Sensor - HC-SR04"
  - "1x double sided tape"
  - "2x SG90 Micro Servo"
description: "Pan and tilt tracking! Use motion sensors and servos to create a robotic camera mount or 'creepy eye' that follows movement across a room."
difficulty: "Advanced"
documentationLinks: []
downloadableFiles:
  - "https://projects.arduinocontent.cc/84c04bfe-4959-4fb5-bf74-b288e9468c24.ino"
encryptedPayload: "U2FsdGVkX18AwieOaQ3YR1BiQooAuEbkLK3WIdtKL2SQ/hWwg2bf0SGwEzcXaU+d9GarMU5Y23S9xbEL9KqhEOPHemhM8Lc1OFnQgGJnPYs="
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/big-brother-is-watching-you-f86de7_cover.jpg"
lang: "en"
likes: 13
passwordHash: "50d1d41030be169a28d7f8accb09efb43ca07d9da3360df101bfa34ef3a03aa5"
price: 1
seoDescription: "Interactive Arduino project featuring eyes that follow movement and squint using Servo and Sensors. Big Brother is watching!"
tags:
  - "Games"
  - "Entertainment System"
title: "พี่เบิ้มจ้องตึงๆ หน้ามึนแน่นอน!"
tools: []
videoLinks: []
views: 17399