สวัสดีวันผู้อ่านที่รักบทความของฉันวันนี้ในบทความนี้ฉันอยากจะบอกวิธีการประกอบเกม "ชักเย่อ" ใน arduino
นี่คือสิ่งที่คุณต้องการ:
1. Arduino Uno
2.2 คอนเดนเซอร์สำหรับ 0.1 microfarads
3.14 ตัวต้านทาน 220 โอห์ม
4. LED scale หรือ 10 LEDs ที่ 3 volts
5. เขียงหั่นขนม
6. ปุ่มนาฬิกา 2 ปุ่ม
7. ทวีตเตอร์แบบ piezo
8. ทริกเกอร์กลับหัวซมิต
9. สายจัมเปอร์
ดังนั้นก่อนอื่นเรามาเขียนโปรแกรม arduino กัน
นี่คือภาพร่าง:
ต่อไปเรารวบรวมทุกอย่างตามแบบแผนนี้:
คุณควรได้รับสิ่งนี้:
หลังจากที่ "เชือก" ได้ย้ายไปยังด้านที่ 1 ของผู้เล่นเกมจบลงคุณสามารถเริ่มต้นใหม่ได้โดยกดปุ่มบนตัว Arduino
ฉันหวังว่าคุณจะสนุกกับโครงการนี้และกับ DeNiS Geek pro100 ball ของคุณตอนนี้!
นี่คือสิ่งที่คุณต้องการ:
1. Arduino Uno
2.2 คอนเดนเซอร์สำหรับ 0.1 microfarads
3.14 ตัวต้านทาน 220 โอห์ม
4. LED scale หรือ 10 LEDs ที่ 3 volts
5. เขียงหั่นขนม
6. ปุ่มนาฬิกา 2 ปุ่ม
7. ทวีตเตอร์แบบ piezo
8. ทริกเกอร์กลับหัวซมิต
9. สายจัมเปอร์
ดังนั้นก่อนอื่นเรามาเขียนโปรแกรม arduino กัน
นี่คือภาพร่าง:
#define BUZZER_PIN 0
#define FIRST_BAR_PIN 4
#define BAR_COUNT 10
#define MAX_SCORE 20
// ตัวแปรกลางที่ใช้ในการขัดจังหวะ (ดูด้านล่าง)
// ต้องทำเครื่องหมายว่าไม่เสถียร (เปลี่ยนแปลงได้)
คะแนน int ระเหย = 0;
การตั้งค่าเป็นโมฆะ ()
{
สำหรับ (int i = 0; i & lt; BAR_COUNT; ++ i)
pinMode (i + FIRST_BAR_PIN, OUTPUT);
pinMode (BUZZER_PIN, OUTPUT);
// การขัดจังหวะ (การขัดจังหวะภาษาอังกฤษ) หยุดการทำงานหลัก
// โปรแกรมดำเนินการฟังก์ชันที่ระบุแล้วดำเนินการต่อ
// โปรแกรมหลัก เราต้องการการขัดจังหวะด้วยการคลิกปุ่ม
// i.e. เมื่อเปลี่ยนสัญญาณจากสูงไปต่ำคือเช่น บน
// ด้านหน้า (ตกลง) ด้านหน้า
attachInterrupt (INT1, pushP1, FALLING); // INT1 คือพินที่ 3
attachInterrupt (INT0, pushP2, FALLING); // INT0 คือพินที่ 2
}
เป็นโมฆะ pushP1 () คะแนน {++; } // ฟังก์ชั่นการขัดจังหวะผู้เล่นคนที่ 1
ถือเป็นโมฆะ pushP2 () {- คะแนนสูงสุด; } // ฟังก์ชั่นผู้เล่นคนที่สองขัดจังหวะ
เป็นโมฆะห่วง ()
{
เสียง (BUZZER_PIN, 2000, 1,000); // ให้สัญญาณเริ่มต้น
// ในขณะที่ไม่มีผู้เล่นคนใดชนะเราอัปเดต“ rope”
ในขณะที่ (abs (คะแนน) & lt; MAX_SCORE) {
int bound = map (คะแนน, -MAX_SCORE, MAX_SCORE, 0, BAR_COUNT);
int left = min (ถูกผูกไว้ BAR_COUNT / 2 - 1);
int right = max (ถูกผูกไว้ BAR_COUNT / 2);
สำหรับ (int i = 0; i & lt; BAR_COUNT; ++ i)
digitalWrite (i + FIRST_BAR_PIN, i & gt; = left && i & lt; = right);
}
โทน (BUZZER_PIN, 4000, 1,000); // ให้สัญญาณแห่งชัยชนะ
ในขณะที่ (จริง) {} // "ระงับ" บอร์ดจนกว่าจะรีบูต
}
ต่อไปเรารวบรวมทุกอย่างตามแบบแผนนี้:
คุณควรได้รับสิ่งนี้:
หลังจากที่ "เชือก" ได้ย้ายไปยังด้านที่ 1 ของผู้เล่นเกมจบลงคุณสามารถเริ่มต้นใหม่ได้โดยกดปุ่มบนตัว Arduino
ฉันหวังว่าคุณจะสนุกกับโครงการนี้และกับ DeNiS Geek pro100 ball ของคุณตอนนี้!