ชื่อโปรเจกต์: ห่วงบาสเกตบอลพร้อม Buzzer โดยใช้ Arduino
สรุป
ติดอยู่บ้านกับเด็กที่คลั่งไคล้กีฬาเหรอ? ห่วงบาสเกตบอลพร้อม Buzzer ที่สร้างง่ายและขับเคลื่อนด้วย Arduino นี้จะช่วยสร้างเกมบาสเกตบอลในร่มที่สนุกสนาน โปรเจกต์นี้เหมาะสำหรับผู้เริ่มต้นด้วย จึงเป็นโปรเจกต์แรก, ที่สอง หรือที่สามที่ดีที่คุณสามารถสร้างร่วมกับเด็กๆ ได้
ขั้นตอนที่ 1: รวบรวมวัสดุ
นี่คือวัสดุที่เกี่ยวข้องกับ Arduino ที่จำเป็นสำหรับโปรเจกต์นี้ -
- Arduino Uno (คุณสามารถใช้ Arduino Nano หรือบอร์ดโคลนอื่นๆ ของ Uno ได้ - ฉันใช้ Elegoo Uno R3 สำหรับบทเรียนเหล่านี้)
- HC-SRO4 Sensor (Sensor ทั่วไปที่สามารถใช้ได้กับโปรเจกต์หลากหลาย)
- ACTIVE Buzzer (เสียง Buzzer ที่เป็นเอาต์พุตสำหรับโปรเจกต์นี้ ตรวจสอบให้แน่ใจว่าเป็น ACTIVE Buzzer โดย Passive Buzzer จะสร้างเสียงโน้ตเปียโน 8 เสียง ส่วน Active Buzzer จะสร้างเสียง Buzzer)
- Breadboard ชนิดใดก็ได้
- Jumper wires จำนวนหนึ่ง (Male-female และ Male-male จำนวนมาก แต่อาจมี Female-female เพียง 1-2 เส้น)
- สุดท้ายคือซอฟต์แวร์ Arduino IDE บนอุปกรณ์ Mac, Linux หรือ Windows

และนี่คือสิ่งอื่นๆ ที่คุณต้องการ -
- เทปบางส่วน (เทปชนิดใดก็ได้ แต่ Duct tape, Flex tape และเทป Heavy Duty จะใหญ่เกินไป)
- ถังสำหรับทำห่วงบาสเกตบอล (สร้างสรรค์ได้เต็มที่! - เพียงจำไว้ว่าต้องไม่มีรูที่ก้นถัง เพราะจะต้องปิดไว้เนื่องจากเป็นตำแหน่งที่ HC-SRO4 Sensor จะติดตั้ง)
- ตุ๊กตาสัตว์หรือลูกบอลนุ่มนิ่มที่คุณแน่ใจว่าจะไม่ทำให้ Sensor เสียหาย

ขั้นตอนที่ 2: การต่อวงจรฮาร์ดแวร์ให้สมบูรณ์และทำความเข้าใจ
ส่วนที่ 1 - ทำความเข้าใจ การออกแบบ Breadboard พื้นฐาน


Breadboard มีขาต่อทั่วไปและกระแสไฟบวกและลบอยู่ด้านข้าง เนื่องจาก Arduino มีขา 5V เพียงขาเดียว และโปรเจกต์ขนาดกลางถึงใหญ่ส่วนใหญ่เกี่ยวข้องกับอุปกรณ์หลายตัวที่ทำงานด้วย 5V คุณจึงสามารถเชื่อมต่อขา 5V นั้นเข้ากับด้านบนของแถวที่ประจุบวกได้ ซึ่งจะทำให้ขาใดๆ ที่เชื่อมต่อกับแถวที่ประจุบวกได้รับพลังงาน 5V ทำเช่นเดียวกันกับ GRND และแถวที่ประจุลบ แม้ว่าในการทดลองนี้เราจะมีอุปกรณ์เพียงตัวเดียวที่ทำงานด้วย 5V แต่ก็เป็นการฝึกปฏิบัติที่ดีในขณะที่คุณกำลังฝึกโปรเจกต์สำหรับผู้เริ่มต้น เพื่อให้การเปลี่ยนผ่านไปสู่โปรเจกต์ที่ซับซ้อนขึ้นจะไม่ยากนัก
ส่วนที่ 2: การตั้งค่า Buzzer
ขั้นตอนต่อไปคือการเพิ่ม Buzzer ด้านหนึ่งต่อเข้ากับ Digital pin 6 (หรือที่อื่นก็ได้ - แค่จำไว้ว่าต้องเปลี่ยนโค้ดด้วย) และอีกด้านหนึ่งมี Jumper wire ต่อไปยังแถวที่ประจุลบ (GRND) ค่อนข้างชัดเจนใช่ไหม? ขั้นตอนต่อไปนี่แหละที่เริ่มยากขึ้นมาหน่อย

อย่างที่คุณเห็น การประกอบส่วน Buzzer ของโปรเจกต์นี้ทำได้ง่าย
ส่วนที่ 3: Sensor


หากรูปภาพไม่ชัดเจน นี่คือรายละเอียด:
VCC --> แหล่งจ่ายไฟ 5V (แถวที่ประจุบวก)
Trig pin --> Digital Pin 12
Echo pin --> Digital Pin 11
GRND --> GRND (แถวที่ประจุลบ)
ดูง่ายใช่ไหม - แต่เดี๋ยวก่อน! มีข้อควรระวังอย่างหนึ่ง -- สายไฟสำหรับ Sensor ต้องประกอบด้วยสายไฟเล็กๆ อย่างน้อยสามเส้นต่อกัน เนื่องจากต้องต่อสายให้ยาวไปถึงและติด Sensor ไว้ที่ก้นห่วงบาสเกตบอล
เยี่ยมมาก! คุณได้ทำส่วนฮาร์ดแวร์ของโปรเจกต์นี้เสร็จสมบูรณ์แล้ว ตอนนี้ไปที่ส่วนของโค้ดกัน
ขั้นตอนที่ 3: โค้ด
ฉันจะมีคำแนะนำทีละขั้นตอนเกี่ยวกับโค้ดด้านล่างนี้ แต่ก่อนอื่น ให้คัดลอกและวางโค้ดลงใน Arduino IDE
const int trig_pin = 12;
const int echo_pin = 11;
const int buzzer_pin = 6;
int distance_cm;
long duration;
ในส่วนนี้ เรากำลังกำหนดตัวแปรต่างๆ จำ Digital pins ได้ไหม? ตรงนี้เรากำลังระบุว่า Trig pin อยู่ที่ขา 12, Echo pin อยู่ที่ขา 11 และ Buzzer pin อยู่ที่ขา 6 เรากำลังวัดระยะทางด้วย Sensor ในหน่วยเซนติเมตร และระยะเวลาของมันถูกระบุว่าเป็น "long"
void setup()
{
//Setting up the sensor
pinMode(trig_pin, OUTPUT);
pinMode(echo_pin, INPUT);
pinMode(buzzer_pin, OUTPUT);
}
ในส่วนนี้ เรากำลังตั้งค่า Sensor เพื่อให้ละเอียดขึ้น เรากำลังตั้งค่า Trigger pin (ขาที่ส่งสัญญาณว่ามีการตรวจจับบางอย่าง) เป็น Output และ Echo pin (ขาที่ใช้ตรวจจับ) เป็น Input ซึ่งจำเป็นสำหรับโปรเจกต์เกือบทุกชนิดที่ใช้ Sensor นี้
void loop()
{
//Sensor detecting movement
digitalWrite(trig_pin, LOW);
delayMicroseconds(2);
digitalWrite(trig_pin, HIGH);
delayMicroseconds(10);
digitalWrite(trig_pin, LOW);
duration = pulseIn(echo_pin, HIGH);
distance_cm = (duration*0.034)/2.0;
//If the movement is far away, do not turn the buzzer on
if (distance_cm >= 10 || distance_cm <= 0)
{
digitalWrite(buzzer_pin, LOW);
}
//Otherwise, turn the buzzer on
else
{
digitalWrite(buzzer_pin, HIGH);
}
}
บรรทัดแรกๆ ที่ระบุว่า "Sensor detecting movement" คือการตั้งค่าว่า Sensor ตรวจจับการเคลื่อนไหวอย่างไร
คำสั่ง if ระบุว่าหากการเคลื่อนไหวอยู่ไกลออกไป จะไม่เปิด Buzzer (ตามที่กล่าวไว้) อย่างไรก็ตาม ส่วน "else" หมายความว่าหากอยู่ใกล้ Buzzer ควรจะเปิดอยู่
และนั่นคือโค้ดทั้งหมด! ตอนนี้ไปที่การติดตั้งกันเลย! :)
ขั้นตอนที่ 4: การติดตั้ง

โอเค ตอนนี้เรามาติดตั้งทางกายภาพกัน โปรเจกต์นี้อาจจะดูไม่ซับซ้อนนัก แต่ด้วยความคิดสร้างสรรค์และงานฝีมือเล็กน้อย คุณก็สามารถสร้างสรรค์ผลงานที่ยอดเยี่ยมเพื่อความสนุกสนานได้

ขั้นตอนสำคัญเดียวในกระบวนการนี้คือการใช้เทปติด Sensor ลงไปที่ก้นถัง ตรวจสอบให้แน่ใจว่าสายไฟอยู่ในแนวตรง และใช้เทปติดสายไฟให้เรียบร้อยด้วย
