สารบัญ:

Bike Simulator พร้อมการปรับความเร็วตามเวลาจริง: 5 ขั้นตอน
Bike Simulator พร้อมการปรับความเร็วตามเวลาจริง: 5 ขั้นตอน

วีดีโอ: Bike Simulator พร้อมการปรับความเร็วตามเวลาจริง: 5 ขั้นตอน

วีดีโอ: Bike Simulator พร้อมการปรับความเร็วตามเวลาจริง: 5 ขั้นตอน
วีดีโอ: ซิ่งจักรยานที่เร็วที่สุด Roblox Bike Race Simulator 2024, พฤศจิกายน
Anonim
Bike Simulator พร้อมการปรับความเร็วตามเวลาจริง
Bike Simulator พร้อมการปรับความเร็วตามเวลาจริง

โปรเจ็กต์นี้ใช้สวิตช์กกแม่เหล็กเพื่อสร้างมาตรวัดความเร็วและควบคุมความเร็ววิดีโอของวิดีโอการปั่นจักรยานคนแรกบน YouTube หรือสื่ออื่นๆ Arduino คำนวณ mph แล้วใช้ข้อมูลนั้นเพื่อจำลองการกดปุ่มคอมพิวเตอร์ การกดปุ่มนี้ จับคู่กับส่วนขยายของ Google Chrome จะเพิ่มความเร็วหรือลดความเร็วของวิดีโอตามการเปลี่ยนแปลงของความเร็ว มีการตั้งค่าฮาร์ดแวร์พื้นฐานที่ผู้ที่เพิ่งเริ่มใช้งาน Arduino สามารถสร้างได้ด้วยตัวเอง

รหัสมาตรวัดความเร็วเป็นไปตามโครงการนี้:

รายการฮาร์ดแวร์:

1. Arduino Leonardo

2. สาย Micro USB (ต้องมีความสามารถในการถ่ายโอนไฟล์และ < 3 ฟุต)

3. สวิตช์กกแม่เหล็ก

4. ตัวต้านทาน 10k โอห์ม

5. สายเกจ 22 เส้น (<4 ฟุต)

6. หัวแร้ง

7. ประสาน

8. เทปพันสายไฟ

9. ซิปผูก

10. ขาตั้งจักรยานแบบอยู่กับที่

11. จักรยาน

ขั้นตอนที่ 1: ดาวน์โหลดซอฟต์แวร์ที่เกี่ยวข้องลงในคอมพิวเตอร์ของคุณ

1. Arduino IDE

2. ตัวควบคุมความเร็ววิดีโอ (ส่วนขยายเว็บเบราว์เซอร์)

NS. Google Chrome

NS. Firefox

ขั้นตอนที่ 2: ฮาร์ดแวร์

ฮาร์ดแวร์
ฮาร์ดแวร์
ฮาร์ดแวร์
ฮาร์ดแวร์
ฮาร์ดแวร์
ฮาร์ดแวร์

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

ขั้นตอนที่ 3: วางจักรยานบนขาตั้งจักรยานแบบอยู่กับที่

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

ขั้นตอนที่ 4: อัปโหลดและทดสอบโค้ด Arduino

อัปโหลดและทดสอบโค้ด Arduino
อัปโหลดและทดสอบโค้ด Arduino

หากคุณเพิ่งเริ่มใช้ Arduino IDE หน้าแนะนำสามารถพบได้ที่นี่ สิ่งสำคัญคือต้องสังเกตว่า Leonardo ต้องใช้สายเคเบิล micro-USC เพื่ออัปโหลดที่มีความสามารถในการถ่ายโอนไฟล์ สาย micro-USB จำนวนมากใช้สำหรับชาร์จเท่านั้นและจะใช้ไม่ได้ เมื่อคอมพิวเตอร์รู้จัก Arduino Leonardo ให้คัดลอกและวางและอัปโหลดรหัสต่อไปนี้:

//รหัสนี้ค้นหาความเร็วของจักรยานและแปลงเป็นแป้นพิมพ์คอมพิวเตอร์โดยกด

//การคำนวณ

//รัศมียาง ~ 13.5 นิ้ว // เส้นรอบวง = pi*2*r =~85 นิ้ว //ความเร็วสูงสุด 35mph =~ 616inches/วินาที //max rps =~7.25

#รวม

#define กก A0//พินเชื่อมต่อกับสวิตช์อ่าน

//ตัวแปรการจัดเก็บ

int reedVal; จับเวลานาน;// เวลาระหว่างการหมุนเต็มหนึ่งครั้ง (เป็นมิลลิวินาที) float mph; รัศมีลูกลอย = 13.5;// รัศมีวงล้อ (นิ้ว) เส้นรอบวงลูกยาง; ลอย vก่อนหน้า; อัตราการลอยตัว;

int maxReedCounter = 100;//นาที (เป็นมิลลิวินาที) ของการหมุนหนึ่งครั้ง (สำหรับการหักออก)

int กกเคาน์เตอร์;

การตั้งค่าเป็นโมฆะ (){

reedCounter = maxReedCounter; เส้นรอบวง = 2*3.14*รัศมี; pinMode(กก, INPUT); แป้นพิมพ์.begin(); // TIMER SETUP- การขัดจังหวะตัวจับเวลาช่วยให้สามารถวัดเวลาได้อย่างแม่นยำของสวิตช์กก // สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่าของตัวจับเวลา arduino โปรดดูที่ https://arduino.cc/playground/Code/Timer1 cli();// หยุดการขัดจังหวะ

// ตั้งเวลา 1 ขัดจังหวะที่ 1kHz

TCCR1A = 0; // ตั้งค่าการลงทะเบียน TCCR1A ทั้งหมดเป็น 0 TCCR1B = 0; // เหมือนกันสำหรับ TCCR1B TCNT1 = 0; // ตั้งค่าตัวจับเวลาเพื่อเพิ่มทีละ 1khz OCR1A = 1999;// = (1/1000) / ((1/(16*10^6))*8) - 1 // เปิดโหมด CTC TCCR1B |= (1 < < WGM12); // ตั้งค่าบิต CS11 สำหรับ 8 prescaler TCCR1B |= (1 << CS11); // เปิดใช้งานตัวจับเวลาเปรียบเทียบการขัดจังหวะ TIMSK1 |= (1 << OCIE1A); sei();// อนุญาตการขัดจังหวะ // END TIMER SETUP Serial.begin (9600); }

ISR (TIMER1_COMPA_vect) {// ขัดจังหวะที่ความถี่ 1kHz เพื่อวัดสวิตช์กก

reedVal = digitalRead (กก); // รับค่า A0 ถ้า (reedVal) {// ถ้าสวิตช์กกปิดถ้า (reedCounter == 0){// เวลานาทีระหว่างพัลส์ผ่านไปแล้ว vprevious = mph; ล่าช้า (500); mph = (56.8*float(circumference))/float(timer);// คำนวณไมล์ต่อชั่วโมงตัวจับเวลา = 0;// รีเซ็ตตัวจับเวลา reedCounter = maxReedCounter; // รีเซ็ต reedCounter } else{ ถ้า (reedCounter > 0){// อย่าปล่อยให้ reedCounter เป็นค่าลบ reedCounter -= 1;// ลดค่า reedCounter } } } else{// ถ้าสวิตช์กกเปิดอยู่ ถ้า (reedCounter > 0){// อย่าให้ reedCounter ลบ reedCounter -= 1;/ /decrement reedCounter } } if (timer > 2000){ mph = 0;// if no new pulses from reed switch- ยางยังคงอยู่ ให้ตั้งค่า mph เป็น 0 vprevious = 0; } อื่น{ ตัวจับเวลา += 1;// ตัวจับเวลาที่เพิ่มขึ้น } }

โมฆะ controlComp(){

if (vprevious mph) // ลดความเร็ววิดีโอ { Keyboard.press ('s'); Keyboard.releaseAll(); ล่าช้า (750); } if (vprevious == mph) //ไม่ทำอะไรเลย {; } } void loop(){ //print mph สองครั้งต่อวินาที Serial.print("VPrevious:"); Serial.print("\t"); Serial.println(vprevious);

Serial.print("ไมล์ต่อชั่วโมง:");

Serial.print("\t"); Serial.println (ไมล์ต่อชั่วโมง); controlComp(); }

เมื่ออัปโหลดรหัสสำเร็จแล้ว ให้เปิดจอภาพอนุกรม หากไม่มีการเคลื่อนไหวของล้อหลัง "MPH" และ "VPrevious" ควรเป็น 0.00 หมุนวงล้อเพื่อเร่งความเร็วสักสองสามรอบแล้วลดความเร็วลง จอภาพควรอ่านความเร็วและพิมพ์ d สำหรับการเร่งความเร็ว และ s สำหรับการชะลอตัว หากไม่มีค่าปรากฏขึ้นเมื่อหมุนวงล้อ สวิตช์กกอาจตรวจไม่พบแม่เหล็ก ตรวจสอบให้แน่ใจว่าแม่เหล็กมีความแข็งแรงเพียงพอโดยฟังเสียง * เสียงกริ๊ก * เมื่อแม่เหล็กผ่านสวิตช์

ขั้นตอนที่ 5: ตั้งค่าตัวควบคุม YouTube

ตั้งค่าตัวควบคุม YouTube
ตั้งค่าตัวควบคุม YouTube

ขั้นตอนสุดท้ายคือการนำวิดีโอ YouTube ที่คุณต้องการใช้เพื่อติดตามบนจักรยานของคุณ แนวคิดคือการมีวิดีโอมุมมองบุคคลที่หนึ่งที่คุณสามารถดื่มด่ำอย่างเต็มที่และเพลิดเพลินกับทิวทัศน์ขณะขี่จักรยาน ฉันได้ปฏิบัติตามเพลย์ลิสต์ YouTube ของตัวเลือกวิดีโอต่างๆ มีตั้งแต่ช่องต่างๆ ที่อัปโหลดวิดีโอที่ตรงกับเกณฑ์ของบุคคลที่หนึ่ง พวกเขายังเป็นวิดีโอเช่นการบินผ่านก้อนเมฆและการเดินทางโดยรถไฟข้ามประเทศสำหรับการผจญภัยคนแรกที่หลากหลาย

แนะนำ: