สารบัญ:
- ขั้นตอนที่ 1: ขั้นตอนที่ 1: เซ็นเซอร์วัดระยะ
- ขั้นตอนที่ 2: ขั้นตอนที่ 2: เซอร์โวมอเตอร์
- ขั้นตอนที่ 3: ขั้นตอนที่ 3: RGB LED
- ขั้นตอนที่ 4: ขั้นตอนที่ 4: LCD
- ขั้นตอนที่ 5: ขั้นตอนที่ 5: รหัส
วีดีโอ: เกมตอบสนองอย่างรวดเร็ว: เวอร์ชันระยะทาง: 5 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
สวัสดี. นี่คือคำแนะนำเกี่ยวกับวิธีการสร้างเกมที่ทดสอบทั้งเวลาตอบสนองและความรู้สึกของระยะทาง โปรเจ็กต์นี้อิงจากโปรเจ็กต์เก่าที่ฉันทำซึ่งเกี่ยวข้องกับผู้เล่นสองคนที่แข่งขันกันเพื่อดูว่าใครมีปฏิกิริยาตอบสนองเร็วกว่าด้วยการคลิกปุ่มเมื่อไฟเปลี่ยนเป็นสีเขียว อันนี้มีจุดประสงค์ที่คล้ายกัน ยกเว้นว่ามันเป็นโหมดเล่นคนเดียวและแทนที่จะให้แสงส่องลง ผู้เล่นจะได้รับกรอบเวลาเพื่อทำให้มือของพวกเขาเว้นระยะห่างจากเซ็นเซอร์วัดระยะทาง
เช่นเดียวกับโครงการ Arduino ทั้งหมด เกมนี้ต้องการส่วนประกอบทางไฟฟ้าจำนวนมากในวงจร Arduino ส่วนประกอบหลักนอกเหนือจากการเดินสายและ Arduino นั้นรวมถึงเขียงหั่นขนม, เซอร์โวมอเตอร์, จอ LCD, ไฟ LED RGB และเซ็นเซอร์วัดระยะทาง
การใช้ https://abra-electronics.com ราคาไม่รวมสายไฟและ Arduino คือ $32.12 CAD
ขั้นตอนที่ 1: ขั้นตอนที่ 1: เซ็นเซอร์วัดระยะ
ขั้นตอนแรกคือการตั้งค่าเซ็นเซอร์ระยะอัลตราโซนิกบนเขียงหั่นขนมและต่อเข้ากับ Arduino ตำแหน่งที่แน่นอนของเซ็นเซอร์ไม่สำคัญ แต่ควรอยู่ใกล้ขอบเพื่อให้มีที่ว่างสำหรับส่วนประกอบอื่นๆ ดังที่แสดงในภาพด้านบน มีสี่พินบนเซ็นเซอร์ GND, VCC, TRIG และ ECHO GND และ VCC จะต้องต่อเข้ากับกราวด์และรางจ่ายไฟตามลำดับ และต่ออีกสองพินที่เหลือเป็นสองพินบน Arduino หมุดสองตัวที่ฉันใช้คือ 12 สำหรับ ECHO และ 11 สำหรับ TRIG ใช้สายไฟอีกสองเส้นเพื่อจ่ายไฟให้กับรางจ่ายไฟและต่อสายดินกับรางภาคพื้นดินโดยเชื่อมต่อรางจ่ายไฟเข้ากับพิน 5V และรางกราวด์กับพิน GND
ขั้นตอนที่ 2: ขั้นตอนที่ 2: เซอร์โวมอเตอร์
ขั้นตอนต่อไปคือการตั้งค่าเซอร์โวมอเตอร์ ในโครงการนี้ เซอร์โวมอเตอร์ทำหน้าที่เป็นตัวจับเวลา โดยจะเริ่มที่ 1 องศา และในช่วงเวลาที่ผู้ใช้ต้องวางมือจะหมุนเป็น 180 องศา ฉันใช้เวลา 2 วินาทีเมื่อผู้ใช้พบว่าต้องวางมือให้ห่างแค่ไหน ดังนั้นเซอร์โวจึงหมุน 179 องศาในระยะเวลา 2 วินาที โดยหมุนเป็นช่วงสั้นๆ เซอร์โวมอเตอร์มีสามสาย มักจะเป็นสีเหลือง สีแดง และสีน้ำตาล อันสีแดงเข้าไปในรางไฟฟ้าที่ต่อเข้ากับ 5V แล้ว และอันสีน้ำตาลจะเข้าไปในรางภาคพื้นดินที่ต่อเข้ากับ GND แล้ว ลวดสุดท้ายเสียบเข้ากับขา Arduino ฉันเลือกพิน #9 สำหรับอันนี้ จากนั้น คุณต้องมีตัวเก็บประจุที่เชื่อมต่อรางเดียวกันกับที่มีกำลังของเซอร์โวมอเตอร์และสายกราวด์เชื่อมต่ออยู่ ดังที่เห็นในภาพด้านบน
ขั้นตอนที่ 3: ขั้นตอนที่ 3: RGB LED
หน้าที่ของ LED ในส่วนนี้คือทำหน้าที่เป็นมาตราส่วนสำหรับคะแนน เมื่อคะแนนของผู้เล่นอยู่ที่ประมาณ 0 ไฟ LED จะเป็นสีขาว และจะเปลี่ยนเป็นสีแดงมากขึ้นหากคะแนนของผู้เล่นลดลงและเป็นสีเขียวหากคะแนนของผู้เล่นเพิ่มขึ้น LED นี้มีสี่ขา ขาไฟแดง ขาไฟสีฟ้า ขาไฟเขียว และแคโทดทั่วไปที่แบ่งระหว่างขาอีกสามขาที่เหลือ แคโทดทั่วไป ขาที่ยาวที่สุด ต่อเข้ากับรางจ่ายไฟจึงรับไฟได้ 5 โวลต์ ติดตัวต้านทาน 330 โอห์มกับขาสามสีที่เหลือ และต่อปลายอีกด้านของตัวต้านทานเหล่านั้นกับพินดิจิตอล PWM บน Arduino อันที่ฉันใช้คือหมุดดิจิทัล 3, 5 และ 6 สำหรับขาสีแดง สีเขียว และสีน้ำเงินตามลำดับ
ขั้นตอนที่ 4: ขั้นตอนที่ 4: LCD
องค์ประกอบสุดท้ายคือ LCD ซึ่งย่อมาจากจอแสดงผลคริสตัลเหลว จุดประสงค์ของสิ่งนี้คือเพื่อบอกผู้เล่นว่าคะแนนปัจจุบันของพวกเขารวมถึงระยะทางที่พวกเขาต้องเอามือออกจากเซ็นเซอร์ มีสี่หมุดอยู่ที่นี่ GND, VCC, SDA และ SCL GND และ VCC จะต่อเข้ากับกราวด์และรางไฟฟ้าของเขียงหั่นขนมตามลำดับ พิน SDA ต้องต่อเข้ากับพินอะนาล็อก A4 และพิน SCL จะต้องต่อเข้ากับพินอะนาล็อก A5 คุณต้องต่อขา SDA และ SCL กับ A4 และ A5 ต่างจากส่วนประกอบอื่นๆ
ขั้นตอนที่ 5: ขั้นตอนที่ 5: รหัส
ตอนนี้เราได้เชื่อมต่อส่วนประกอบทั้งหมดแล้ว เราสามารถเขียนโค้ดได้ ส่วนแรกของรหัสคือการนำเข้าไลบรารีที่จำเป็นและประกาศตัวแปรของเราและหมุดที่ส่วนประกอบนั้นเชื่อมต่ออยู่ เราจำเป็นต้องนำเข้าไลบรารี Wire, LiquidCrystal_I2C และ Servo สำหรับรหัสนี้
#รวม
#รวม
#รวม
เซอร์โว myServo;
int const trigPin = 11;
int const echoPin = 12;
int redPin = 3;
int greenPin = 5;
int bluePin = 6;
คะแนน int = 0;
int tim = 500;
int ปัจจุบัน = สุ่ม (8, 16); //ค่าสุ่มที่ผู้ใช้ต้องวางมือให้ห่างจากเซ็นเซอร์
LiquidCrystal_I2C จอแอลซีดี (0x27, 16, 2); // การตั้งค่า LCD
ตอนนี้เราจำเป็นต้องใช้การตั้งค่าโมฆะ () เพื่อประกาศประเภทพินของเราและตั้งค่าส่วนประกอบที่จำเป็นอื่น ๆ
การตั้งค่าเป็นโมฆะ () { myServo.attach (9); Serial.begin(9600); โหมดพิน (trigPin, OUTPUT); โหมดพิน (echoPin, INPUT); pinMode โหมดพิน (redPin, OUTPUT); โหมดพิน (กรีนพิน, เอาต์พุต); โหมดพิน (บลูพิน, เอาต์พุต); lcd.init(); LCD.backlight(); lcd.begin(16, 2); lcd.clear(); // การตั้งค่า LCD}
ตอนนี้เราต้องตั้งค่ารหัส RGB LED โดยใช้ฟังก์ชันและ PWM:
เป็นโมฆะ setColor (int red, int green, int blue) {
สีแดง = 255 - สีแดง;
สีเขียว = 255 - สีเขียว;
สีน้ำเงิน = 255 - สีน้ำเงิน;
analogWrite (หมุดสีแดง, สีแดง);
analogWrite (greenPin, สีเขียว);
analogWrite (บลูพิน, น้ำเงิน);
}
ตอนนี้เราต้องเพิ่ม void loop() ในที่นี้ เราจะสร้างจำนวนเต็มแบบสุ่มและใช้ชุดคำสั่ง if เพื่อควบคุมเกมสำหรับผู้เล่น ตัวแปรปัจจุบันซึ่งตั้งค่าไว้ด้านบนนี้มีไว้สำหรับระยะทางปัจจุบันที่ผู้เล่นต้องอยู่ห่างจากเซ็นเซอร์
เนื่องจากโค้ดใน void loop() ยาวมาก ฉันจะวางลิงก์ไปยังเอกสารที่มีรหัสนั้น:
docs.google.com/document/d/1DufS0wuX0N6gpv…
สุดท้าย เราต้องทำการคำนวณจริงเพื่อแปลงค่าของเซ็นเซอร์วัดระยะอัลตราโซนิกเป็นนิ้ว เซ็นเซอร์ระยะอัลตราโซนิกไม่ได้วัดระยะทางโดยตรง โดยจะปล่อยเสียงและบันทึกเวลาที่ใช้สำหรับเซ็นเซอร์ในการรับเสียงกลับจากวัตถุใดก็ตามที่มันกระเด็นออกไป
microsecondsToInches ยาว (ไมโครวินาทียาว) {
ส่งคืนไมโครวินาที / 74 / 2;
}
ตอนนี้เราเสียบ Arduino แบบมีสายเข้ากับคอมพิวเตอร์ด้วยรหัส ตั้งค่าพอร์ต และรันมัน! เกมนี้มีสองโหมด คุณสามารถใช้ได้เฉพาะจอแสดงผล LCD, เซอร์โวมอเตอร์, เซ็นเซอร์ และ RGB LED เท่านั้น และคุณรู้เพียงระยะที่ต้องอยู่ห่างจากเซ็นเซอร์เท่านั้น ซึ่งเป็นโหมดที่ยากกว่า โหมดที่ง่ายกว่านี้เกี่ยวข้องกับการใช้จอภาพแบบอนุกรมในเครื่องมือ > การตรวจสอบแบบอนุกรม ซึ่งจะอัปเดตให้คุณทราบทุกวินาทีว่าคุณอยู่ห่างจากเซ็นเซอร์เพียงใด คุณจึงปรับเปลี่ยนตามความจำเป็นได้
ขอบคุณที่อ่าน!
แนะนำ:
DIY 37 Leds เกมรูเล็ต Arduino: 3 ขั้นตอน (พร้อมรูปภาพ)
DIY 37 Leds เกมรูเล็ต Arduino: รูเล็ตเป็นเกมคาสิโนที่ตั้งชื่อตามคำภาษาฝรั่งเศสหมายถึงวงล้อเล็ก
หมวกนิรภัย Covid ส่วนที่ 1: บทนำสู่ Tinkercad Circuits!: 20 ขั้นตอน (พร้อมรูปภาพ)
Covid Safety Helmet ตอนที่ 1: บทนำสู่ Tinkercad Circuits!: สวัสดีเพื่อน ๆ ในชุดสองตอนนี้ เราจะเรียนรู้วิธีใช้วงจรของ Tinkercad - เครื่องมือที่สนุก ทรงพลัง และให้ความรู้สำหรับการเรียนรู้เกี่ยวกับวิธีการทำงานของวงจร! หนึ่งในวิธีที่ดีที่สุดในการเรียนรู้คือการทำ ดังนั้น อันดับแรก เราจะออกแบบโครงการของเราเอง: th
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): 6 ขั้นตอน (พร้อมรูปภาพ)
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): การชาร์จแบบเหนี่ยวนำ (เรียกอีกอย่างว่าการชาร์จแบบไร้สายหรือการชาร์จแบบไร้สาย) เป็นการถ่ายโอนพลังงานแบบไร้สาย ใช้การเหนี่ยวนำแม่เหล็กไฟฟ้าเพื่อจ่ายกระแสไฟฟ้าให้กับอุปกรณ์พกพา แอปพลิเคชั่นที่พบบ่อยที่สุดคือ Qi Wireless Charging st
4 ขั้นตอน Digital Sequencer: 19 ขั้นตอน (พร้อมรูปภาพ)
4 ขั้นตอน Digital Sequencer: CPE 133, Cal Poly San Luis Obispo ผู้สร้างโปรเจ็กต์: Jayson Johnston และ Bjorn Nelson ในอุตสาหกรรมเพลงในปัจจุบัน ซึ่งเป็นหนึ่งใน “instruments” เป็นเครื่องสังเคราะห์เสียงดิจิตอล ดนตรีทุกประเภท ตั้งแต่ฮิปฮอป ป๊อป และอีฟ
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: 13 ขั้นตอน (พร้อมรูปภาพ)
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: ทำป้ายโฆษณาแบบพกพาราคาถูกด้วยตัวเอง ด้วยป้ายนี้ คุณสามารถแสดงข้อความหรือโลโก้ของคุณได้ทุกที่ทั่วทั้งเมือง คำแนะนำนี้เป็นการตอบสนองต่อ/ปรับปรุง/เปลี่ยนแปลงของ: https://www.instructables.com/id/Low-Cost-Illuminated-